Orthogonal Array Testing
Orthogonal Arrays (OA) are two-dimensional arrays (i.e., Factors & levels) technique to create test cases. It is useful when the system has to be tested with a wide range of data inputs.
Calculation of OA
OAT = LRuns(LevelsFactors)
Runs (N) – It stands for the number of rows in the array, which further interprets the number of test cases that will be generated.
Factors (K) – It stands for the number of columns in the array which further interprets the maximum number of variables that can be handled.
Levels (V) – It reflects the maximum number of values that can be taken on any single factor.
OA Testing Characteristics
- It is a systematic and statistical approach.
- It generates the permutation of inputs, resulting in test cases with good test coverage.
- Execute well-defined test cases that are likely to uncover most (not all) of bugs.
- It implies good coverage of pairwise testing.
How to perform OA Testing?
The first step is to identify the number of business components which are basically the factors that need to be tested for interaction.
Next step is Composite factoring which suggests optimizing one or more factors into a single factor
Next, map the Factors and values onto the array.
Remove all the illogical combinations
Add a few combinations based on business needs.
Review with the business team for test coverage.
Important concepts related to OATS testing
Two-way iteration: When exhaustive test cases are found for 2 parameters.
Three-way iteration: When exhaustive test cases are found for 3 parameters.
Single Mode Faults – Single-mode faults occur only due to one parameter.
Double Mode Fault – is caused by the 2precise parameter values which interact together.
Multimode Faults –If there are more than 2 interacting components produce consistent inaccurate output, then it is called a multimode fault.
- It makes use of variable pair combination
- Reduces the number of test cases
- Smart Risk-based Testing method
- Creates fewer Test cases which cover the testing of all the combination of all variables.
- A complex combination of the variables can be done.
- Offers uniformly distributed coverage
- It is useful for Integration Testing.
- It improves productivity due to reduced test cycles and testing times.
As the data inputs increase, the complexity of the Test case increases which results in increasing the manual effort and time spent. Hence, the testers have to go for Automation Testing.