Testing techniques

Test design techniques: black-box (equivalence partitioning, boundary values, decision tables, state transitions), white-box (coverage, control/data flow) and experience-based approaches.

Translations

English

Terms in this topic (103 in English)

Abuse Case
A use case in which some actors with malicious intent are causing harm to the system or to other actors.
Action Word-Driven Testing
A scripting technique that uses data files to contain not only test data and expected results, but also keywords related to the application being tested. The …
Ad Hoc Review
A review technique performed informally without a structured process.
Agile Manifesto
A statement on the values that underpin Agile software development. The values are: individuals and interactions over processes and tools, working software …
Atomic Condition
A condition that cannot be decomposed, i.e., a condition that does not contain two or more single conditions joined by a logical operator (AND, OR, XOR).
Black-Box Technique
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 …
Boundary Value
An input value or output value which is on the edge of an equivalence partition or at the smallest incremental distance on either side of an edge, for example …
Boundary Value Analysis
A black-box test design technique in which test cases are designed based on boundary values.
Boundary Value Coverage
The percentage of boundary values that have been exercised by a test suite.
Branch
A basic block that can be selected for execution based on a program construct in which one of two or more alternative program paths is available, e.g., case, …
Branch Condition Combination Coverage
The coverage of all possible combinations of all single condition outcomes within one statement.
Branch Condition Combination Testing
A white-box test design technique in which test cases are designed to execute combinations of single condition outcomes (within one statement).
Branch Condition Coverage
The coverage of condition outcomes.
Branch Coverage
The percentage of branches that have been exercised by a test suite. 100% branch coverage implies both 100% decision coverage and 100% statement coverage.
Bug
A flaw in a component or system that can cause the component or system to fail to perform its required function, e.g., an incorrect statement or data …
Call Graph
An abstract representation of calling relationships between subroutines in a program.
Causal Analysis
An analysis technique aimed at identifying the root causes of defects. By directing corrective measures at root causes, it is hoped that the likelihood of …
Cause-Effect Analysis
A black-box test technique in which test cases are designed from cause-effect graphs.
Charter
A statement of test objectives, and possibly test ideas about how to test. Test charters are used in exploratory testing.
Checklist-Based Review
A review technique guided by a list of questions or required attributes.
Checklist-Based Testing
An experience-based test design technique whereby the experienced tester uses a high-level list of items to be noted, checked, or remembered, or a set of rules …
Chow's Coverage Metrics
The coverage of sequences of N+1 transitions.
Classification Tree
A tree showing equivalence partitions hierarchically ordered, which is used to design test cases in the classification tree method.
Classification Tree Method
A black-box test design technique in which test cases, described by means of a classification tree, are designed to execute combinations of representatives of …
Clear-Box Testing
Testing based on an analysis of the internal structure of the component or system.
Code Coverage
An analysis method that determines which parts of the software have been executed (covered) by the test suite and which parts have not been executed, e.g., …
Combinatorial Testing
A black-box test design technique in which test cases are designed to execute specific combinations of values of several parameters.
Condition Determination Coverage
The percentage of all single condition outcomes that independently affect a decision outcome that have been exercised by a test case suite. 100% modified …
Condition Determination Testing
A white-box test technique in which test cases are designed to exercise single condition outcomes that independently affect a decision outcome.
Control Flow
A sequence of events (paths) in the execution through a component or system.
Control Flow Analysis
A form of static analysis based on a representation of unique paths (sequences of events) in the execution through a component or system. Control flow analysis …
Control Flow Graph
An abstract representation of all possible sequences of events (paths) in the execution through a component or system.
Control Flow Testing
An approach to structure-based testing in which test cases are designed to execute specific sequences of events. Various techniques exist for control flow …
Coverage
The degree, expressed as a percentage, to which a specified coverage item has been exercised by a test suite.
Coverage Item
An entity or property used as a basis for test coverage, e.g., equivalence partitions or code statements.
Cyclomatic Complexity
The maximum number of linear, independent paths through a program. Cyclomatic complexity may be computed as L = N + 2P, where L = the number of edges/links in …
Data Flow
The sequence of possible changes to the state of data objects.
Data Flow Analysis
A form of static analysis based on the definition and usage of variables.
Data Flow Testing
A white-box test technique in which test cases are designed to execute definition-use pairs of variables.
Data-Driven Testing
A scripting technique that stores test input and expected results in a table or spreadsheet, so that a single control script can execute all of the tests in the …
Debugger
A tool used by programmers to reproduce failures, investigate the state of programs and find the corresponding defect. Debuggers enable programmers to execute …
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 Condition Testing
A white-box test design technique in which test cases are designed to execute condition outcomes and decision outcomes.
Decision Coverage
The percentage of decision outcomes that have been exercised by a test suite. 100% decision coverage implies both 100% branch coverage and 100% statement …
Decision Table Testing
A black-box test design technique in which test cases are designed to execute the combinations of inputs and/or stimuli (causes) shown in a decision table.
Decision Testing
A white-box test design technique in which test cases are designed to execute decision outcomes.
Defect-Based Technique
A procedure to derive and/or select test cases targeted at one or more defect types, with tests being developed from what is known about the specific defect …
Definition-Use Pair
The association of a definition of a variable with the subsequent use of that variable. Variable uses include computational (e.g., multiplication) or to direct …
Dirty Testing
Testing a component or system in a way for which it was not intended to be used.
Equivalence Class
A portion of an input or output domain for which the behavior of a component or system is assumed to be the same, based on the specification.
Equivalence Partition Coverage
The coverage of equivalence partitions.
Equivalence Partitioning
A black-box test design technique in which test cases are designed to execute representatives from equivalence partitions. In principle, test cases are …
Error Guessing
A test design technique where the experience of the tester is used to anticipate what defects might be present in the component or system under test as a …
Executable Statement
A source code statement that, when translated into object code, can be executed in a procedural manner.
Experience-Based Technique
Procedure to derive and/or select test cases based on the tester's experience, knowledge and intuition.
Exploratory Testing
An informal test design technique where the tester actively controls the design of the tests as those tests are performed and uses information gained while …
Fault Tree Analysis
A technique used to analyze the causes of faults (defects). The technique visually models how logical relationships between failures, human errors, and …
Finite State Testing
A black-box test design technique in which test cases are designed to execute valid and invalid state transitions.
Fuzz Testing
A software testing technique used to discover security vulnerabilities by inputting massive amounts of random data, called fuzz, to the component or system.
Heuristic Evaluation
A usability review technique that targets usability problems in the user interface or user interface design. With this technique, the reviewers examine the …
Hyperlink
A pointer within a web page that leads to other web pages.
Inspection
A type of peer review that relies on visual examination of documents to detect defects, e.g., violations of development standards and non-conformance to higher …
Linear Scripting
A simple scripting technique without any control structure in the test scripts.
Model Coverage
The degree, expressed as a percentage, to which model elements are planned to be or have been exercised by a test suite.
Pairwise Integration Testing
A form of integration testing that targets pairs of components that work together, as shown in a call graph.
Pairwise Testing
A black-box test design technique in which test cases are designed to execute all possible discrete combinations of each pair of input parameters.
Pareto Analysis
A statistical technique in decision making that is used for selection of a limited number of factors that produce significant overall effect. In terms of …
Path Coverage
The percentage of paths that have been exercised by a test suite.
Path Testing
A white-box test design technique in which test cases are designed to execute paths.
Penetration Testing
A testing technique aiming to exploit security vulnerabilities (known or unknown) to gain unauthorized access.
Perspective-Based Reading
A review technique whereby reviewers evaluate the work product from different viewpoints.
Planning Poker
A consensus-based estimation technique, mostly used to estimate effort or relative size of user stories in Agile software development. It is a variation of the …
Pointer
A data item that specifies the location of another data item.
Process-Driven Scripting
A scripting technique where scripts are structured into scenarios which represent use cases of the software under test. The scripts can be parameterized with …
Quality Function Deployment
A facilitated workshop technique that helps determine critical characteristics for new product development.
Ramp-Down
A technique for decreasing the load on a system in a measurable and controlled way.
Ramp-Up
A technique for increasing the load on a system in a measurable and controlled way.
Random Testing
A black-box test technique in which test cases are designed by generating random independent inputs to match an operational profile.
Role-Based Reviewing
A review technique where reviewers evaluate a work product from the perspective of different stakeholder roles.
Salting
A cryptographic technique that adds random data (salt) to the user data prior to hashing.
Scenario Testing
A black-box test design technique in which test cases are designed to execute scenarios of use cases.
Scenario-Based Review
A review technique in which a work product is evaluated to determine its ability to address specific scenarios.
Service Virtualization
A technique to enable virtual delivery of services which are deployed, accessed and managed remotely.
Short-Circuiting
A programming language/interpreter technique for evaluating compound conditions in which a condition on one side of a logical operator may not be evaluated if …
Software Usability Measurement Inventory
A questionnaire-based usability test technique for measuring software quality from the end user's point of view.
Source Statement
An entity in a programming language, which is typically the smallest indivisible unit of execution.
Specification by Example
A development technique in which the specification is defined by examples.
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.
Structural Coverage
Coverage measures based on the internal structure of a component or system.
Structural Test Technique
Procedure to derive and/or select test cases based on an analysis of the internal structure of a component or system.
Structured Scripting
A scripting technique that builds and utilizes a library of reusable (parts of) scripts.
Suitability Testing
Testing to determine the suitability of a software product.
Test Case Design Technique
Procedure used to derive and/or select test cases.
Test Case Explosion
The disproportionate growth of the number of test cases with growing size of the test basis, when using a certain test design technique. Test case explosion …
Test Design Specification
A document specifying the test conditions (coverage items) for a test item, the detailed test approach and identifying the associated high-level test cases.
Test Process Improvement Manifesto
A statement that echoes the Agile manifesto, and defines values for improving the testing process. The values are: flexibility over detailed processes, best …
Think Aloud Usability Testing
A usability testing technique where test participants share their thoughts with the moderator and observers by thinking aloud while they solve usability test …
Traceability Matrix
A two-dimensional table, which correlates two entities (e.g., requirements and test cases). The table allows tracing back and forth the links of one entity to …
User Story Testing
A black-box test design technique in which test cases are designed based on user stories to verify their correct implementation.
Website Analysis and Measurement Inventory
A questionnaire-based usability test technique for measuring web site software quality from the end user's point of view.
Wideband Delphi
An expert-based test estimation technique that aims at making an accurate estimation using the collective wisdom of the team members.
Wild Pointer
A pointer that references a location that is out of scope for that pointer or that does not exist.