Method and system for generating test matrices for software programs
First Claim
1. A method for generating a test model facilitating creating a set of test calls for submission to a program module that includes an interface definition identifying a set of input parameters, the method comprising the steps of:
- defining equivalence classes for each one of the set of input parameters, each equivalence class defining a set of values wherein any one of the set of values is considered representative of the equivalence class with regard to verifying proper operation of the program module;
partitioning the set of input parameters into a set of one or more clusters, wherein input parameters assigned to differing clusters exhibit no cross-influence behavior between one another with regard to execution of the program module; and
generating, a set of groups for each cluster, each group defining a set of parameter elements corresponding to a particular usage of program module input parameters assigned to a cluster, and wherein the set of parameter elements are thereafter used to assign combinations of values to the input parameters in accordance with the parameter elements defined for the particular usage, and the assigned combinations of values are submitted in a call to the program module during a testing procedure.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and data structures are disclosed for a program module (e.g., API) test matrix generator system/process. The disclosed methods and data structures facilitate and carry out a streamlined, yet logically thorough test to verify the proper operation and/or expose errors within the program module under test. The method comprises breaking a set of input parameters to the program module into clusters of related parameters (i.e., parameters whose values affect each other'"'"'s validity regarding the output of the program module). Thereafter, a set of groups, representing different usages of a set of clustered parameters, are identified. After identifying the groups, a set of test calls (or a test matrix) is rendered for the program module. A covering set of test calls for a particular cluster comprises a sum of all logically/operationally distinct input value combinations rendered for each group. Such distinct input value combinations are rendered according to parameter equivalence classes defined for each parameter of each one of the cluster'"'"'s groups. An actual test call includes a representative set of parameter values for a particular selected combination of equivalence classes.
-
Citations
43 Claims
-
1. A method for generating a test model facilitating creating a set of test calls for submission to a program module that includes an interface definition identifying a set of input parameters, the method comprising the steps of:
-
defining equivalence classes for each one of the set of input parameters, each equivalence class defining a set of values wherein any one of the set of values is considered representative of the equivalence class with regard to verifying proper operation of the program module;
partitioning the set of input parameters into a set of one or more clusters, wherein input parameters assigned to differing clusters exhibit no cross-influence behavior between one another with regard to execution of the program module; and
generating, a set of groups for each cluster, each group defining a set of parameter elements corresponding to a particular usage of program module input parameters assigned to a cluster, and wherein the set of parameter elements are thereafter used to assign combinations of values to the input parameters in accordance with the parameter elements defined for the particular usage, and the assigned combinations of values are submitted in a call to the program module during a testing procedure. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for testing a program module according to a test model comprising a set of one or more clusters for which a set of groups are defined, wherein each group defines a set of parameter elements corresponding to a particular usage of program module input parameters assigned to a cluster, and each parameter element comprises a set of equivalence classes for a parameter, the method comprising:
-
creating a set of calls to the program module, wherein the creating step includes, for a call within the set of calls, the further sub-step of;
first assigning a value to each one of a first set of parameters within a first cluster under test, the assigning step comprising the sub-steps of;
first selecting, for the first cluster, a group, second selecting an equivalence class from each one of the set of parameter elements for the selected group, and designating, for each selected equivalence class, a representative value within the selected equivalence class; and
submitting the set of calls containing the designated representative values to the program module under test. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A computer-readable medium including computer-executable instructions for testing a program module according to a test model comprising a set of one or more clusters for which a set of groups are defined, wherein each group defines a set of parameter elements corresponding to a particular usage of program module input parameters assigned to a cluster, and each parameter element comprises a set of equivalence classes for a parameter, the computer-executable instructions facilitating executing the steps of:
-
creating a set of calls to the program module, wherein the creating step includes, for a call within the set of calls, the further sub-step of;
first assigning a value to each one of a first set of parameters within a first cluster under test, the assigning step comprising the sub-steps of;
first selecting, for the first cluster, a group, second selecting an equivalence class from each one of the set of parameter elements for the selected group, and designating, for each selected equivalence class, a representative value within the selected equivalence class; and
submitting the set of calls containing the designated representative values to the program module under test. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
-
39. A structure for maintaining a test model for guiding generating a set of calls to a program module, the structure comprising:
-
a cluster element specifying a set of group elements corresponding to groups defined under a cluster;
for each of the set of group elements, specifying a set of parameter elements; and
wherein each of the set of parameter elements defines a set of equivalence class elements for a particular parameter to which the parameter element corresponds. - View Dependent Claims (40, 41, 42, 43)
-
Specification