A test coverage tool provides output that identifies differences between
the actual coverage provided by a test suite run on a program under test
and the coverage criteria (e.g., the coverage criteria required by the
test/development team management). The output from the test coverage tool
is generated in the same language that was used to write the coverage
criteria that are input to an automated test generator to create the test
cases which form the test suite. As a result, the output from the
coverage tool can be input back into the automated test generator to
cause the generator to revise the test cases to correct the inadequacies.
This allows iterative refinement of the test suite automatically,
enabling automated test generation to be more effectively and efficiently
used with more complex software and more complex test generation
inputs.In preferred embodiments, test coverage analysis results of
several different test suites, some manually generated and others
automatically generated, are used to produce a streamlined
automatically-generated test suite and/or to add missing elements to an
automatically generated test-suite.