Categories of Test Techniques and Their Characteristics
Black-box testing Description
techniques
- Partitions are called equivalence classes
- An equivalence partition containing valid values is called a "valid equivalence partition".
Equivalence - An equivalence partition containing invalid values is called "invalid equivalence partition".
partitions - Each value must belong to one and only one equivalence partition
- Any partition can be divided into sub-partitions if necessary
- Coverage is measured as the number of equivalence partitions tested by at least one value, divided
by the total number of identified equivalence partitions, usually expressed as a percentage.
- When invalid equivalence partitions are used in test cases, they must be tested individually
- limits value analysis is an extension of equivalence partitions, but can only be used when the
partition is ordered, composed of numerical or sequential data. The minimum and maximum values
of a partition are its boundary values.
Limit value - Some variants of this technique identify three boundary values per boundary: the values below, on
and just above the boundary.
analysis
- Boundary value analysis can be applied to all levels of testing. This technique is typically used to test
requirements that require a series of numerical values
- The boundary coverage of a partition is measured as the number of boundary values tested, divided
by the total number of boundary values identified, usually expressed as a percentage.
- Each column corresponds to a decision rule that defines a unique combination of
conditions that results in the execution of the actions associated with that rule.
- Condition and action values are usually displayed as Boolean values (true or false) or
Decision table discrete values (e.g. red, green, blue), but can also be numbers or ranges of numbers
- These different types of conditions and actions can be grouped in the same table.
testing
- The table can be reduced by removing columns containing impossible combinations of
conditions, columns containing combinations of possible but infeasible conditions, and
columns that test combinations of conditions that do not affect the outcome.
- The common minimum coverage for decision table testing is to have at least one test case
per decision rule in the table.
- Coverage is measured as the number of decision rules tested by at least one test case, divided by the
number of decision rules, usually expressed as a percentage.
- A state transition diagram shows the possible states of the software, as well as how the software
enters, exits, and evolves between these states.
Testing - A transition is triggered by an event
state - The change of state can lead to an action of the software
- A state transition table shows all valid and potentially invalid transitions between states
transitions
- State transition charts normally show only valid transitions and exclude invalid transitions.
- Tests can be designed to cover a sequence of multiple states, to exercise all states, to exercise all
transitions, to exercise specific sequences of transitions, or to test invalid transitions.
- Coverage is typically measured as the number of identified states or transitions tested, divided by
the total number of identified states or transitions in the test object, normally expressed as a
percentage.
- Use cases are associated with actors and subjects
- Each use case specifies a behavior that a subject can perform in collaboration with one or more
actors
Use case - A use case can be described by interactions and activities, as well as by preconditions,
postconditions and natural language
testing
- A use case can include possible variations of its basic behavior, including exceptional behavior and
error handling
- Tests are designed to exercise the defined behaviors
- Coverage can be measured by the percentage of use case behaviors tested divided by the total
number of use case behaviors, usually expressed as a percentage.
White-Box testing Description
techniques
Test and coverage - Tests exercise potential executable instructions in the code.
of the instructions - The percentage of executable instructions that have been executed by a test suite.
Decision Testing - Decision testing exercises decisions in code and tests the code that is executed based on the
and Coverage results of the decision.
- Coverage of decision results.
Experience- Description
based Testing
techniques
Error estimation is a technique used to anticipate errors, defects, and failures, based on the tester's
knowledge, including:
Error - How the application has worked in the past
estimation - What types of errors developers tend to make
- What failures have occurred in other applications
- A methodical approach to the error estimation technique is to create a list of possible errors, defects,
and failures, and design tests that will expose these failures and the defects that caused them.
- In exploratory testing, informal (non-predefined) tests are designed, executed, recorded and
evaluated dynamically during test execution.
Exploratory - The results of the tests are used to learn more about the component or system, and to create tests
tests for parts that might need more testing.
- Exploratory testing is sometimes done using test sessions to structure the activity.
- Exploratory testing is most useful when there are few or inadequate specifications or
significant time constraints on testing.
- In checklist-based testing, testers design, implement, and execute tests to cover the test conditions
listed in a checklist.
- During testing, testers create a new checklist or add to an existing checklist, but testers can also use
an existing checklist without modification.
- Checklists can be created to support different types of tests, including functional and non-functional
Tests based on
tests.
checklists - In the absence of detailed test cases, checklist-based tests can provide guidelines and a degree of
consistency.
- Because they are high-level lists, there is likely to be some variability in the actual tests, which could
result in greater test coverage but lower reproducibility.