The Orthogonal Array (OA) testing technique is a statistical way of reducing the test cases by removing redundant test conditions. A software system works on large number of interactions and integrations. It is very difficult to find out the erring interaction/integrations which the It is observed that major source of the bugs are interactions and integrations.
The bugs in the software are usually caused by a specific Condition independent of other conditions in the system. A condition is a set of conditions or variables, configurations, and logical linking of variables.
Think about testing a simple system, which has four variables and each variable can have 3 inputs. We need 81 cases (3x3x3x3) to test each pair of this system. If we use the OA technique, we will have only 9 cases to test the system where all the pair-wise combination will be validated. It will unearth the combination which is causing the failure in the system.
In the above case, OA technique has reduced the test condition by 89%, i.e. now with 11% of existing test cases all the variable pairs are validated. Interestingly, it will provide 100% coverage of pair combinations, 33% of three way combinations, 11% of four way combinations. Further to reduce the test condition, OA technique can be used on three way and four way combinations.
Use of OA techniques will ensure
- All the pair-wise combinations of the selected variables are validated.
- An effective test set containing with fewer test cases
- Lowers the cost of testing as test cycles are shorter
For one of the client, which is Leader in the Long Term Health Care, OA techniques reduced the potential test cases from approx. 3592 to 1151 i.e. reduced by 68%. Test cycle efforts were reduced from 89 to 29 person days.
Testing team implemented the OA technique on the target system module wise. Testing team listed down the all the test conditions and then broke all the test conditions (if possible) in to the smaller condition where each condition can be tested with a pair of variables. This activity resulted in one OA of for each module. Depending on the count of variables and input values, the size of each OA was different.