Glossary of Software Testing Terms:
This glossary of software testing
terms and conditions is a compilation of knowledge, gathered
over time, from many different sources. It is provided as-is
in good faith, without any warranty as to the accuracy or
currency of any definition or other information contained
herein. If you have any questions or queries about the contents
of this glossary, please contact
Project Realms directly.
A peer group discussion activity that focuses on achieving
consensus on the technical approach to be taken. A technical
review is also known as a peer
Test Analyst Role
A test analyst is responsible for decomposing test requirements,
test case creation, test execution and assisting the test lead
in defining the test strategy and the test plan. They will normally
be assigned a system(s) or function(s) within a system that
they will be accountable for. It should be noted that a test
analyst on some smaller projects may also perform in the role
of test lead.
The implementation of the test strategy for a specific project.
It typically includes the decisions made that follow based on
the (test) projects' s goal and the risk assessment carried
out, starting points regarding the test process and the test
design techniques to be applied.
The use of software to control the execution of test, the comparison
of actual outcomes to predicted outcomes, the setting up of
test preconditions, and other test control and test reporting
functions. Commonly, test automation involves automating a manual
process already in place that uses a formalized testing process.
Over the past few years, tools that help programmers quickly
create applications with graphical user interfaces have dramatically
improved programmer productivity. This has increased the pressure
on testers, who are often perceived as bottlenecks to the delivery
of software products. Testers are being asked to test more and
more code in less and less time. Test automation is one way
to do this, as manual testing is time consuming. As and when
different versions of software are released, the new features
will have to be tested manually time and again. But, now there
are tools available that help the testers in the automation
of the GUI which reduce the test time as well as the cost; other
test automation tools support execution of performance tests.
Many test automation tools provide record and playback features
that allow users to record interactively user actions and replay
it back any number of times, comparing actual results to those
expected. However, reliance on these features poses major reliability
and maintainability problems. Most successful automators use
a software engineering approach, and as such, most serious test
automation is undertaken by people with development experience.
An execution environment configured for testing.
May consist of specific hardware, OS, network topology, configuration
of the product under test, other application or system software,
etc. The Test Plan for a project should
enumerate the test beds(s) to be used.
A commonly used term for a specific test. This is usually the
smallest unit of testing. A test case will consist of information
such as requirements testing, test steps, verification steps,
prerequisites, outputs, test environment, etc.
An alternative definition for test case is a set of inputs,
execution preconditions, and expected outcomes developed for
a particular objective, such as to exercise a particular program
path or to verify compliance with a specific requirement.
The test cases are derived from the test plan. They explain
at a granular level how the test plan and requirements will
be executed. It includes step by step instructions for testing
a specific requirement. It will also have specific environment
and data needs. Test cases incorporate happy path and some negative
A test case provides a description of an input, the action or
event that needs to occur, and the expected result. It should
contain the following information: unique test case identifier,
test case name, the objective of the test, the test conditions
or setup needed, what input data is needed, the steps needed
to execute the test case, and what the expected results should
Test Cases should be accurate, economical, repeatable, and traceable.
Test Case Design Technique
A method used to derive or select test cases.
Test Case Suite
A collection of one or more test cases for the software under
A statement of test objectives, and possibly
test ideas. Test charters are amongst other used in exploratory
A test tool that compares the actual outputs produced by the
software under test with the expected outputs for that test
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 Completion Criterion
A criterion for determining when planned testing is complete,
defined in terms of a test measurement technique.
Test Completion Report
The Test Completion Report is a final view of the testing effort.
It contains a summary of the test effort, a collection of test
metrics, analysis of these metrics, and any testing -related
recommendations for future projects. This report assists the
Project Manager in closing the overall project. It also provides
a consistent media for collecting and reporting final test metrics.
This report, in conjunction with similar reports from other
projects, can be used for quality assurance activities with
the organization such as testing process improvement or enhancing
the software development process.
Test Coverage Matrix
The Test Coverage Matrix is a tool used by the test team to
communicate the coverage of requirements by the test cases.
Quality should be measurable in the development lifecycle, and
the simplest measurement is to validate that the team built
what it set out to build. This is referred to as maintaining
traceability of the requirements. The matrix allows testers
to validate coverage and traceability, identify gaps in design
and testing, and serves as a tracking source. The Test Coverage
Matrix is also referred to Requirements
Data that exists (for example, in a database) before a test
is executed, and that affects or is affected by the component
or system under
Test Data Management
The management of test data during test to ensure complete data
integrity and legitimacy from the beginning to the end of test.
Test Driven Development
Testing methodology associated with Agile Programming in which
every chunk of code is covered by unit test which must all pass
all the time, in an effort to eliminate unit-level and regression
bugs during development. Practitioners of TDD write a lot of
test, i.e. an equal number of lines of test code to the size
of the production code.
A program or test tool used to execute software against a test
A description of the hardware and software environment in which
the tests will be run and any other software with which the
software under test interacts when under test including stubs
and test drivers.
The purpose of the test environment is to provide testers with
a stable shared environment for implementing changes and testing
application functions in a controlled manner.
The process of carrying out a test, whether it be manually or
using automated test software..
Test Execution Phase
The period of time in the application development life cycle
during which the components of a software product are executed,
and the software product is evaluated to determine whether or
not requirements have been satisfied.
Test Execution Schedule
A scheme for the execution of test procedures. The test procedures
are included in the test execution schedule in their context
and in the order in which they are to be executed.
Test Execution Technique
The method used to perform the actual test execution, e.g. manual,
capture/playback tool, etc.
Test First Design
Test-first design is one of the mandatory practices of Extreme
Programming (XP). It requires that programmers do not write
any production code until they have first written a unit test.
A program that generates test cases in accordance to a specified
A program or test tool used to execute a test. Also known as
a Test Driver.
The organizational artifacts needed to perform testing, consisting
of test environments, test tools, office environment and procedures.
Test Lead Role
This role is responsible for reviewing project artifacts, creating
the Test Strategy and Test
Plan, creating Test Cases, conducting
defect reviews, providing the Promotion
Recommendation, reporting test effort progress to the Project
Manager , and directing the work of Test
Analysts. On smaller projects, the Test Lead and Test Analyst
roles may be filled by the same person.
A group of test activities that are organized and managed together.
A test level is linked to the responsibilities in a project.
Examples of test levels are component test, integration test,
system test and acceptance test.
A Test Log is a chronological record of relevant details about
the execution of tests. It is used to communicate the status
of the testing effort to the project team. Test Log reporting
begins as test cases are created and continues throughout the
testing effort. The log may include a test case description,
owner, execution status, and related defects. It can also be
used to maintenance tasks or system enhancements.
Test Management includes the monitoring and planning of the
testing effort and testing resources. It is the collection,
display, and control of tests and resources.
Test managers really serve two very different customers, their
testers and corporate management. For the testers, the test
manager helps develop product test strategies, and provides
test expertise to the testing group. For management, the test
manager gathers product information so that corporate management
can decide when the product is ready to ship. For both the testers
and management, the test manager helps define and verify product
Test Measurement Technique
A method used to measure test coverage items.
The component/system/application to be tested.
The Test Plan is a document describing the scope, approach,
resources, and schedule of intended testing activities. It identifies
test items, the features to be tested, the testing tasks, who
will do each task, and any risks requiring contingency planning.
The Test Plan further refines the what, who, how, and when of
the testing effort outlined in the Test Strategy. It communicates
which types of tests will be conducted as well as how testing
information will be documented and reported. See also Project
Test Point Analysis
A formula based test estimation method based on function point
A document providing detailed instructions for the execution
of one or more test processes.
Test Readiness Assessment
A Test Readiness Assessment is conducted prior to the execution
of Test Cases. It confirms that the
system is ready to be tested, which assures the team that defects
are specific to the System
Under Test and not the environment. It also confirms that
the test team is ready to begin testing, which helps set an
expectation among test team members of when defect reporting
will begin. Test Readiness Assessments may include approving
test cases, checking test analyst availability, and completing
For each test, an unambiguous record of the identities and versions
of the component under test, the test specification, and actual
The execution of a test on a specific version of the test object.
A test scenario is a definition of a set of test cases or test
scripts and the sequence in which they are to be executed.
For performance testing, a test scenario defines the number
of VU 's (load generated), parameter setting, configuration
settings, and the scripts to be used. It also gives us details
of how the scripts have been distributed among the various agent
boxes. Typically the tester will spend some time setting up
the proper business function script, assigning a certain number
of VU's to each script, setting the Think Time replay %, and
setting the correct pacing. Once setup, we can then use the
testing tool to save a specific test scenario.
A document specifying the test approach for a software feature
or combination of features and the inputs, predicted results,
and execution conditions for the tests. See also Test
A logical set of instructions, documented within test cases,
designed to produce an expected result. Test cases should contain
no more than 15 test steps. Each step should only contain
The test strategy is the "SOW" document for the testing
team. It defines the purpose and scope of the testing effort.
The test strategy communicates the testing objectives, approach,
resource needs, initial estimates, project milestones, and project
controls to the testing team.
A Test Suite is a logical collection of test
cases used to validate the behavior of a product. The scope
of a test suite varies from organization to organization. There
may be several test suites for a particular product for example.
In most cases however a test suite is a high level concept,
grouping together hundreds or thousands of test related by what
they are intended to test.
A set of test completion criteria for the test.
A group of test activities aimed at testing a component or system
regarding one or more interrelated quality attributes. A test
type is focused on a specific test objective, i.e. reliability
test, usability test, regression test etc., and may take place
on one or more test levels or test phases.
Testability is the degree to which a system
or component facilitates
the establishment of test criteria and the performance of tests
to determine whether those criteria have been met.
A tester is a person (either a professional or a user) who is
involved in the testing of a component
- The process of exercising software to verify that is satisfies
specified requirements and to detect errors.
- The process of analyzing a software item to detect the
differences between existing and required conditions (that
is, bugs), and to evaluate the features of the software
- The process of operating a system or component under specified
conditions, observing or recording the results, and making
an evaluation of some aspect of the system or component.
Computer programs used in the testing of a system,
a component of
the system, or its documentation.
Think time is idle wait time recorded or manually added to the
script. During replay of the script, the testing tool can to
set to honor the think time, thus sitting idle for the specified
amount of time.
A version of component integration testing where the progressive
integration of components follows the implementation of subsets
of the requirements, as opposed to the integration of components
by levels of a hierarchy.
A chronological representation of components in
a result set, combining different areas of test analysis, such
as visual, database, messages and linked programs.
Top Down Testing
An approach to integration
testing where the component
at the top of the component hierarchy is tested first, with
lower level components being simulated by stubs. Tested components
are then used to test lower level components. The process is
repeated until the lowest level components have been tested.
Top Time Transactions
Following a performance
test, a report is produced of each transaction's response
time. This report identifies the transactions that take the
longest versus shortest time to execute.
Total Quality Management
A company commitment to develop a process that achieves high
quality product and customer satisfaction.
The ability to identify related items in documentation and software,
such as requirements with associated tests.
A document showing the relationship between Test Requirements
and Test Cases.
A value captured in one part of an automated test process and
retained for use at later stage.
The performance testing tool captures the play back time for
the scripts recorded and in essence provides the time it takes
for a webpage to load. Each instance of a new webpage being
loaded is defined as a transaction.
| Contact us for more info