2 ms·
I think "does my software fail on random input" is an extremely important test to run, it doesn't matter if a naive MCS doesn't hit the edge cases if it's findi
by GFK_of_xmaspast 13y ago
I think "does my software fail on random input" is an extremely important test to run, it doesn't matter if a naive MCS doesn't hit the edge cases if it's finding failures in the middle of the problem spaces on the regular (I've had jobs where (somebody else's) code works fine on hand-selected test cases, but as soon as you try something a little bit unexpected it goes all to hell.)
You can say that 'oh you should have caught that earlier' and yeah, ok, whatever.
- taeric 13y agoDepends entirely on the system. This is akin to thinking communication will break down if we all switch to different languages. Certainly true, but far from a likely thing to worry about. That is, "random input" is not nearly as important as "likely input." So, the question here would be if you could use a simulation to cover "likely bad" values. Specifically, based on values that have caused previous methods of similar types to fail. I would think certainly. This is, essentially, boundary value testing. (Or am I wrong?) And yes, I realize there are plenty of libraries that help with this. ScalaCheck/QuickCheck and the like.