I've sketched a testing strategy and found it useful in developing other
projects. I searched existing Test:: modules and didn't find any with
these features: 

* Procedural testing: Each test script runs a number of tests of some
defined scope evident from the script. (Excludes Test::Class). KISS. 

* Table/data driven testing: A test script contains a minimum of
executable code and is dominated by a table of provided inputs and
expected outputs. 

* Comprehensive testing: Besides expected outputs, STDOUT and STDERR are
captured and tested; exceptions are trapped. Currently, about 6 subtests
of the TAP::Harness ok($bool, $name) form might be made on each
execution of a tested routine. 

* Matrix testing: Given, say, 3 alternate arguments for one parameter
and 4 for another; and given, perhaps, 2 different routines that accept
the same arguments, I wish to see 3 * 4 * 2 * 6 = 144 subtests run in
one test script. This may seem an extreme example but I certainly do not
want to copy-paste-edit 144 scripts. 

* Low buy-in: This framework comes with Test::More-compatible templates
and does not lock the developer-user into a monolithic structure; it
contains tools to simplify test writing but does not obviate
hand-rolling. No novel syntax is introduced; all concepts are
mainstream. Documentation will be clear yet not run to a book. 

I do not have a good name idea for this, except that it should start
with 'Test::'. It may be a bit too much to hope that any single word sum
up the whole but I dislike long identifiers and those of mixed case.
Suggestions are seriously welcome. 

--
-Xiong




Reply via email to