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.
Robby On Sun, Jan 24, 2010 at 1:10 AM, David Herman <[email protected]> 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 > > _________________________________________________ For list-related administrative tasks: http://list.cs.brown.edu/mailman/listinfo/plt-dev
