Method and system for generating test matrices for software programs
First Claim
1. A computer implemented 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 anyone of the set of values is considered representative of the equivalence class with regard to verifying proper operation of the program module such that each one of the set of values has the same behavioral result in the context of a particular use 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 such that each group within a cluster is a formalization of a conditional relation between the parameter elements of 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
38 Claims
-
1. A computer implemented 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 anyone of the set of values is considered representative of the equivalence class with regard to verifying proper operation of the program module such that each one of the set of values has the same behavioral result in the context of a particular use 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 such that each group within a cluster is a formalization of a conditional relation between the parameter elements of 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 computer implemented 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, wherein the first set of parameters exhibit cross-influence behavior between one another with regard to execution of the program module, the assigning step comprising the sub-steps of; first selecting, for the first cluster, a group, which is a formalization of a conditional relation between the parameter elements of a cluster, 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 with regard to verifying proper operation of the program module such that the representative value has the same behavioral results in the context of a particular use of the program module as other values 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, wherein the first set of parameters exhibit cross-influence behavior between one another with regard to execution of the program module, the assigning step comprising the sub-steps of; first selecting, for the first cluster, a group, which is a formalization of a conditional relation between the parameter elements of a cluster, 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 with regard to verifying proper operation of the program module such that the representative value has the same behavioral results in the context of a particular use of the program module as other values 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)
-
Specification