1. Tool support for...
test specification
test design
generate test inputs or executable tests
from requirements
from a graphical user interface
from design models (state, data or object)
from code
may generate expected outcomes as well
test data preparation
manipulate databases, files or data transmissions
to set up test data
to be used during the execution of tests
performance & monitoring
dynamic analysis
find defects that are evident only when
software is executing
such as time dependencies or memory leaks
used by developers
performance / load / stress
monitor and report on how a system
behaves under a variety of simulated
usage conditions
they simulate a load on an application, a
database, or a system environment, such
as a network or server
often based on automated repetitive
execution of tests, controlled by
parameters
monitoring tools
not strictly testing tools
analyse, verify and report on usage of
specific system resources
management of tests & testing
test management
help manage testing & test ware
store tests and test results
may include defect tracking
can link tests to source for traceability
generate metrics and test reports
requirements management
store requirement statements
check for consistency
check for missing requirements
allow requirements to be prioritised
incident management
store and manage incident reports, i.e. defects
facilitating their prioritisation
assignment of actions to people
attribution of status
monitor their progress
statistical analysis and reporting
also known as defect tracking tools
configuration management
not strictly testing tools
used to keep track of different versions
and builds of the software
store information about versions and
builds of software and testware
enable traceability between testware and
software work products
particularly useful when developing on
more than one configuration of the
hardware / software environment
static testing
review
also called review process support tools
store information about review processes
store and communicate review comments
report on defects
manage references to review rules
keep track of traceability between
documents and source code
may also provide aid for online reviews
static analysers
find defects before dynamic testing
the enforcement of coding standards
the analysis of structures & dependencies
calculate metrics from the code
evaluate code against coding rules
used by developers
modelling tools
validate models of the software
used by developers
test execution & logging
test execution
enable tests to be executed automatically
using stored inputs and expected outcomes
using a scripting language
test harness / unit test framework
facilitate the testing of components or part of a system
by simulating the environment in which
that test object will run
used by developers
test comparators
determine differences between files,
databases or test results
coverage measurement
measure the percentage of specific types
of code structure that have been
exercised
e.g. statements, branches or decisions,
and module or function calls
can be intrusive
used by developers
security tools
check for computer viruses and denial of service attacks
search for specific vulnerabilities of the system