1. A method for testing a software product comprising: obtaining a performance matrix for the software product, the performance matrix containing the profile results of a plurality of tests on the software product, and an expected result vector for the plurality of tests; and executing a test sequence for the software product comprising selecting a subset of the plurality of tests, running the test subset to obtain a new result vector for the test subset, comparing the new result vector entry with the expected result vector entry for the same test, selecting a test according to the outcome of the result vector comparison and the performance matrix, and running the selected test under profile.