Test Design Techniques

What is Test Design Technique?

By design we mean to create a plan for how to implement an idea and technique is a method or way for performing a task. So, Test Design Technique is creating a set of inputs for given software that will provide a set of expected outputs. The idea is to ensure that the system is working good enough and it can be released with as few problems as possible for the average user.

A test design technique basically helps us to select a good set of tests from the total number of all possible tests for a given system. There are many different types of software testing technique, each with its own strengths and weaknesses. Each individual technique is good at finding particular types of defect and relatively poor at finding other types.

For example, a technique that explores the upper and lower limits of a single input range is more likely to find boundary value defects than defects associated with combinations of inputs. Similarly, testing performed at different stages in the software development life cycle will find different types of defects; component testing is more likely to find coding logic defects than system design defects.

Each testing technique falls into one of a number of different categories. Broadly speaking there are two main categories:

1) Static technique.
2) Dynamic technique
.

Dynamic techniques are subdivided into three more categories: specification-based (black-box, also known as behavioral techniques), structure-based (white-box or structural techniques) and experience- based. Specification-based techniques include both functional and nonfunctional techniques (i.e. quality characteristics).

Two Categories of Test Design Techniques:

Testing Techniques

Figure: Test Techniques

What is Static testing technique?

  • Static testing is the testing of the software work products manually, or with a set of tools, but they are not executed.
  • It starts early in the Life cycle and so it is done during the verification process.
  • It does not need computer as the testing of program is done without executing the program. For example: reviewing, walk through, inspection, etc.
  • Most static testing techniques can be used to ‘test’ any form of document including source code, design documents and models, functional specifications and requirement specifications.

What is Dynamic testing technique?

  • This testing technique needs computer for testing.
  • It is done during Validation process.
  • The software is tested by executing it on computer.
  • Example of this Dynamic Testing Technique: Unit testing, integration testing, system testing.