A computer-implemented method comprising: receiving a test suite comprising multiple independent test cases for an application; identifying test data (902, 904, 906) for the multiple test cases from the test suite; identifying test steps to be performed for each of the multiple test cases from the test suite; identifying multiple different operating environments for running the independent test cases from the test suite; for each combination of one of the multiple test cases in one of the multiple different operating environments, instantiating an independent test thread (502, 504, 506) comprising a remote test driver; and copying the identified test data (902, 904, 906) from the test suite and the identified test steps for the one of the independent test cases into the remote test driver to create a thread-specific test dataset for the independent test thread; and executing the multiple test cases against each of the multiple different operating environments independently by running the test threads based on the thread-specific test datasets and the remote test drivers, where the test suite comprises a set of test descriptors, where the set of descriptors comprises a test master document and multiple test script descriptors each corresponding to one of the multiple test cases, where each test script descriptor comprises test step entries that specifies test steps for a test case corresponding to the each test script descriptor, where each test step entry comprises a predefined keyword specifying a test action, the predefined keyword carrying literal meaning that is easy to understand by a non-technical person, where each test step entry further comprises a test execution indicator indicating whether the each test step entry is to be performed. receiving a test suite comprising multiple independent test cases for an application; identifying test data (902, 904, 906) for the multiple test cases from the test suite; identifying test steps to be performed for each of the multiple test cases from the test suite; identifying multiple different operating environments for running the independent test cases from the test suite; for each combination of one of the multiple test cases in one of the multiple different operating environments, instantiating an independent test thread (502, 504, 506) comprising a remote test driver; and copying the identified test data (902, 904, 906) from the test suite and the identified test steps for the one of the independent test cases into the remote test driver to create a thread-specific test dataset for the independent test thread; and instantiating an independent test thread (502, 504, 506) comprising a remote test driver; and copying the identified test data (902, 904, 906) from the test suite and the identified test steps for the one of the independent test cases into the remote test driver to create a thread-specific test dataset for the independent test thread; and executing the multiple test cases against each of the multiple different operating environments independently by running the test threads based on the thread-specific test datasets and the remote test drivers, where the test suite comprises a set of test descriptors, where the set of descriptors comprises a test master document and multiple test script descriptors each corresponding to one of the multiple test cases, where each test script descriptor comprises test step entries that specifies test steps for a test case corresponding to the each test script descriptor, where each test step entry comprises a predefined keyword specifying a test action, the predefined keyword carrying literal meaning that is easy to understand by a non-technical person, where each test step entry further comprises a test execution indicator indicating whether the each test step entry is to be performed.