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.
Capability Maturity Model for Software
The CMM is a process model based on software best-practices
effective in large-scale, multi-person projects. The CMM has
been used to assess the maturity levels of organization areas
as diverse as software engineering, system engineering, project
management, risk management, system acquisition, information
technology (IT) or personnel management, against a scale of
five key processes, namely: Initial, Repeatable, Defined,
Managed and Optimized.
Capability Maturity Model Integration
Capability Maturity Model ® Integration (CMMI) is a process
improvement approach that provides organizations with the essential
elements of effective processes. It can be used to guide process
improvement across a project, a division, or an entire organization.
CMMI helps integrate traditionally separate organizational functions,
set process improvement goals and priorities, provide guidance
for quality processes, and provide a point of reference for
appraising current processes.
Seen by many as the successor to the CMM, the goal of the
CMMI project is to improve the usability of maturity models
by integrating many different models into one
incorporates capture/playback tools. They capture every input
and then may be played back to identify behavior. This does
require scripting, so to be cost-effective, the application
should be stable before attempting to automate testing. Capture/playback
can only ensure that what was recorded is what is played back,
this may or may not be what was intended for the system.
A test tool that records test input as it is sent to the software
under test, the input cases stored can then be sued to reproduce
the test at a later time.
Computer-Aided Software Testing (CAST)
Acronym for computer-aided software testing. Automated
software testing in one or more phases of the software life-cycle.
See also ASQ.
A graphical representation of inputs or stimuli (causes) with
their associated outputs (effects), which can be used to design
The process of confirming that a system or component complies
with tits specified requirements and is acceptable for operational
The principle of structural code based testing is to have each
an every statement in the program executed at least once during
the test. Based on the premise that one cannot have confidence
in a section of code unless it has been exercised by test, structural
code based testing attempts to test all reachable elements in
the software under the cost and time constraints. The testing
process begins by first identifying areas in the program not
being exercised by the current set of test cases, followed by
creating additional test cases to increase the coverage.
A phase of development where functionality is implemented in
its entirety; bug fixes are all that are left. All functions
found in the Functional
Specifications have been implemented.
A measure used in software testing. It describes the degree
to which the source code of a program has been tested. It is
a form of testing that looks at the code directly and as such
comes under the heading of white box testing.
To measure how well a program has been tested, there are
a number of coverage criteria - the main ones being:
- Functional Coverage - has each function in the program
- Statement Coverage - has each line of the source code
- Condition Coverage - has each evaluation point (i.e. a
true/false decision) been tested?
- Path Coverage - has every possible route through a given
part of the code been executed?
- Entry/Exit Coverage - has every possible call and return
of the function been tested?
A formal testing technique where the programmer reviews source
code with a group who ask questions analyzing the program logic,
analyzing the code with respect to a checklist of historically
common programming errors, and analyzing its compliance with
A code review is the verification of the application design
and implementation based on the code written.
A formal testing technique where source code is traced by a
group with a small set of test cases, while the state of program
variables is manually monitored, to analyze the programmer's
logic and assumptions.
The generation of source code.
The process of testing to understand if software is compatible
with other elements of a system with which it should operate,
e.g. browsers, Operating Systems, or hardware.
Complete Path Testing
A minimal software item for which a separate specification is
A description of a component's function in terms of its output
values for specified input values under specified preconditions.
The testing of individual software components.
Multi-user testing geared towards determining the effects of
accessing the same application code, module or database records.
See Load Testing.
A Boolean expression containing no Boolean operators. For instance,
A<B is a condition but A and B is not.
The evaluation of a condition to TRUE or FALSE.
Configuration testing verifies the operation of different software
and hardware configurations. In most environments, the particular
hardware specifications for the client workstations, network
connections and database servers vary between users.
This type of testing frequently involves hardware or application
support personnel with specialized knowledge of the system.
In planning for these efforts make sure to limit the effort
to a focused small set of goals. Make as few changes as possible
between each test execution to simplify analysis of the results.
The system will consist of both hardware and software. To better
ensure achieving Configuration test objectives, if possible,
change only one of these two systems aspects at a time.
- Hardware - Configuration testing may attempt to
determine the best single server configuration such as the
optimal number of CPUs or required RAM size. It may also
look at optimal network topology or system architecture
- Software - Software Configuration Testing focuses
on optimizing the settings within software to get the desired
behavior from the software. Enabling or disabling features,
maximizing performance or optimizing software interactions
with the hardware
- Operating Systems - Determine optimal client
or server Operating System setting is one form of Configuration
testing. Testing upgrades, patches and hot fixes to
an operating system are another form
- Application Settings - Some applications have
control settings that direct the applications interactions
with the operating system or the hardware. Optimizing
these configuration settings for a software application
is another form of Configuration testing
- Software Architecture - Testing with different
software architectures is another form of Configuration
testing. Comparing Java to .NET or trying different
software prototypes is a common instance of this testing
Some method of judging whether or not the component's action
on a particular specified input value conforms to the specification.
The process of testing to determine whether a system meets some
specified standard. To aid in this, many test procedures and
test setups have been developed, either by the standard's maintainers
or external organizations, specifically for testing conformance
Conformance testing is often performed by external organizations;
sometimes the standards body itself, to give greater guarantees
of compliance. Products tested in such a manner are then advertised
as being certified by the external organization as complying
with the standard.
Context Driven Testing
The context-driven school of software testing is similar to
that advocates continuous and creative evaluation of testing
opportunities in light of the potential information revealed
and the value of that information to the organization right
An abstract representation of all possible sequences of events
in a program's execution.
Control Flow Graph
The diagrammatic representation of the possible alternative
control flow paths through a component.
Control Flow Path
The Controller is used to create and run scenarios. Once the
VU scripts have been created they need to be parameterized,
correlated, and then debugged. This enables execution of the
scripts by the VU's for multiple iterations. We can specify
the number of virtual users and the ramp up specifications to
produce the demand on the system that is required. When running
a scenario the controller co-ordinates all the virtual users.
It starts virtual users as required, and can force them to synchronize
with each other, thus producing a maximum peak demand.
Testing of programs or procedures used to convert data from
existing systems for use in replacement systems.
The degree to which software conforms to its specification.
The degree, expressed as a percentage, to which a specified
coverage item has been tested.
An entity or property used as a basis for testing.
| Contact us for more info