[plt-dev] random testing, we need to do more of this

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Sun Jan 24 09:04:07 EST 2010

While that is a nice benefit too, I was thinking more of the fact that
randomized testing is way less inhibited than I am. The bugs that it
found were in code that I thought I had tested well in the usual way,
but I had not put the right combinations of images together to expose
this bug.


On Sun, Jan 24, 2010 at 1:10 AM, David Herman <dherman at ccs.neu.edu> wrote:
> I got to have lunch with Jacob last week and he was talking about how QuickCheck really opened his eyes about the value of randomized testing. In particular, he described how it lifts your thinking out of the realm of individual cases to general properties, since you let the engine to the dirty work of generating the cases. IOW, it makes it easier to think about invariants.
> Dave
> On Jan 23, 2010, at 6:06 PM, Robby Findler wrote:
>> Just thought I'd share my coding story of the day.
>> I'm getting ready to make a change to the internal data structure in
>> the image library (normalized shapes; they are a subtype of the full
>> shape data structure that simplifies the structure in certain ways to
>> make it easier to process). So, to get read for this change to the
>> code that produces normalized shapes, I wrote a predicate for
>> normalized shapes and then randomly made up shapes, normalized them,
>> and then checked to see if the result of normalization was, in fact, a
>> normalized shape.
>> And guess what: I had changed the normalized shape slightly a month or
>> so ago and fixed up code in two places incorrectly that this found.
>> This wasn't at all what I was looking for, either!
>> Anyways, yet one more time I've learned that random testing is a big
>> win, so I thought I'd post about it. You should give it a try yourself
>> sometime.
>> Robby
>> _________________________________________________
>>  For list-related administrative tasks:
>>  http://list.cs.brown.edu/mailman/listinfo/plt-dev

Posted on the dev mailing list.