US2007214391A1PendingUtilityA1

Method and apparatus for testing software

Assignee: IBMPriority: Mar 10, 2006Filed: Mar 10, 2006Published: Sep 13, 2007
Est. expiryMar 10, 2026(expired)· nominal 20-yr term from priority
G06F 11/368G06F 11/3688
48
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Techniques are provided for testing new software slated to be deployed on a target machine population with a number of target machines having a number of existing software programs. Method steps can include obtaining a list of depending software programs on selected ones of the target machines. The list can include those of the existing software programs which depend on the new software and/or those of tile existing software programs on which the new software depends. The steps can further include identifying relevant test cases based on the list of depending software programs, instantiating a plurality of test client platforms characteristic of the target machine population, and testing the relevant test cases on the plurality of test client platforms to identify failures.

Claims

exact text as granted — not AI-modified
1 . 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;  
   identifying relevant test cases based on said list of depending software programs;    instantiating a plurality of test client platforms characteristic of the target machine population; and    testing said relevant test cases on said plurality of test client platforms to identify failures.    
     
     
         2 . The method of  claim 1 , further comprising the additional step of matching said relevant test cases to given ones of said test client platforms.  
     
     
         3 . The method of  claim 2 , further comprising the additional step of collecting test results from said plurality of test client platforms.  
     
     
         4 . The method of  claim 3 , wherein said relevant test cases comprise at least installation test cases and said testing comprises at least testing for installation failures.  
     
     
         5 . The method of  claim 3 , wherein said relevant test cases comprise at least test cases associated with the existing software programs that depend on the new software and said testing comprises at least testing for runtime failures with said test cases associated with the existing software programs that depend on the new software.  
     
     
         6 . The method of  claim 3 , wherein said relevant test cases comprise at least test cases associated with the new software and said testing comprises at least testing for runtime failures with said test cases associated with the new software.  
     
     
         7 . The method of  claim 3 , wherein: 
 said relevant test cases comprise at least two of: 
 installation test cases;  
 test cases associated with the existing software programs that depend on the flew software; and  
 test cases associated with the new software; and  
   said testing comprises at least running at least two of said relevant cases in combination.    
     
     
         8 . The method of  claim 7 , further comprising the additional step of generating a list of those of said test client platforms characteristic of the target machine population that experienced at least one of said installation failures and said runtime failures.  
     
     
         9 . The method of  claim 8 , further comprising the additional step of fixing the new software to obtain fixed new software and to address said at least one of said installation failures and said runtime failures.  
     
     
         10 . The method of  claim 9 , further comprising the additional step of repeating at least said obtaining, identifying, instantiating, testing, and generating steps with said fixed new software and with said test client platforms characteristic of the target machine population that experienced at least one of said installation failures and said runtime failures substituted for said plurality of test client platforms characteristic of the target machine population in said instantiating step.  
     
     
         11 . The method of  claim 8 , further comprising the additional step of modifying installation instructions associated with said new software to obtain modified installation instructions and to bypass installation of the new software on those of said machines in the target machine population having a configuration similar to those of said test client platforms that experienced said at least one of said installation failures and said runtime failures.  
     
     
         12 . The method of  claim 11 , further comprising the additional step of repeating said obtaining, identifying, instantiating, testing, and generating steps with said modified installation instructions and with said test client platforms characteristic of the target machine population that experienced at least one of said installation failures and said runtime failures substituted for said plurality of test client platforms characteristic of the target machine population in said instantiating step.  
     
     
         13 . The method of  claim 1 , wherein said obtaining step comprises: 
 generating a set of distinct candidate test client platform configurations based on at least one predetermined criterion;    obtaining first software dependencies for the new software;    obtaining second software dependencies for the plurality of existing software programs; and    selectively combining said dependencies to obtain said list of depending software programs.    
     
     
         14 . The method of  claim 13 , further comprising the additional step of pruning said list of distinct candidate test client platform configurations to eliminate those of said distinct candidate test client platform configurations that satisfy at least one of the following: 
 do not employ at least one of the new software and the existing software programs on which the new software depends;    are found on a predetermined exclusion list; and    are determined by rule-based criteria to qualify for exclusion from test.    
     
     
         15 . The method of  claim 1 , further comprising the additional steps of: 
 monitoring the target machine population to detect changes to the target machine population during said testing; and    dynamically updating said plurality of test client platforms, responsive to said changes detected during said monitoring.    
     
     
         16 . A computer program product comprising a computer useable medium having computer useable program code 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 computer program product including: 
 computer useable program code for 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;  
   computer useable program code for identifying relevant test cases based on said list of depending software programs;    computer useable program code for instantiating a plurality of test client platforms characteristic of the target machine population; and    computer useable program code for testing said relevant test cases on said plurality of test client platforms to identify failures.    
     
     
         17 . The computer program product of  claim 16 , wherein said product further comprises computer useable program code for matching said relevant test cases to given ones of said test client platforms.  
     
     
         18 . The computer program product of  claim 17 , wherein said product further comprises computer useable program code for collecting test results from said plurality of test client platforms.  
     
     
         19 . An apparatus 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, comprising: 
 a memory; and    at least one processor coupled to said memory and operative to: 
 obtain a list of depending software programs on selected ones of the target machines, said list comprising: 
 those of the existing software programs which depend on the new software; and  
 those of the existing software programs on which the new software depends;  
 
 identify relevant test cases based on said list of depending software programs;  
 instantiate a plurality of test client platforms characteristic of the target machine population; and  
 test said relevant test cases on said plurality of test client platforms to identify failures.  
   
     
     
         20 . The apparatus of  claim 19 , wherein said processor is further operative to match said relevant test cases to given ones of said test client platforms.

Join the waitlist — get patent alerts

Track US2007214391A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.