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