System and method for selecting test units to be re-run in software regression testing
First Claim
1. A system for selective regression testing of a software system for determining which test units must be re-run as a result of a revision of the software system from a first software version to a second software version, the system comprising:
- means for generating a first program database comprising entities in the first software version and relationships between said entities in the first software version;
means for generating a second program database comprising entities in the second software version and relationships between said entities in the second software version;
means for comparing said first program database with said second program database to generate an entity difference list comprising entities which were changed by said revision of the software system;
means for generating an entity trace list for each test unit, each entity trace list comprising the entities of the software system which have a dependent relationship with functions executed during execution of said test units;
means for comparing said entity difference list with each of said entity trace lists; and
means for determining which of said test units must be re-run as a result of said comparison of said entity difference list with each of said entity trace lists.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and method for selective regression testing of a software system that determines which test units of a test suite must be re-run after a modification to the software system. The entities which are covered by each test unit are identified. When the software system is modified the entities which were changed by the modification are identified. The test units which need to be re-run are determined by analyzing the change information and the coverage information to select those test units that cover changed entities.
-
Citations
43 Claims
-
1. A system for selective regression testing of a software system for determining which test units must be re-run as a result of a revision of the software system from a first software version to a second software version, the system comprising:
-
means for generating a first program database comprising entities in the first software version and relationships between said entities in the first software version; means for generating a second program database comprising entities in the second software version and relationships between said entities in the second software version; means for comparing said first program database with said second program database to generate an entity difference list comprising entities which were changed by said revision of the software system; means for generating an entity trace list for each test unit, each entity trace list comprising the entities of the software system which have a dependent relationship with functions executed during execution of said test units; means for comparing said entity difference list with each of said entity trace lists; and means for determining which of said test units must be re-run as a result of said comparison of said entity difference list with each of said entity trace lists. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. An apparatus for determining which entities of a software system are covered by a test unit of said software system, said apparatus comprising:
-
a computer processor; means for executing said software system on said computer processor using said test unit; means for generating a program database which comprises entities in said software system; means for generating an entity trace list comprising functions which are executed during execution of the software system using said test unit and entities which have a dependent relationship with said executed functions; and means for comparing said entities in said entity trace list to said entities in said program database to determine which entities in said software system have a dependent relationship with functions executed during execution of said test unit as a result of comparing said entities in said entity trace list to said entities in said program database. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A system for selective regression testing of a software system for determining which test units must be re-run when the software system is revised from a first software version to a second software version, the system comprising:
-
a plurality of test units; a plurality of entity trace lists, each of said entity trace lists associated with one of said test units and comprising entities which have a dependent relationship with functions executed during execution of the associated test unit; a changed entity list comprising a list of entities; and means for comparing said changed entity list with said plurality of entity trace lists; and means for generating a list of test units which must be re-run in order to test the software system as a result of said comparison of said changed entity list with said plurality of entity trace lists;
first software version to a second software version, the method comprising the steps of;generating a first program database comprising entities in the first software version and relationship between said entities in the first software version; generating a second program database comprising entitites in the second software version and relationship between said entities in the second software version; comparing said first program database with said second program database to generate an entity difference list comprising entities which were changed by said revision of the software system; generating an entity trace list for each test unit, each entity trace list comprising the entities of the software system which have a dependent relationship with functions executed during execution of said test units; comparing said entity difference list with each of said entity trace lists to determine which of said test units must be re-run. - View Dependent Claims (17, 18, 19, 20, 21)
-
-
22. A method for selective regression testing of a software system for determining which test units must be re-run as a result of a revision of the software system from a first software version to a second software version, the method comprising the steps of:
-
generating a first program database comprising entities in the first software version and relationship between said entities in the first software version; generating a second program database comprising entities in the second software version and relationship between said entities in the second software version; comparing said first program database with said second program database to generate an entity difference list comprising entities which were changed by said revision of the software system; generating an entity trace list for each test unit, each entity trace list comprising the entities of the software system which are covered by said each test unit; and comparing said entity difference list with each of said entity trace lists to determine which of said test units must be re-run. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A method for determining which entities of a software system are covered by a test unit of said software system, said method comprising the steps of:
-
executing said software system on a computer processor using said test unit; generating a program database which comprises entities in said software system; generating an entity trace list comprising functions which are executed during the execution of the software system using said test unit and entities which have a dependent relationship with said executed function; and comparing said entities in said entity trace list to said entities in said program database; and determining which entities in said software system have a dependent relationship with functions executed during execution of said test unit as a result of comparing said entities in said entity trace list to said entities in said program database. - View Dependent Claims (33, 34, 35, 36)
-
-
37. A method for selective regression testing of a software system comprising the steps of:
-
executing said software system on a computer processor using a plurality of test units and for each of said test units generating a function trace list comprising functions executed during execution of the associated test unit; generating a first program database of said software system comprising entities in the software system and relationships between said entities; and generating an entity trace list for each of said test units, each of said entity trace lists comprising functions in the function trace list for the associated test unit and entities dependent upon said functions. - View Dependent Claims (38, 39, 40, 41, 42, 43)
-
Specification