Glossary Flashcards
defect, bug, fault
An imperfection or deficiency in a work product where it does not meet its requirements or specifications.
error, mistake
A human action that produces an incorrect result.
failure
An event in which a component or system does not perform a required function within specified limits.
quality
The degree to which a component, system or process meets specified requirements and/or user/customer needs and expectations.
risk
A factor that could result in future negative consequences.
debugging
The process of finding, analyzing and removing the causes of failures in software.
requirement
A provision that contains criteria to be fulfilled.
review
A type of static testing during which a work product or process is evaluated by one or more individuals to detect issues and to provide improvements.
test case
A set of preconditions, inputs, actions (where applicable), expected results and postconditions, developed based on test conditions.
testing
The process consisting of all lifecycle activities, both static and dynamic, concerned with planning, preparation and evaluation of software products and related work products to determine that they satisfy specified requirements, to demonstrate that they are fit for purpose and to detect defects.
test objective
A reason or purpose for designing and executing a test.
exhaustive testing, complete testing
A test approach in which the test suite comprises all combinations of input values and preconditions.
confirmation testing, re-testing
Dynamic testing conducted after fixing defects with the objective to confirm that failures caused by those defects do not occur anymore.
exit criteria, completion criteria, test completion criteria, definition of done
The set of conditions for officially completing a defined task.
incident, deviation, software test incident, test incident
An event occurring that requires investigation.
regression
A degradation in the quality of a component or system due to a change.
regression testing
Testing of a previously tested component or system following modification to ensure that defects have not been introduced or have been uncovered in unchanged areas of the software, as a result of the changes made.
test basis
The body of knowledge used as the basis for test analysis and design.
test condition, test requirement, test situation
An aspect of the test basis that is relevant in order to achieve specific test objectives.
coverage, test coverage
The degree to which specified coverage items have been determined or have been exercised by a test suite expressed as a percentage.
test data
Data created or selected to satisfy the execution preconditions and inputs to execute one or more test cases.
test execution
The process of running a test on the component or system under test, producing actual result(s).
test log, test record, test run log
A chronological record of relevant details about the execution of tests.
test plan
Documentation describing the test objectives to be achieved and the means and the schedule for achieving them, organized to coordinate testing activities.
test procedure
A sequence of test cases in execution order, and any associated actions that may be required to set up the initial preconditions and any wrap up activities post execution.
test policy, organizational test policy
A high-level document describing the principles, approach and major objectives of the organization regarding testing.
test suite, test case suite, test set
A set of test cases or test procedures to be executed in a specific test cycle.
test summary report, test report
A test report that provides an evaluation of the corresponding test items against exit criteria
testware
Work products produced during the test process for use in planning, designing, executing, evaluating and reporting on testing.
error guessing
A test technique in which tests are derived on the basis of the tester’s knowledge of past failures, or general knowledge of failure modes.
independence of testing
Separation of responsibilities, which encourages the accomplishment of objective testing
commercial off-the-shelf (COTS), off-the-shelf software
A software product that is developed for the general market, i.e. for a large number of customers, and that is delivered to many customers in identical format.
iterative development model
A development lifecycle where a project is broken into a usually large number of iterations. An iteration is a complete development loop resulting in a release (internal or external) of an executable product, a subset of the final product under development, which grows from iteration to iteration to become the final product.
incremental development model
A development lifecycle model in which the project scope is generally determined early in the project lifecycle, but time and cost estimates are routinely modified as the project team understanding of the product increases. The product is developed through a series of repeated cycles, each delivering an increment which successively adds to the functionality of the product.
validation
Confirmation by examination and through provision of objective evidence that the requirements for a specific intended use or application have been fulfilled.
verification
Confirmation by examination and through provision of objective evidence that specified requirements have been fulfilled.
V-model
A sequential development lifecycle model describing a one-for-one relationship between major phases of software development from business requirements specification to delivery, and corresponding test levels from acceptance testing to component testing.
alpha testing
Simulated or actual operational testing conducted in the developer’s test environment, by roles outside the development organization.
beta testing, field testing
Simulated or actual operational testing conducted at an external site, by roles outside the development organization.
component
A minimal part of a system that can be tested in isolation.
component testing, module testing, unit testing
The testing of individual hardware or software components.
driver, test driver
A software component or test tool that replaces a component that takes care of the control and/or the calling of a component or system.
functional requirement
A requirement that specifies a function that a component or system must be able to perform.
non-functional requirement
A requirement that describes how the component or system will do what it is intended to do.
robustness, error-tolerance, fault-tolerance
The degree to which a component or system can function correctly in the presence of invalid inputs or stressful environmental conditions.
robustness testing
Testing to determine the robustness of the software product.
stub
A skeletal or special-purpose implementation of a software component, used to develop or test a component that calls or is otherwise dependent on it. It replaces a called component.
system testing
Testing an integrated system to verify that it meets specified requirements.
test environment, test bed, test rig
An environment containing hardware, instrumentation, simulators, software tools, and other support elements needed to conduct a test.
test level, test stage
A specific instantiation of a test process.
test-driven development (TDD)
A way of developing software where the test cases are developed, and often automated, before the software is developed to run those test cases.
user acceptance testing, acceptance testing
Acceptance testing conducted in a real or simulated operational environment by intended users focusing their needs, requirements and business processes.
acceptance criteria
The criteria that a component or system must satisfy in order to be accepted by a user, customer, or other authorized entity.
acceptance testing
Formal testing with respect to user needs, requirements, and business processes conducted to determine whether or not a system satisfies the acceptance criteria and to enable the user, customers or other authorized entity to determine whether or not to accept the system.
black-box testing, specification-based testing
Testing, either functional or non-functional, without reference to the internal structure of the component or system.
black-box test technique, black-box technique, specification-based technique, specification-based test technique
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.
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., statement coverage, decision coverage or condition coverage.
functional testing
Testing conducted to evaluate the compliance of a component or system with functional requirements.
non-functional testing
Testing conducted to evaluate the compliance of a component or system with non-functional requirements.
interoperability
The degree to which two or more components or systems can exchange information and use the information that has been exchanged.
interoperability testing, compatibility testing
Testing to determine the interoperability of a software product.
load testing
A type of performance testing conducted to evaluate the behavior of a component or system under varying loads, usually between anticipated conditions of low, typical, and peak usage.
maintainability
The degree to which a component or system can be modified by the intended maintainers.
maintainability testing
Testing to determine the maintainability of a software product.
performance efficiency, time behavior, performance
The degree to which a component or system uses time, resources and capacity when accomplishing its designated functions.
performance testing
Testing to determine the performance of a software product.
portability
The ease with which the software product can be transferred from one hardware or software environment to another.
portability testing, configuration testing
Testing to determine the portability of a software product.
reliability
The degree to which a component or system performs specified functions under specified conditions for a specified period of time.
reliability testing
Testing to determine the reliability of a software product.
security
The degree to which a component or system protects information and data so that persons or other components or systems have the degree of access appropriate to their types and levels of authorization.
security testing
Testing to determine the security of the software product.
stress testing
A type of performance testing conducted to evaluate a system or component at or beyond the limits of its anticipated or specified workloads, or with reduced availability of resources such as access to memory or servers.
white-box testing, clear-box testing, code-based testing, glass-box testing, logic-coverage testing, logic-driven testing, structural testing, structure-based testing
Testing based on an analysis of the internal structure of the component or system.
usability
The degree to which a component or system can be used by specified users to achieve specified goals in a specified context of use.
usability testing
Testing to evaluate the degree to which the system can be used by specified users with effectiveness, efficiency and satisfaction in a specified context of use.
impact analysis
The identification of all work products affected by a change, including an estimate of the resources needed to accomplish the change.
maintenance
The process of modifying a component or system after delivery to correct defects, improve quality attributes, or adapt to a changed environment.
maintenance testing
Testing the changes to an operational system or the impact of a changed environment to an operational system.
dynamic testing
Testing that involves the execution of the software of a component or system.
static testing
Testing a work product without code being executed.
entry criteria
The set of conditions for officially starting a defined task.
formal review
A form of review that follows a defined process with a formally documented output.
informal review
A type of review without a formal (documented) procedure.
inspection
A type of formal review to identify issues in a work product, which provides measurement to improve the review process and the software development process.
metric
A measurement scale and the method used for measurement.
moderator, inspection leader
A neutral person who conducts a usability test session.
peer review
A form of review of work products performed by others qualified to do the same work.
reviewer, checker, inspector
A participant in a review, who identifies issues in the work product.
scribe, recorder
A person who records information during the review meetings.
technical review
A formal review type by a team of technically-qualified personnel that examines the suitability of a work product for its intended use and identifies discrepancies from specifications and standards.
walkthrough, structured walkthrough
A type of review in which an author leads members of the review through a work product and the members ask questions and make comments about possible issues.
compiler
A computer program that translates programs expressed in a high-order language into their machine language equivalents.
complexity
The degree to which a component or system has a design and/or internal structure that is difficult to understand, maintain and verify.
control flow
The sequence in which operations are performed during the execution of a test item.
data flow
An abstract representation of the sequence and possible changes of the state of data objects, where the state of an object is any of creation, usage, or destruction.
static analysis
The process of evaluating a component or system without executing it, based on its form, structure, content, or documentation.
test case specification
Documentation of a set of one or more test cases.
test design
The activity of deriving and specifying test cases from test conditions.
test execution schedule
A schedule for the execution of test suites within a test cycle.
test procedure specification, test procedure, test scenario
Documentation specifying one or more test procedures.
test script
A sequence of instructions for the execution of a test.
traceability
The degree to which a relationship can be established between two or more work products.
experience-based testing
Testing based on the tester’s experience, knowledge and intuition.
experience-based test technique, experience-based technique
A procedure to derive and/or select test cases based on the tester’s experience, knowledge and intuition.
test design
The activity of deriving and specifying test cases from test conditions.
test design specification
Documentation specifying the features to be tested and their corresponding test conditions.
test technique, test case design technique, test specification technique, test technique, test design technique
A procedure used to derive and/or select test cases.
boundary value
A minimum or maximum value of an ordered equivalence partition.
boundary value analysis
A black-box test technique in which test cases are designed based on boundary values.
decision table, cause-effect decision table
A table used to show sets of conditions and the actions resulting from them.
decision table testing
A black-box test technique in which test cases are designed to execute the combinations of inputs and/or stimuli (causes) shown in a decision table.
equivalence partitioning, partition testing
A black-box test technique in which test cases are designed to exercise equivalence partitions by using one representative member of each partition.
equivalence partition, equivalence class
A portion of the value domain of a data element related to the test object for which all values are expected to be treated the same based on the specification.
state transition
A transition between two states of a component or system.
state transition testing, finite state testing
A black-box test technique using a state transition diagram or state table to derive test cases to evaluate whether the test item successfully executes valid transitions and blocks invalid transitions.
use case
A sequence of transactions in a dialogue between an actor and a component or system with a tangible result, where an actor can be a user or anything that can exchange information with the system.
use case testing, scenario testing, user scenario testing
A black-box test technique in which test cases are designed to execute scenarios of use cases.
decision
A type of statement in which a choice between two or more possible outcomes controls which set of actions will result.
decision coverage
The coverage of decision outcomes.
decision outcome
The result of a decision that determines the next statement to be executed.
statement coverage
The percentage of executable statements that have been exercised by a test suite.
statement, source statement
An entity in a programming language, which is typically the smallest indivisible unit of execution.
exploratory testing
An approach to testing whereby the testers dynamically design and execute tests based on their knowledge, exploration of the test item and the results of previous tests.
tester
A skilled professional who is involved in the testing of a component or system.
test leader, lead tester
On large projects, the person who reports to the test manager and is responsible for project management of a particular test level or a particular set of testing activities.
test manager
The person responsible for project management of testing activities and resources, and evaluation of a test object. The individual who directs, controls, administers, plans and regulates the evaluation of a test object.
test approach
The implementation of the test strategy for a specific project.
test strategy, organizational test strategy
Documentation that expresses the generic requirements for testing one or more projects run within an organization, providing detail on how testing is to be performed, and is aligned with the test policy.
defect density, fault density
The number of defects per unit size of a work product.
failure rate
The ratio of the number of failures of a given category to a given unit of measure.
test control
A test management task that deals with developing and applying a set of corrective actions to get a test project on track when monitoring shows a deviation from what was planned.
test monitoring
A test management activity that involves checking the status of testing activities, identifying any variances from the planned or expected status, and reporting status to stakeholders.
configuration
The composition of a component or system as defined by the number, nature, and interconnections of its constituent parts.
configuration management
A discipline applying technical and administrative direction and surveillance to identify and document the functional and physical characteristics of a configuration item, control changes to those characteristics, record and report change processing and implementation status, and verify compliance with specified requirements.
product risk
A risk impacting the quality of a product.
project risk
A risk that impacts project success.
risk-based testing
Testing in which the management, selection, prioritization, and use of testing activities and resources are based on corresponding risk types and risk levels.
incident management
The process of recognizing and recording incidents, classifying them, investigating them, taking action to resolve them, and disposing of them when resolved.
incident report, deviation report, software test incident report, test incident report
Documentation of the occurrence, nature, and status of an incident.
configuration management tool
A tool that provides support for the identification and control of configuration items, their status over changes and versions, and the release of baselines consisting of configuration items.
coverage tool, coverage measurement tool
A tool that provides objective measures of what structural elements, e.g., statements, branches have been exercised by a test suite.
debugging tool, debugger
A tool used by programmers to reproduce failures, investigate the state of programs and find the corresponding defect. Debuggers enable programmers to execute programs step by step, to halt a program at any program statement and to set and examine program variables.
dynamic analysis tool
A tool that provides run-time information on the state of the software code. These tools are most commonly used to identify unassigned pointers, check pointer arithmetic and to monitor the allocation, use and de-allocation of memory and to flag memory leaks.
incident management tool
A tool that facilitates the recording and status tracking of incidents.
modeling tool
A tool that supports the creation, amendment and verification of models of the software or system.
monitoring tool
A software tool or hardware device that runs concurrently with the component or system under test and supervises, records and/or analyzes the behavior of the component or system.
performance testing tool
A test tool that generates load for a designated test item and that measures and records its performance during test execution.
requirements management tool
A tool that supports the recording of requirements, requirements attributes (e.g., priority, knowledge responsible) and annotation, and facilitates traceability through layers of requirements and requirements change management. Some requirements management tools also provide facilities for static analysis, such as consistency checking and violations to pre-defined requirements rules.
review tool
A tool that provides support to the review process. Typical features include review planning and tracking support, communication support, collaborative reviews and a repository for collecting and reporting of metrics.
security tool
A tool that supports operational security.
static analyzer, analyzer, static analysis tool
A tool that carries out static analysis.
stress testing tool
A tool that supports stress testing.
probe effect
The effect on the component or system by the measurement instrument when the component or system is being measured, e.g., by a performance testing tool or monitor. For example performance may be slightly worse when performance testing tools are being used.
test comparison
The process of identifying differences between the actual results produced by the component or system under test and the expected results for a test. Test comparison can be performed during test execution (dynamic comparison) or after test execution.
test comparator, comparator
A test tool to perform automated test comparison of actual results with expected results.
test data preparation tool, test generator
A type of test tool that enables data to be selected from existing databases or created, generated, manipulated and edited for use in testing.
test design tool
A tool that supports the test design activity by generating test inputs from a specification that may be held in a CASE tool repository, e.g., requirements management tool, from specified test conditions held in the tool itself, or from code.
test harness
A test environment comprised of stubs and drivers needed to execute a test.
test execution tool
A test tool that executes tests against a designated test item and evaluates the outcomes against expected results and postconditions.
test management
The planning, scheduling, estimating, monitoring, reporting, control and completion of test activities.
test management tool
A tool that provides support to the test management and control part of a test process. It often has several capabilities, such as testware management, scheduling of tests, the logging of results, progress tracking, incident management and test reporting.
unit test framework
A tool that provides an environment for unit or component testing in which a component can be tested in isolation or with suitable stubs and drivers. It also provides other support for the developer, such as debugging capabilities.
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 table. Data-driven testing is often used to support the application of test execution tools such as capture/playback tools.
keyword-driven testing, 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 keywords are interpreted by special supporting scripts that are called by the control script for the test.