**OATS testing: **Pairwise testing is an efficient test case generation method that is based on the reflection that most of the defects are triggered by interactions of at most two factors.

**Why Pairwise testing need to be implemented? **

In real time applications, even simple applications may rely upon a huge number of factors, where each factor holds plenty of valid values. In complex applications, these factors can shoot up which makes the testing process complex. For testing complex Applications, QA tester need to write test cases for each combination of the factors which becomes a tedious and herculean task to accomplish.

Adopting testing strategies that depend upon pairwise-generated test cases encompass all combinations, which could effectively cover the business scenario and is still very effective in uncovering bugs. Test cases cover all possible combinations for the given parameters in inefficient and optimal manner.

**Orthogonal array testing (OATS)** and All-pairs algorithm are two methods to implement pairwise testing.

**What is Orthogonal array testing (OATS)? **

**OATS testing** can be defined as a methodical, statistical method of testing pair-wise interactions. It offers in depth and evenly distributed coverage for all variable pairs. OATS testing makes use of an array of values signifying variable factors that are merged pair-wise. Usual testing methods represent all arrangements of factors and levels, which increases the number of test cases.

*OATS testing* technique is usually used in intricate applications and web applications. If the AUT involves large number of factors and each factor consists of more number of values, it will make the testing process quite difficult. Black box testing will not be enough to offer enough testing coverage.

Example: There are four parameters

A1: five values

A2: four values

A3: three values

A4: two values

Therefore, test cases are found out for A1 and A2 first and they come out 20. Then A1 pairs up with A3 .Then A2 pairs up with A3 so that no combination is repeated simultaneously and all probable combinations are covered. This continues until all the parameters are covered.

**Why use OATS testing?**

Being prudent about which test cases you select can make all the difference between:

-Ceaselessly executing tests that just are not expected to identify defects and do not boost your assurance in the application.

-Executing a brief, well-defined set of tests that are probable to uncover most (not all) of the defects and that offer users more comfort in the quality of your application.

**Terms used in OATS testing:**

Let us have a glance at the terminologies used in OATS

- Runs: The term runs denote the number of rows in the array. The number of runs is equal to the number of test cases that can be created using OATS technique.
- Factors: This term denotes the number of columns in an array , independent variables
- Levels: This term denotes the maximum number of values that can be taken on by any single factor.
- Strength: In any sub matrix the no. of the distinct rows all occurring

**Steps for OATS:**

- Identify the number of business components that need to be tested for interaction. This parameter signifies the factors of array. It is directly translated from number of columns present in an array.
- Identify an appropriate orthogonal array with the least number of Runs. A suitable array is one that has at least as many Factors as required from Step 1 and has at least as many levels for each of those factors as determined in Step 2.
- Map the Factors and values onto the array.
- Select values for any “left over” Levels.
- Transcribe the Runs into test cases, adding any specifically dubious combinations that are not generated.

Parameters

- Measures: eight values
- Products: six values
- Countries: sixty values
- Months: twelve

Number of test cases according to traditional black box testing: 8*6*12*60 = 34560

- No. of Factors – 4
- No. of Levels – 60,12,8,6
- No. of runs – 720

Number of test cases after applying OAT parameters with maximum number of values

Country: 60

Months: 12

Test cases after OATS testing = 720

Test cases for country and months are found out initially and then pairs are created for rest of the factors between country /months so that each combination remains unique and no combination is redundant.

# 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 Parameters values which interact together.
- Multimode Faults –If there are more than 2 interacting components produce consistent inaccurate output, then it is called as multimode fault.

# Tool that can be used for OATS testing:

http://hexawise.com is the tool that can be used for implementing OATS. The tool is user friendly and enables users to define 2-way iteration and 3-way iteration. Test coverage can be analyzed using this tool.

# Benefits of OATS testing:

OATS testing is used to identify defects in an optimal manner. Pairwise technique is one of the techniques that can be used for this.

- This would help in decreasing effort and foster productivity and saving cost.
- Reduces testing cycle time
- Analysis is easier
- Smart Risk based Testing method
- Makes use of variable pair combination
- Balanced test cases ensure straightforward defect isolation and performance assessments. This offers substantial cost savings compared to traditional methods
- Offers uniformly distributed coverage
- Helpful for integration testing of software components

If you are not regular reader of this website then highly recommends you to **Sign up for our free email newsletter!!** Sign up just providing your email address below:

**Happy Testing!!!**

### Related Posts

SumedhaNice article.

Today I learned new concepts in software testing. This website really great where we are getting latrst and fresh contents.

Simply great.

-Sumedha