Orthogonal Array Generation for Software Test Case Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Software testing of complex systems faces challenges in identifying an optimum number of test cases for maximum coverage, selecting test case contents, providing distributed coverage, and managing large numbers of test cases, especially in multi-variable systems.
Innovation Solution
A system and method for generating an orthogonal array (OA) for software testing, which involves an architecture with modules for input acceptance, iteration and interaction table generation, iteration determination, transformation, level validation, and output processing to create test cases that cover pair-wise interactions between system components and their states.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If manual test case generation is used, then test case selection can be based on tester expertise and experience, but testing cycle time increases and error proneness increases
Solution Approach 1:
The patent pre-calculates and stores optimal test case combinations in lookup tables before actual testing. The system determines the minimum number of test cases needed for complete coverage in advance, and prepares the test case structure beforehand, so that during execution no time-consuming manual generation or calculation is required.
Solution Approach 2:
The patent creates simplified models or representations of complex test scenarios using orthogonal arrays. These standardized templates can be reused across different testing situations, eliminating the need to manually generate test cases from scratch for each new testing scenario while maintaining comprehensive coverage.
2Reliability
If comprehensive test case coverage is pursued for complex multi-variable systems, then maximum possible coverage is achieved, but the number of test cases becomes extremely large and difficult to manage
Solution Approach 1:
The patent applies orthogonal array theory to generate only the necessary subset of test cases that provides complete coverage of all variable interactions. Instead of generating all possible test case combinations (which would be excessive), the mathematical framework identifies the minimum set needed to cover all pairwise and higher-order interactions, achieving comprehensive coverage with reduced complexity.
Solution Approach 2:
The patent transforms the testing problem from managing individual test cases to managing parameters of orthogonal arrays (such as strength, indices, and levels). By changing the representation from concrete test cases to abstract array parameters, the system can systematically control and manage test coverage without being overwhelmed by the sheer number of individual test cases.
3Ease of operation
If the number of test cases is reduced for easier management, then test case management becomes simpler, but test coverage may be insufficient
Solution Approach 1:
The patent incorporates coverage analysis that provides feedback on whether the generated orthogonal array achieves complete coverage of all variable interactions. The system can verify mathematically that the reduced set of test cases maintains comprehensive coverage, giving testers confidence that fewer test cases do not mean less coverage.
Solution Approach 2:
The patent pre-determines the optimal number of test cases needed based on the number of variables and their interaction orders. By calculating this in advance using orthogonal array theory, the system establishes beforehand that a specific reduced number of test cases will provide complete coverage, eliminating the trade-off between quantity and coverage adequacy.
Data Source
AI summary
A system and method for generating an orthogonal array (OA) for software testing is disclosed. In one embodiment, the method for generating an OA of test cases for testing a system includes accepting a user input from a user, the user input including multiple factors and multiple levels associated with the system, accessing a reference table to determine a set of parameters based on the user input for testing each level of a factor against all levels of all other factors in the system, and performing a predetermined number of iterations based on the set of parameters to generate the OA of the test cases. The OA of the test cases includes combinations of the multiple factors and the multiple levels required for testing pair-wise interactions between the multiple levels and the multiple factors in the system.


