Test Case Design Techniques

Test case is one of the significant components of the testing phase. It works as a tool or a manual to verify and validate a particular or set of requirement(s) or functionality(s) of the software product.

Here, we are going to provide some of the useful techniques to design effective test cases in order to increase the productivity of the testing process.

Techniques to design test case

Techniques, used to design a test case may broadly be classified into three different types

  • Black Box design technique
  • White Box design technique
  • Experience based technique

Now, let's go through the sub types of these techniques.

Black Box design technique

This technique is basically used to design the test cases based on the specifications. It comprises of following types:

Boundary Value Analysis(BVA)

It's a specification based testing technique, which is used to explore errors in the software product at the extreme ends of the input domain, i.e. at boundaries, and accordingly used to derive and design test cases.

Equivalence Partitioning

It's a method of dividing or partitioning the test input data into number of classes having equivalent number of data, which is then used to derive and design test cases for each class or partition, at least once time. This helps in reducing the number of test cases, significantly.

Decision table testing

It is a technique of designing the test cases, using different combinations of the input and their corresponding output based on the variant types of condition, scenarios, adhering to different business rules.

State Transition Diagrams

It's an approach of perceiving a software product as a system having a finite number of states of different types where transition from one state to another is guided by some certain rules to response or behave differently for each different input.

Use Case testing

This technique is used to derive test cases covering end-to-end software product evaluation on transaction-by-transaction basis based on the used case, i.e. the description of the user's interaction with a software product in a particular manner to accomplish a specific task.

White Box design technique

It's a technique of designing a test case, based on the internal structure of the system or the software product. Following techniques, comes under the umbrella of white box design technique.

Statement Coverage

Statement Coverage is an approach to ensure the execution of all the statements present in the code, at least once.

Branch Coverage

A testing method to ensure that all the possible branches or outcomes for each decision point present in the software system have been executed, at least once.

Path Coverage

It is used to ensure that all the possible paths between the initial node and the terminating node describing a process or a task in a software product has been executed, at least once.

Experience based design technique

It simply means test design methods based on the experience of a tester to derive test cases. It consists of following types:

Error guessing

It's a technique of making a guess based on the skills and experience gained by a tester to explore the vulnerable areas of a software product, which may likely to be affected by a bug or a defect.

Exploratory testing

It may be seem as a learning approach along with a testing technique, where a tester having inadequate knowledge of the specification and requirements of the product, progressively, performs testing with the minimal planning and continuously develops strategy to progress the testing activity using his skills and traits.