1. A computer-implemented method to perform software testing on a computer system comprising: causing a test execution script to run a first test to test a first component, wherein the test execution script is supported by a script execution platform on a computer system, wherein the first component depends on a second component; retrieving, in runtime, testing information relating to the second component from a database coupled with the computer system, if the first test produces unsatisfactory results relating to performance of the first component; and causing, in runtime, the test execution script to run a second test to test the second component.