Test Design Techniques

Test design techniques are used to prepare test data which will cover each area of functionality for testing.

The main job of test engineer is to write test cases and at the time of writing the test cases, we need to use certain techniques to design test data

Software testing techniques helps to design better cases. Since exhaustive testing is not possible; Testing techniques help reduce the number of test cases to be executed while increasing test coverage. They help identify test conditions that are otherwise difficult to recognize.

Reduce the number of test cases to be executed.

Advantages – Reduce data and more coverage

It is also called as input domain testing.

Boundary Value Analysis ( BVA ) is based on testing at the boundaries between partitions.

It includes maximum, minimum, insider or outsider boundaries.

Test only for text box or input fields.

Verification i.e. Range – Minimum and Maximum.

Range – 4 to 8

Boundary Value Analysis ( BVA ) – Example 1
Boundary Value Analysis ( BVA ) – Example 2

In equivalence partitioning, inputs to the software or system are divided into groups that are expected to exhibit similar behavior, so they are likely to be proposed in the same way. Hence selecting one input from each group to design the test cases.

It helps to reduce the total number of test cases from infinite to finite. The selected test cases from these groups ensure coverage of all possible scenarios.

Test only for text box or input fields.

Verification i.e. Value – Valid and Invalid.

Equivalence Class Partitioning – Example 1
Equivalence Class Partitioning – Example 2
Equivalence Class Partitioning – Example 3
Equivalence Class Partitioning – Example 4

Decision Table is also called as Cause-Effect Table.

If we have more number of conditions / actions, then we use Decision table technique.

This test technique is appropriate for functionalities which has logical relationships between inputs (  if-else logic).

In Decision table technique, we deal with combinations of inputs.

To identify the test cases with decision table, we consider conditions and actions.

We take conditions as inputs and actions as outputs.

Decision Table based testing – Example 1
Decision Table based testing – Example 2

In State Transition technique changes in 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 a sequence.

In State transition technique, the testing team provides positive as well as negative input test values for evaluating the system behavior.

State Transition – Example 1
State Transition – Example 2

  • Error Guessing is one of the testing techniques used to find bugs in a software application based on tester’s prior experience.
  • In Error guessing we don’t follow any specific rule.
  • It depends on Tester Analytical skill and experience.

Some of the examples are:

  • Submitting a form without entering values.
  • Entering invalid values such as entering alphabets in the numeric field

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 & Test results