Quick Notes
CH4 – Test Design Techniques
Number of Questions – 12 (K1-4, K2-2, K3-6) Duration – 285 minutes
1] Test Development Process
a) Test Analysis: identifying test conditions
Test Design Specification - A document specifying the test conditions (coverage
items) for a test item, the detailed test approach and associated high level test
cases.
Template - Test design specification identifier, Features to be tested, Approach
refinements, Test identifications, Feature pass/fail criteria
b) Test Design: specifying test cases
Test Case Specification - A document specifying a set of test cases (objective,
inputs, test actions, executed results, and execution preconditions) for a test
item.
Template - Test case specification identifier, Test items, Input Specifications,
Output specifications, Environmental needs, Special procedural requirements,
Inter case dependencies
c) Test Implementation: specifying test procedure or scripts
Test Procedure Specification - A document specifying a sequence of actions for
the execution of a test, also known as a test script or manual test script.
Template - Test case procedure specification identifier, Purpose, Special
requirements, Procedure steps, Include steps to be taken for a test including set
up, logging, environment and measurement.
Quick Notes 4: Test Design Techniques
Created by: Sagar Joshi 1
https://www.udemy.com/istqb-foundation-level-certification-ctfl-training/
2] Test Design Techniques
Figure - Test Design Techniques
3] Specification-based/Black-box techniques
A procedure to derive and/or select test cases based on an analysis of the
specification, either functional or non-functional, of a component or system
without reference to its internal structure.
Also know as Black Box Testing,
a) Equivalence partitioning
Inputs to the software or system are divided in to groups that are expected
to exhibit similar behavior
Equivalence partitions or classes can be found for both valid data and
invalid data
Partitions can also be identified for outputs, internal values, time related
values and for interface values.
Equivalence partitioning is applicable all levels of testing
Quick Notes 4: Test Design Techniques
Created by: Sagar Joshi 2
https://www.udemy.com/istqb-foundation-level-certification-ctfl-training/
b) Boundary value analysis
Behavior at the edge of each equivalence partition is more likely to be
incorrect. The maximum and minimum values of a partition are its boundary
values.
A boundary value for a valid partition is a valid boundary value; the
boundary of an invalid partition is an invalid boundary value.
Boundary value analysis can be applied at all test levels
It is relatively easy to apply and its defect-finding capability is high
This technique is often considered as an extension of equivalence
partitioning.
c) Decision table testing
In Decision table testing test cases are designed to execute the combination
of inputs
Decision tables are good way to capture system requirements that contain
logical conditions.
The decision table contains triggering conditions, often combinations of true
and false for all input conditions
It may be applied to all situations when the action of the software depends
on several logical decisions
d) State transition testing
In state transition testing test cases are designed to execute valid and
invalid state transitions
A system may exhibit a different response on current conditions or previous
history. In this case, that aspect of the system can be shown as a state
transition diagram.
State transition testing is much used in embedded software and technical
automation.
e) Use case testing
In use case testing test cases are designed to execute user scenarios
Quick Notes 4: Test Design Techniques
Created by: Sagar Joshi 3
https://www.udemy.com/istqb-foundation-level-certification-ctfl-training/
A use case describes interactions between actors, including users and the
system
Each use case has preconditions, which need to be met for a use case to
work successfully.
A use case usually has a mainstream scenario and sometimes alternative
branches.
Use cases, often referred to as scenarios, are very useful for designing
acceptance tests with customer/user participation
4] Structure-based/White-box techniques
A procedure to derive and/or select test cases based on an analysis of the
internal structure of a component or system.
Also know as White box technique
a) Statement coverage
Statement - An entity in a programming language, which is typically the
smallest indivisible unit of execution
Statement coverage - The percentage of executable statements that have
been exercised by a test suite
Statement testing - A white box test design technique in which test cases
are designed to execute statements
b) Decision coverage
Decision - A program point at which the control flow has two or more
alternative routes, A node with two or more links to separate branches
Decision Coverage - The percentage of decision outcomes that have been
exercised by a test suite, 100% decision coverage implies both 100%
branches coverage and 100% statement coverage
Decision testing - A white box test design technique in which test cases are
designed to execute decision outcomes.
Quick Notes 4: Test Design Techniques
Created by: Sagar Joshi 4
https://www.udemy.com/istqb-foundation-level-certification-ctfl-training/
c) Condition coverage
Condition - A logical expression that can be evaluated as true or false
Condition coverage - The percentage of condition outcomes that have been
exercised by a test suite
Condition testing - A white box test design technique in which test cases are
designed to execute condition outcomes
d) Multiple condition coverage
This technique requires the coverage of all conditions that can affect or determine
the decision outcome
5] Experience-based techniques
They depend on an individual’s personal view rather than on a documented
record of what the system should do.
Experience based techniques - Error guessing, Exploratory testing
a) Error guessing
Error guessing is a commonly used experience-based technique
Generally testers anticipate defects based on experience, these defects list
can be built based on experience, available defect data, and from common
knowledge about why software fails.
b) Exploratory testing
Exploratory testing is concurrent test design, test execution, test logging
and learning , based on test charter containing test objectives and carried
out within time boxes
It is approach that is most useful where there are few or inadequate
specifications and serve time pressure.
Quick Notes 4: Test Design Techniques
Created by: Sagar Joshi 5
https://www.udemy.com/istqb-foundation-level-certification-ctfl-training/
6] Choosing A Test Technique
a) Internal Factors
Models used in developing the system- If the specification contains a state
transition diagram, state transition testing would be a good technique to
use.
Testers knowledge and their experience - Testers knowledge about the
system and testing techniques
Similar type of defects - Knowledge of the similar kind of defects
Test objective – If objective is to gain confidence then use cases would be a
sensible approach. If objective is for very thorough testing then more
rigorous and detailed techniques should be chosen.
Documentation – Whether or not documentation available
Life cycle model used - A sequential life cycle model lend to use of more
formal techniques. An iterative life cycle model better suited to using an
exploratory testing approach.
b) External Factors
Risk assessment - The greater the risk, need more thorough and more
formal testing.
Customer and contractual requirements - Sometimes contracts specify
particular testing techniques to use
Type of system used - The type of system will influence the choice of
techniques. (e.g. embedded, graphical, financial, etc.)
Regulatory requirements - Regulatory standards or guidelines that govern
the testing techniques used.
Time and budget of the project - How much time there is available and
when more time is available we can afford to select more techniques.
Quick Notes 4: Test Design Techniques
Created by: Sagar Joshi 6
https://www.udemy.com/istqb-foundation-level-certification-ctfl-training/