CH4 - Test Design Techniques: Quick Notes
CH4 - Test Design Techniques: Quick Notes
3] Specification-based/Black-box techniques
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
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
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.
In use case testing test cases are designed to execute user scenarios
4] Structure-based/White-box techniques
a) Statement coverage
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.
This technique requires the coverage of all conditions that can affect or determine
the decision outcome
5] Experience-based techniques
a) Error guessing
b) Exploratory testing
a) Internal Factors
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.