1. A system for automated testing of software, the system comprising a system server component comprising, a test bucket for storing sets of test data, a job receiver process, for accepting test requests from a user, each test request comprising an identifier for selecting test data from the test bucket, a resource process and resource pool for managing system resource data to indicate resources available for software testing on a set of client computer systems, a job execution process for creating test script execution data based on the test data identified in a test request, the job execution process receiving the test request from the job receiver process, the dynamic test script being created upon the resource pool indicating the availability of resources required for the execution of the dynamic test script on one or more of the set of client computer systems, the job execution process initiating testing by forwarding the test execution script data to the appropriate one or more of the set of client computer systems, the system server component further comprising a means for accepting and storing test results from the set of client computer systems.