Patent ID: 8850393

Claim:
A method for testing new software to be deployed on a target machine population having a plurality of target machines, the target machines having a plurality of existing software programs, said method comprising the steps of: obtaining a list of depending software programs on selected ones of the target machines, said list comprising: those of the existing software programs that depend on the new software; and those of the existing software programs on which the new software depends, wherein said obtaining step comprises: generating a set of distinct candidate test client platform configurations based on at least one predetermined criterion; obtaining a list of two or more test client platforms, wherein each test client platform defines a configuration of a client platform, wherein said obtaining the list of the two or more test client platforms comprises: collecting platform configurations for each of the distinct candidate test client platform configurations in the set from a plurality of repositories; identifying relevant test cases based on said list of depending software programs; grouping the two or more test client platforms into groups based on at least one of hardware and software similarities; selecting a test client platform from each group to represent the group, wherein the set of distinct candidate test client platform configurations is comprised of the selected test client platforms; instantiating one or more of the selected test client platforms, wherein the one or more instantiated test client platforms are characteristic of the target machine population; testing said relevant test cases on said one or more instantiated test client platforms to identify failures; monitoring the target machine population to detect changes to the target machine population during said testing; and dynamically updating said list of two or more test client platforms, said relevant test cases and said grouping responsive to said changes detected during said monitoring.