The Test Template Framework (TTF) is a
model-based testing
Model-based testing is an application of model-based design for designing and optionally also executing artifacts to perform software testing or system testing. Models can be used to represent the desired behavior of a system under test (SUT), ...
(MBT) framework proposed by Phil Stocks and David Carrington in for the purpose of
software testing
Software testing is the act of examining the artifacts and the behavior of the software under test by validation and verification. Software testing can also provide an objective, independent view of the software to allow the business to apprecia ...
. Although the TTF was meant to be notation-independent, the original presentation was made using the
Z formal notation. It is one of the few MBT frameworks approaching
unit testing
In computer programming, unit testing is a software testing method by which individual units of source code—sets of one or more computer program modules together with associated control data, usage procedures, and operating procedures&m ...
.
Introduction
The TTF is a specific proposal of
model-based testing
Model-based testing is an application of model-based design for designing and optionally also executing artifacts to perform software testing or system testing. Models can be used to represent the desired behavior of a system under test (SUT), ...
(MBT). It considers models to be
Z specifications. Each operation within the specification is analyzed to derive or generate
''abstract test cases''. This analysis consists of the following steps:
# Define the
''input space'' (IS) of each operation.
# Derive the
''valid input space'' (VIS) from the
IS of each operation.
# Apply one or more
''testing tactics'',
[Stocks and Carrington use the term ''testing strategies'' in .] starting from each
VIS
Vis, ViS, VIS, and other capitalizations may refer to:
Places
* Vis (island), a Croatian island in the Adriatic sea
** Vis (town), on the island of Vis
* Vis (river), in south-central France
* Vis, Bulgaria, a village in Haskovo Province
* V ...
, to build a
''testing tree'' for each operation. Testing trees are populated with nodes called
''test classes''.
#
''Prune'' each of the resulting
testing trees.
# Find one or more
''abstract test cases'' from each leaf in each
testing tree.
One of the main advantages of the TTF is that all of these concepts are expressed in the same notation of the specification, i.e. the
Z notation
The Z notation is a formal specification language used for describing and modelling computing systems. It is targeted at the clear specification of computer programs and computer-based systems in general.
History
In 1974, Jean-Raymond Abrial ...
. Hence, the engineer has to know only one notation to perform the analysis down to the generation of
abstract test cases
Abstract may refer to:
* Abstract (album), ''Abstract'' (album), 1962 album by Joe Harriott
* Abstract of title a summary of the documents affecting title to parcel of land
* Abstract (law), a summary of a legal document
* Abstract (summary), in a ...
.
Important concepts
In this section the main concepts defined by the TTF are described.
Input space
Let
be a Z operation. Let
be all the input and (non-primed) state variables referenced in
, and
their corresponding types. The ''Input Space'' (IS) of
, written
, is the Z schema box defined by