Chapter 4 Flashcards
requirements-based testing
An approach to testing in which test cases are designed based on test objectives and test conditions derived from requirements, e.g., tests that exercise specific functions or probe non functional attributes such as reliability or usability
specification
A document that specifies, ideally in a complete, precise, and verifiable manner, the requirements, design, behavior, or other characteristics of a component or system and, often, the procedures for determining whether these provisions have been satisfied
black-box testing
Testing, either functional or non functional, without reference to the internal structure of the component or system
specification-based technique (or black-box test design 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 reference to its internal structure
test basis
All documents from which the requirements of a component or system can be inferred. The documentation on which the test cases are based. If a document can be amended only by way of formal amendment procedure, then the test basis is called a frozen test basis
test oracle
A source to determine expected results to compare with the actual results of the software under test. An oracle may be the existing system (for a benchmark), a user manual, or an individual’s specialized knowledge, but it should not be the code
equivalence partition
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 partitioning
A black-box test design technique in which test cases are designed to execute representatives from equivalence partitions. In principle, test cases are designed to cover each partition at least once
boundary value analysis
A black-box test design technique in which test cases are designed based on boundary values
boundary value
An input value or output value that is on the edge of an equivalence partition or at the smallest incremental distance on either side of an edge, such as, for example the minimum or maximum value of a range
cause-effect graph
A graphical representation of inputs and/or stimuli (causes) with their associated outputs (effects), which can be used to design test cases
cause-effect graphing
A black-box test design technique in which test cases are designed from cause-effect graphs
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
use case testing
A black-box test design technique in which test cases are designed to execute user scenarios
use case
A sequence of transactions in a dialogue between a user and the system with a tangible result
high-level (or logical) test case
A test case without concrete (implementation level) values for input data and expected results. Logical operators are used; instances of the actual values are not yet defined and/or available
low-level (or concrete) test case
A test case with concrete (implementation level) values for input data and expected results. Logical operators from high-level test cases are replaced by actual values that correspond to the objectives of the logical operators.
state transition testing
A black-box test design technique in which test cases are designed to execute valid and invalid state transitions
orthogonal array
A two-dimensional array constructed with special mathematical properties such that choosing any two columns in the array provides every pair combination of each number in the array
orthogonal array testing
A systematic way of testing all-pair combinations of variables using orthogonal arrays. It significantly reduces the number of all combinations of variables to test all pair combinations
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
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 input and/or output domains
branch testing
A white-box test design technique in which test cases are designed to execute branches
condition testing
A white-box test design technique in which test cases are designed to execute condition outcomes
condition outcome
The evaluation of a condition to True or False
condition determination testing (or multiple condition testing)
A white-box test design technique in which test cases are designed to execute single condition outcomes that independently affect a decision outcome
control flow analysis
A form of static analysis based on a representation of sequences of events (paths) in the execution through a component or system
data flow analysis
A form of static analysis based on the definition and usage of variables
decision testing
A white-box test design technique in which test cases are designed to execute decision outcomes
LCSAJ:
A Linear Code Sequence and Jump, consisting of the following three items (conventionally identified by line numbers in a source code listing): the start of the linear sequence of executable statements, the end of the linear sequence, and the target line to which control flow is transferred at the end of the linear sequence
path testing
A white-box test design technique in which test cases are designed to execute paths
path
A sequence of events, e.g., executable statements, of a component or system from an entry point to an exit point
statement testing
A white-box test design technique in which test cases are designed to execute statements
structure-based technique (or white-box test design technique)
Procedure to derive and/or select test cases based on an analysis of the internal structure of a component or system
defect-based technique (or defect-based test design technique)
A procedure to derive and/or select test cases targeted at one or more defect categories, with tests being developed from what is known about the specific defect category.
defect taxonomy
A system of (hierarchical) categories designed to be a useful aid for reproducibly classifying defects
experienced-based technique (or experienced-based test design technique)
Procedure to derive and/or select test cases based on the tester’s experience, knowledge, and intuition.
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 result of errors made and to design tests specifically to expose them
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 testing to design new and better tests
test charter
A statement of test objectives, and possibly test ideas about how to test. Test charters are used in exploratory testing. [Note: This statement is actually incorrect. Not all exploratory testing uses test charters, and test charters can be used in any dynamic testing strategy.]
software attacks
Directed and focused attempt to evaluate the quality, especially reliability, of a test object by attempting to force specific failures to occur
static analysis
Analysis of software artifacts, e.g., requirements or code, carried out without execution of these software artifacts
dynamic analysis
The process of evaluating behavior, e.g., memory performance, CPU usage, of a system or component during execution
memory leak
A defect in a program’s dynamic store allocation logic that causes it to fail to reclaim memory after it has finished using it, eventually causing the program to fail due to lack of memory
wild pointer
A pointer that references a location that is out of scope for that pointer or that does not exist