A system by which a software product may be tested on multiple client
computers on various platforms. Product developers submit requests for
tests on their products, in the form of test packets, to a test
component, via an API. For each platform and language (i.e., group) on
which a product developer wants a product tested, the product developer
provides a test packet that defines tests that the product developer
wants conducted on the product in that group. The test component
searches, via an autolab component, for an available client machine for
performing the tests in the test packet. The autolab component finds an
available client computer, and the client machine is assigned the test
packet. The client machine performs the tasks in the test packet, and
forwards the results back to the test component.