# Different Test Design Techniques

## What is the Software Testing Technique?

Software Testing Techniques help you design better test cases. Since exhaustive testing is impossible, Manual Testing Techniques help reduce the number of test cases executed while increasing test coverage. They help identify test conditions that are otherwise difficult to recognize.

## Boundary Value Analysis (BVA)

Boundary value analysis is based on testing the boundaries between partitions. It includes maximum, minimum, inside or outside boundaries, typical and error values.
It is generally seen that a large number of errors occur at the boundaries of the defined input values rather than the center. It is also known as BVA and gives a selection of test cases that exercise bounding values.
This black box testing technique complements equivalence partitioning. This software testing technique is based on the principle that if a system works well for these particular values, it will work perfectly well for all values between the two boundary values.

## Guidelines for Boundary Value Analysis

• If an input condition is restricted between values x and y, the test cases should be designed with values x and y and above and below x and y.

• If an input condition is a large number of values, the test case should be developed, which needs to exercise the minimum and maximum numbers. Here, values above and below the minimum and maximum values are also tested.

• Apply guidelines 1 and 2 to output conditions. It gives an output that reflects the minimum and the maximum values expected. It also tries the below or above values.

## Equivalence Class Partitioning

Equivalent Class Partitioning allows you to divide the set of test conditions into a partition, which should be considered the same. This software testing method divides the input domain of a program into classes of data from which test cases should be designed.
The concept behind this Test Case Design Technique is that a test case of a representative value of each class equals a test of any other value of the same class. It allows you to Identify valid as well as invalid equivalence classes.

## Decision Table-Based Testing

A decision table is also known as a Cause-Effect table. This software testing technique is used for functions that respond to a combination of inputs or events. For example, a submit button should be enabled if the user has entered all required fields.
The first task is identifying functionalities where the output depends on a combination of inputs. If there is a significant input set of combinations, divide it into smaller subsets that help manage a decision table.
For every function, you need to create a table and list down all types of combinations of inputs and their respective outputs. This helps to identify a condition that is overlooked by the tester.
• Following are steps to create a decision table: Enlist the inputs in rows.

• Enter all the rules in the column.

• Fill the table with the different combinations of inputs.

• In the last row, note down the output against the input combination.

## State Transition

In the State Transition technique, input conditions change the state of the Application Under Test (AUT). This testing technique allows the tester to test the behavior of an AUT. The tester can perform this action by entering various input conditions. In the State transition technique, the testing team provides positive and negative input test values to evaluate system behavior.

## Guideline for State Transition:

• The testing team should use state transition when testing the application for a limited set of input values.

• The Test Case Design Technique should be used when the testing team wants to test the sequence of events in the application under test.

## Error Guessing

Error Guessing is a software testing technique based on guessing the error that can prevail in the code. The technique is heavily based on the experience where the test analysts use their experience to think about the problematic part of the testing application. Hence, the test analysts must be skilled and experienced for better error guessing.
The technique counts a list of possible errors or error-prone situations. Then, the tester writes a test case to expose those errors. To design test cases based on this software testing technique, the analyst can use past experiences to identify the conditions.

## Guidelines for Error Guessing:

• The test should use the previous experience of testing similar applications.

• Understanding of the system under test

• Knowledge of typical implementation errors

• Remember previously troubled areas.

• Evaluate Historical data and test results.

## Conclusion

• Test Case Design Technique allows you to design better cases. There are five primarily used techniques.

• Boundary value analysis is testing at the boundaries between partitions.

• Equivalent Class Partitioning allows you to divide the set of test conditions into a partition, which should be considered the same.

• The decision Table software testing technique is used for functions that respond to a combination of inputs or events.

• In the State Transition technique, changes in input conditions change the state of the Application Under Test (AUT)

• Error guessing is a software testing technique based on guessing the error that can prevail in the code.

Watch Video Tutorial on Different Test Design Techniques