What is Orthogonal Array Testing Technique (OATS) Technique?

Combinational Test Technique – Orthogonal Array Testing Technique (OATS)

Combinational test technique, as the name suggests, is a technique of combining the data / entities as input parameters for testing, to increase the scope. This technique is beneficial when we have to test with huge number data having many permutations and combinations.

The beauty of this technique is that, it maximizes the coverage by comparatively lesser number of test cases. The pairs of parameters which are identified should be independent of each other. It’s a black box technique, so like other BB technique; 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 technique of CTD, where OATS (Orthogonal array testing technique) is widely used.

How to use OATS?

Implementing OATS technique involves the below steps:

1. Identify the independent variables. These will be referred to as “Factors”
2. Identify the values which each variable will take. These will be referred as “Levels”
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)

Let me demonstrate it with an example:

Orthogonal Array Testing Technique (OATS) example:

Let us consider you have to identify the test cases for a Web Page that has 5 sections: Headlines, details, references and Comments, that can be displayed or not displayed or show Error message. You are required to design the test condition to test the interaction between different sections.

In this case:

1. Number of independent variables (factors) are = 4

2. Value that each variable can take = 3values( displayed, not displayed and error message)

3. Orthogonal array would be 34.

4. Google and find an appropriate array for 4 factors and 3 levels. For this example, I am referencing the bellow table


Combinational test technique 1

5. Now, map this array with our requirements as below:

  • 1 will represent “Is Displayed” value
  • 2 will represent “not displayed” value
  • 3 will represent “error message value”
  • Factor A will represent “ Headlines” section
  • Factor B will represent “Details” section
  • Factor C will represent “references ”section
  • Factor D will represent “Comment” section.
  • Experiment no will represent “Test Cases #”

6. After mapping, the table will look like:

Combinational test technique 2

7. Based on the table above, design your test cases. Also look out for the special test cases / left over test cases.

Conclusion:

None of the testing technique provides a guarantee of 100% coverage. Each technique has its own way of selecting the test conditions. In the similar lines, there are some limitations of 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 the complete coverage.
  • It can find only those defects which arise due to pairs, as input parameters.