Patent ID: 8140897

Claim:
A method of testing a complex system composed of multiple components comprising: providing a test log for each component, each test log comprising a list of tests for a corresponding component and respective test routines for each of the tests, wherein each of the test routines is arranged to cause a particular failure in the corresponding component, to determine whether the particular failure has occurred in the corresponding component, to provide recovery of the corresponding component from the particular failure, and to generate a signal indicating the occurrence of the particular failure if the corresponding component recovers, wherein the test log and the test routines are provided by the developer of the corresponding component, and wherein the test log for the corresponding component is stored internally within the corresponding component; activating the test logs for all components of the complex system; commencing a test procedure of the complex system; for each component, attempting to run the test routines in the test log associated with the component, wherein upon detecting a fail situation, the test log is updated to signify a failure has occurred; terminating the test procedure of the complex system; and creating a test report based upon an output of the test routines, wherein the test report comprises, for each of the test routines, information on whether the each of the test routines operated, and information on whether the each of the test routines returned a failure, wherein the information on whether each of the test routines operated comprises information on whether each of the test routines was able to run to completion.