As the number of configurable attributes of software under test grows and the cardinality of those attributes increases, the efficiency of software verification rapidly declines. This disclosure describes techniques to determine test coverage gaps in multidimensional configuration spaces of substantial cardinality by enabling a software developer to define a set of rules associated with a feature and by forming a Boolean algebra over a coverage matrix that defines the required test coverage. Test coverage is tracked and presented on a dashboard. Release can be blocked automatically if the test coverage gap is beyond a threshold. Based on the coverage matrix, untested combinations of configurations can be detected and individual compatibility tests to verify functionality can be designed. By dynamically maintaining the allowed values of the configuration space, intelligent prioritization of coverage becomes possible. Software testability is sustained in the face of exponential dimensional growth.
Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.
Kenison, Matt; Bagwell, Justin; Sampson, Tylor; and Meade, Mike, "Validating Software Functionality Across Combinations of Runtime Configurations", Technical Disclosure Commons, (December 12, 2022)