Patent ID: 7827438

Claim:
A method for testing a distributed computing system using a plurality of test components, the distributed computing system having a plurality of nodes independently and concurrently operable to perform a plurality of processes, a first node configured to perform a first process and a second node configured to perform a second process, the method comprising: setting up a plurality of test services on one or more of the plurality of nodes; setting up a first test component on the first node; setting up a second test component on the second node, the first and second test components comprising independently and concurrently executable computer programs; at runtime of the distributed computing system, independently executing the first and second test component to call a first test service, the first test service facilitating initialization of the first and second test components; based on an initialization status of either the first test component or the second test component or both, determining whether to perform a test of the distributed computing system; when it is determined to perform the test, executing the first test component to call a second test service, the second test service facilitating identification of either the first process or the second process as a first process-under-test; when it is determined to perform the test, independently executing the second test component to call the second test service to facilitate identification of either the first process or the second process as a second process-under-test; executing the first test component to perform a first test scenario against the first process-under-test and to record first information associated with the execution of the first test scenario; independently executing the second test component to perform a second test scenario against the second process-under-test and to record second information associated with the execution of the second test scenario; executing the first test component to analyze the recorded first information to verify performance of the first process-under-test or the distributed computing system or both; and independently executing the second test component to analyze the recorded second information to verify performance of the second process-under-test or the distributed computing system or both.