The orthogonal Array Testing technique is a statistical approach for testing pair-wise interactions. Most of the defects which I have observed are caused due to interaction and integration.
This interaction or integration can be within different objects, elements, options on a screen of the application, or configuration settings in a file. Such a combination of objects and elements results in the functioning of the application.
Some of the combinations are missed to test which thereby results in insufficient tests. Hence to cover the entire functionality in the testing scope with the correct amount of combinations to be tested, Orthogonal Array Testing is used.
This is a Combinational Test Technique that ensures that the complete functionality of an application is tested with a limited and proportionate amount of combinations under test without compromising on the quality of testing.
The beauty of this technique is that it maximizes the coverage by a comparatively lesser number of test cases. The pairs of parameters that are identified should be independent of each other. It’s a black box technique, so like other BB techniques; we don’t need to have the implementation knowledge of the system. The point here is to identify the correct pair of input parameters.
There are many techniques of CTD, where the OATS (Orthogonal Array Testing Technique) is widely used.
Implementation Techniques of OATS
The Orthogonal Array Testing technique has the following steps:
#1) Decide the number of variables that will be tested for interaction. Map these variables to the factors of the array.
#2) Decide the maximum number of values that each independent variable will have. Map these values to the levels of the array.
#3) Find a suitable orthogonal array with the smallest number of runs. The number of runs can be derived from various websites. One such website is listed here.
#4) Map the factors and levels onto the array.
#5) Translate them into suitable Test Cases
#6) Look out for the leftover or special Test Cases (if any)
After performing the above steps, your Array will be ready for testing with all the possible combinations covered.
Advantages of Orthogonal Array Testing
This technique is beneficial when we have to test with a huge amount of data having many permutations and combinations.
- Less number of Test conditions that require less implementation time.
- Less Execution time.
- Easy Analysis of Test conditions due to less number of Test conditions.
- High coverage of codes.
- Increased overall productivity and ensures that the quality test is performed.
Limitations of OATS
None of the testing techniques provides a guarantee of 100% coverage. Each technique has its way of selecting the test conditions. Along similar lines, there are some limitations to using this technique:
- Testing will fail if we fail to identify the good pairs.
- Probability of not identifying the most important combination which can result in losing a defect.
- This technique will fail if we do not know the interactions between the pairs.
- Applying only this technique will not ensure complete coverage.
- It can find only those defects which arise due to pairs, as input parameters.
Conclusion
Orthogonal Array testing is a systematical and statistical way of testing pair-wise interactions. It is done by deriving small sets of test cases from a large number of scenarios and also by giving precedence to factors and levels that appear multiple times in the combinatorial outputs.
Orthogonal Array testing can be used in our day-to-day application testing by:
- Forming systematic and statistical pair-wise combinations of factors across their levels.
- Creating an optimized test suite with fewer test scenarios and generating negative test case optimization.
- Detecting all single, double, and triple mode defects in the given input combinations.
- Executing a concise set of tests and uncovering most of the bugs.
Now, as you have a clear understanding of the implementation of Orthogonal Array testing, you can easily implement it in your application or webpage which will cover all the aspects of the functionality of the application in a limited number of test cases.
YOU MAY BE INTERESTED IN
The Art of Software Testing: Beyond the Basics
Automation testing course in Pune