# Orthogonal Array Test

What is ?
It’s used for small number of inputs, but with exhaustive number of possibilities. It’s a black box testing with systematic and statistics techniques so, you don’t need to have the knowledge of the implementation of the system. The main aim is maximize the coverage by comparatively lesser number of test cases

Orthogonal arrays can be applied in user interface testing, system testing, regression testing, configuration testing and performance testing.

What are the benefits ?

Remember Pairwise? So, the benefits are the same, you will have a precisely test. 100% of Orthogonal Tests implies 100% of Pairwise.

• Precise tests
• Generate TestCases more quickly and cheaply
• Increase coordination among the team
• Easy for managers measure the team’s performance
• Make the analysis simple
• Isolate defects

Why don’t use it ?

Well, as any other technique we can find some negative points:

• Testing will fail if you 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 you do not know the interactions between the pairs
• Applying only this technique will not ensure the complete coverage
• It can find only those defects which arise due to pairs, as input parameters

So, you need to choose wisely because not all the applications will suit in this technique, this depends of the behaviour of your application. You need to measure the priority points of the project as well, like if you want to cover 100% of the tests of cover a good part of the tests and save a lot of time…

How to use it ?

1. Identify the independent variables. These will be referred to as “Parameter x”
2. Identify the values which each variable will take. These will be referred as “Test Case x”
3. Search for an orthogonal array that has all the factors from step 1 and all the levels from step 2
4. Map the factors and levels with your requirement
5. Translate them into the suitable test cases
6. Look out for the left over or special test cases (if any)

Examples:

```If we have 3 parameters, each can have 3 values then the possible Number
of tests using conventional method is 3^3 = 27
While the same using OAT, it boils down to 9 test cases.``` ```The array is orthogonal, because all possible pair-wise combinations
between parameters occurs only once.```
```The given L9 Orthogonal Array assess result of test cases as follows:

Single Mode Faults - Single mode faults occur only due to one parameter.
For example, in above Orthogonal array if test cases 7, 8 and 9 show error
, we can expect that value 3 of parameter 1 is causing the error.
Likewise we can detect as well as isolate the error.

Double Mode Fault - Double mode fault is caused by the two specific
parameters values interacting together. Such an interaction is a
harmful interaction between interacting parameters.

Multimode Faults - If more than two interacting components produce the
consistent erroneous output, then it is a multimode fault.
Orthogonal array detects the multimode faults.```

As always, if you have any suggestion or question please feel free to comment below.

Thank you ! See you next week 🙂

References:

http://www.tutorialspoint.com/software_testing_dictionary/orthogonal_array_testing.htm

http://www.softwaretestinghelp.com/combinational-test-technique/

https://en.wikipedia.org/wiki/Orthogonal_array_testing