A system and method for improved testing of a software build is provided.
The system and method automatically track differences between software
builds by scanning the binaries of a software product to automatically
discover its classes. The system and method then build a detailed
dictionary that captures static and dynamic information of that build,
including class dependencies. A comparison may be made with another
build, so that the present invention may automatically execute selective
tests on any types, and their dependencies, that have had a structural or
behavioral modification since the last build. Testers may load a set of
constructors for any specific types to further increase coverage of types
(or classes) tested. The present invention may also provide detailed
reports that may be used to drive future testing work and target specific
areas of the code for additional testing. The system and method may
further provide code generation from intermediate code to specified
targets to aid in reproducing and fixing bugs.