Saturday 27 October 2012

TEST DESIGN TECHNIQUES



TEST DESIGN TECHNIQUES
The purpose of test design techniques is to identify test conditions and test scenarios through which effective and efficient test cases can be written.Using test design techniques is a best approach rather the test cases picking out of the air. Test design techniques help in achieving high test coverage. In this post, we will discuss the following:

1. Black Box Test Design Techniques

  • Specification Based
  • Experience Based

2. White-box or Structural Test design techniques

Black-box testing techniques



These includes specification-based and experienced-based techniques. These use external descriptions of the software, including specifications, requirements, and design to derive test cases. These tests can be functional or non-functional, though usually functional. Tester needs not to have any knowledge of internal structure or code of software under test.



Specification-based techniques:

  • Equivalence partitioning
  • Boundary value analysis
  • Use case testing
  • Decision tables
  • Cause-effect graph
  • State transition testing
  • Classification tree method
  • Pair-wise testing

From ISTQB Syllabus:

Common features of specification-based techniques:

  • Models, either formal or informal, are used for the specification of the problem to be solved, the software or its components.
  • From these models test cases can be derived systematically.

Experienced-based techniques:

  • Error Guessing
  • Exploratory Testing

Read Unscripted testing Approaches for the above.



From ISTQB Syllabus:

Common features of experience-based techniques:

  • The knowledge and experience of people are used to derive the test cases.
  • Knowledge of testers, developers, users and other stakeholders about the software, its
    usage and its environment.
  • Knowledge about likely defects and their distribution.

White-box techniques

Also referred as structure-based techniques. These are based on the internal structure of the component. Tester must have knowledge of internal structure or code of software under test.



Structural or structure-based techniques includes :

  • Statement testing
  • Condition testing
  • LCSAJ (loop testing)
  • Path testing
  • Decision testing/branch testing

From ISTQB Syllabus:

Common features of structure-based techniques:

  • Information about how the software is constructed is used to derive the test cases, for example, code and design.
  • The extent of coverage of the software can be measured for existing test cases, and further test cases can be derived systematically to increase coverage.

No comments:

Post a Comment