LectroTest: An automatic, specification-based testing tool for Perl

Posted by Tom Moertel Fri, 10 Sep 2004 16:00:00 GMT

Just a quick note to mention LectroTest, a Perl project I have been working on recently. It’s inspired by QuickCheck for the Haskell programming language. The motivation is that traditional unit testing requires programmers to spell out each and every case to test, which seems like an awful lot of work, much of which probably isn’t necessary. Even so, the payoff of unit testing is real, and we ought to do it. Thus the goal becomes to reduce the pain while keeping the gain.

Rather than working at the level of individual test cases, why not tell the computer about the shape of the “test space” and let the computer generate the cases automatically? That’s what LectroTest does. You declare properties and assert that they hold over a certain test space. LectroTest then generates random cases from within the space and tests your assertion for each. If LectroTest is able to “break” whatever you’re testing, it emits a counterexample that you can feed back into your code to debug the error. (Counterexamples also make for nice regression tests.)

If you write code in Perl and want another option for testing your code, give LectroTest a look.

LectroTest logo robot

Posted in , ,
Tags , ,
no comments
no trackbacks
Reddit Delicious

Comments

Trackbacks

Use the following link to trackback from your own site:
http://blog.moertel.com/articles/trackback/29

(leave url/email »)

   Comment Markup Help Preview comment