Orthogonal Array Generation for Software Test Case Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvetest case selection qualityVSAvoidtesting cycle time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #26Copying

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

Engineering Contradiction:
Improvetest coverage completenessVSAvoidtest case management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #16Partial or excessive action

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improvetest case management easeVSAvoidtest coverage adequacy
Core Design Contradiction:
Ease of operationVSReliability

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.

Inventive Principle:
Principle #23Feedback

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7925929B2System and method for generating an orthogonal array for software testing
Publication Date: 2011.04.12 WIPRO LTD
  • US7925929B2 patent drawing
  • US7925929B2 patent drawing
  • US7925929B2 patent drawing

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.