Wenjun Bao, PhD, JMP Manager of Development Testing, SAS Joseph Morgan, JMP Senior Software Developer, SAS joseph.morgan
JMP Genomics offers scientists a sophisticated statistical software environment to analyze large data sets generated from genomics and genetics studies. JMP Genomics currently provides over 200 analytical procedures (APs). Each AP is accessed by a graphical user interface (GUI). These APs provide a rich set of options, accessible from a variety of GUI controls that allow users to easily tailor an analysis to the available data. Validation of these procedures can be a very time-consuming exercise, given the complexity of the interfaces and the combinatorial nature of the available options. For example, the analysis of variance (ANOVA) AP consists of 21 GUI controls, with each control offering from two to 15 options. Exhaustive testing would require about 17 billion test scenarios. If we assume that each scenario requires five seconds for conducting and evaluating the test, approximately 2651 years would be needed to complete one set of tests. Exhaustive testing is therefore impossible. Fortunately, factor covering designs can be used to dramatically reduce the required number of testing scenarios without adversely affecting testing quality. In fact, this approach to deriving testing scenarios for validating software can be almost as effective as exhaustive testing, but at a dramatically reduced cost. As a result, factor covering designs and equivalence partitioning play a central role in improving the efficiency and effectiveness of the JMP Genomics validation.