An intelligent test system for testing software code is provided. The
intelligent system includes a profiled software component, a test
executor, a database, a database updater, and a data analyzer/optimizer.
The test executor creates a coverage data by using the profiled software
component to execute a plurality of test cases of a test suite. The
database stores the coverage data and the database updater is configured
to store the coverage data into the database. The data analyzer/optimizer
analyzes the coverage data contained in the database to find test cases
affected by a modification to the software code. The data
analyzer/optimizer also optimizes the test cases affected by the
modification by selecting fewer test cases that satisfy a criteria. The
test executor uses the test cases that satisfy the criteria to test the
modification to the software code.