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.