Professional Documents
Culture Documents
80 computer communications
In its initial model, this testing system was built for
testing protocols for the network layer of the OSI model.
J Datosink J J Scenariofile I
Later on, however, it proved to be satisfactory for testing
protocols above the network layer when the underlying
service was expected to be end-to-end. The NPL is I o g ~ I Operator
COnSOle
working on adapting the active tester from layer-by-layer /
testing to multilayer testing, which will not consider
intermediate interfaces, so that the testing process will Test centre
become more manageable. Now NPL is takingthe lead in driver(TC) Datagenerator
developing an OSI standard for an OSI conformance
~ 1
testing methodology and framework.
Exception
generator T r
o nsport
protocol
implementation
NCC service
At the National Computing Centre (NCC) in the UK, a
_ I Network I
third party testing service has been built under the name --i interface I
of NCC Comms-AID (Communication Software Assess-
ment and Interactive Development) 3. 1
Networkprotocol
The NCC objectives are2:
Figure 2. NBS tester
• to establish an effective resource to assist the OSI user
community in the UK;
• to provide test facilities for as many protocols as valid events at the service interface or from the peer
practicable; protocol; that it can reject errors passed across the service
• to provide a better indication of commercial feasibility; interface and peer protocol errors, and that it can handle
• to test and develop further techniques; timeouts or multiplexed connections correctly as well 4.
• and to promote the OSI model and the concept of Although this system has been successfully used in
third party testing. transport layer protocol testing, the NBS considers that it
is unreasonable to construct one testing system for each
The NPL and NBS test systems (see below), which are
protocol. Consequently, an adaptation of this system has
separately used in testing network and transport layer
been planned for use in testing other layer protocols of
protocols were both installed at the NCC in 1983. The the OSI model.
NCC Com ms-AID service is a remote testing facility which
includes a tester located at the NCC site, the product
under test is installed on the client's own system, and the Two Canadian testing systems
connection of both sites is made via PSS. The tester can
generate test data and interpret responses as well. The Bochmann's group from the University of Montreal have
significant feature of this system is that the test can be developed some systematic methods to generate test
controlled either at the NCC or at the client's site. sequences for communication protocols, particularly for
NCC test facilities are already available for testing the transport layer protocols s. They have designed a simple
network layer and most parts of the transport layer. Higher and general test architecture as an experimental bed (see
layer testing facilities are under development. The NCC Figure 3) to try their methods for generating test cases. The
will use their system to provide a commercial testing test bed consists of an active tester, connected to a test
service. responder.
At the BNR laboratory in Ottawa, an integrated test
centre has been built for testing SL-10 (a trade mark of
NBS testing system Northern Telecom) packet network products. This centre
provides four test tools which make the network testing
The National Bureau of Standards (N BS) in the USA started more manageable for the implementer, manufacturer
to build a certification centre in 19824. The initial purpose and network operator, and also automatically allows
was to meet the requirements of testing their own
protocol implementation conformance to Federal
Information Processing Standards. Activetester L_ Testprotocol - [ Testresponder
The architecture of the tester was designed for the
transport layer of the OSI standard as shown in Figure 2. Peerunit I !I Unit undertest
Both tester and client are connected via the network
protocol during testing. The major difference from NPL's Network protocol I-- --j Network protocol
82 computer communications
A special feature of this system is that its user can be the test is located at the responder site and a reference
implementer of the object under test, or the operator of product is set at the active tester. All test systems should
the system without making changes in the system have a mechanism for generating test cases so that the
structure. The implementer using the system can work operator does not need to input the test data manually.
locally to debug the implementation under test on line Most systems provided by third parties are designed to
and to perform the test with a remote reference operate on the active tester's local site and to look on test
implementation (PIR). When the test centre operator uses responders as customers. Only a few, like GMD and CREI,
the system, a remote customer implementation (IUT) is allow the test responder to call the tester and can be
tested against the local reference implementation (PIR). operated at both sites.
This system allows the TD (tester driver) to transfer Current standardization work by ISO and CCITT is
information about the service primitives to the TR (tester contributing in the following areas: first, the development
responder) before the testing session starts. Therefore the of a portable test system for the OSI File Transfer Access
TR is required to have the memory and an interpreter for and Management (FTAM) (Layer 7) protocol; second,
storing and performing the TD instructions. automatic generation of test cases from formal protocol
The major functions performed by the TD and TR are: specifications; and third, the development of standards
notification of the testing session opening and closing; for conformance testing and formal protocol description
data needed for the synchronization of the TD and TR techniques.
behaviour; and indication of any failure 12. When building a test system, designing the test case
The TD consists of five modules, namely the database, generator is a vitally important part of the work. Therefore,
operator-interface, control, test processing, and mapping research to find better methods for generating test cases is
module. The TR consists only of the test processing and very valuable.
mapping modules. All modules implemented depend on
the testing layer.
It is proposed that the system should be able to test
any layer of the OSI architecture, or a sublayer, or even the M E T H O D O L O G I E S IN PROTOCOL TESTING
combination of several layers of the OSI.
How can a system be produced with effective test cases
and how can these be automatically generated without
G M D system looking at the details of the implementation? These
problems have attracted researchers to concentrate their
At GMD of FRG, a special protocol tester for testing and attention on test case design methodologies. As a result of
diagnosis of higher level protocols has been developed 13. this, a number of techniques for generating test cases
The structure of the tester is similar to Figure 4 (the French have recently become available. For instance, Sarikaya
STQ system). and Bochmann have found that various methods for
The proposed testing techniques assume that tests are testing state machines can be applied to the selection of
driven under remote control by the client. At the test sequences for protocols specified as a finite state
beginning, the strategy of manually driven tests was used, machine s. They have applied three methods: transition
and included the following: no test driver responder tour, checking sequence and W-method, in testing a
protocol; no constraints for test responders; and a test transport layer protocol. Ural and Probert TM have also
driver manually controlled by the client by using test adapted the method of context-free grammars to protocol
commands. Later, the strategy of automatic tests was testing. Most recently, Sabnani and Dahbura 15 have
developed, based on common agreement of test protocols, created a new method to produce unique input-output
definition of test responders and an active test driver sequences for protocol testing.
which reads the test commands from a file.
AT GMD, the active tester can be accessed via X.25 or
X.28 and can be called as a test partner from the client's
system. It can also be inserted into the connection Transition tours
between two partners for the purpose of arbitration
testing (which means to determine the cause of a The method of transition tours, like the others, assumes
problem) and allows the testing of several parallel test that the protocol to be tested is specified as a finite state
connections. machine (FSM). This is one of the simplest methods.
The GMD project is one of the collaborative projects Transition tour is the name of an input sequence of the
funded by the CEC (Commission of the European FSM, which starts with the initial state and will cover all the
Communities). transitions in the FSM state table at least once. It detects
all operation errors (errors in the output function), but it
does not detect all the transfer errors (errors in the next
Remarks state function).
As the test sequence is based on the traversal of the
As shown above, test systems are commonly constructed FSM graph, the test should start from the initial state, go
by using an active tester connected to a test responder for through all possible transitions, and then come back to
testing OSl or similar products. A protocol product under the initial state.
b c
84 computer communications
sequences. The problem is that when the number of • Compute all input/output sequences of length 1 for
states is large it is difficult to find a DS in a specified each state;
machine. Normally, a 'read state' input/output facility is • Check if these are unique; if yes, a UIO sequence for
added to help obtain a DS. the state has been found;
• If not, compute sequences of length 2 for the state
which does not have a UIO sequence so far;
Context-free grammars • Continue to compute length I + 1, and check unique-
ness until the UIO for every state is found.
Grammars are often used to define languages. The
The second step is to generate a test sequence, as
method of context-free grammar which will be discussed
follows:
here uses an attributed grammar to build a program
language for specifying and generating test sequences (1) Generate a test to check whether each state is
from the service or protocol specifications. reachable from the initial state and whether it has a
The use of an attributed grammar to generate test cases UIO sequence (by using the method above);
in software testing was suggested by Duncan and (2) Generate a test to check whether each edge has the
Hutchison 2°. Ural and Probert have adapted this method correct head state, the correct tail state, and the
from its use in general software testing, and have correct label;
developed a method to generate test sequences for (3) Concatenate the tests from (1) and (2), and remove
transport layer service and protocol testing TM. When the redundancy in order to reduce the test sequence
protocol is specified by using a context-free grammar, it length.
can easily be tested using this method.
When using this method in testing protocols, it is The format of the test sequences is the edge label
sequence:ll/01 12/02 13/03 . . . ; the label of an edge
necessary, first, to understand correctly the functional
requirements of the communication protocol; second, an contains the input part (I) and expected output part (O).
attributed context-free grammar is constructed and test The test sequence is able to give a clear overview of the
sequences specified from a functional requirement; third, input and output behaviour, and it is therefore very
a language defined by the grammar is used to specify a helpful to carry out a result comparison with it. When one
generator for test sequences; fourth, the grammar is takes the input part of the labels as a test input sequence
implemented as a generator program; finally, the programs to do the protocol testing, a sequence of results is
are run in a controlled fashion and a set of representative obtained. If there is any difference between the actual
test sequences generated randomly, systematically, or result and the output part of the test sequence, it is
selectively. obvious that the protocol under test is faulty.
Although using the test sequence generator can This method has also been applied to the Alternating
Bit Protocol 15 and the Proway protocol 22.
automatically produce test sequences, the generator
design needs careful human insight. Therefore, this is
called a semiautomatic method.
Comparison
UlO sequence generation Except for the context-free grammar method which is
mainly used when the protocol is specified by a context-
Sabnani and Dahbura is have introduced another tech- free grammar, all others are based on the finite state
nique for generating protocol tests by means of a novel machine specification. Bochmann has carried out a
procedure which can generate test sequences. The comparison on the first three methods mentioned above.
procedure is based on the assumption that the protocol is For fault detection capability, the checking sequence is
specified as a minimal finite state machine. The key idea best, and the W-method is better than the transition tour.
in the procedure is first to compute a unique input- For the length of sequence, the transition tour gives the
output (UIO) sequence for each state in the protocol shortest test sequence because the test sequence is
specification, and then to generate a test sequence to visit directly formed by checking the FSM diagram, and does
all states and state transitions by using the UIO sequences. not need to add any extra characteristic sequence. For the
The testing covers all the state transitions and checks the W-method and checking sequence methods, the problem
UIO sequences for each state. It can also detect the is that sometimes it is difficult to find the DS or W-set for a
problems that exist in the implementation, such as an finite state machine module, resulting in much more work.
incorrect edge label, an incorrect header state or an All these methods test only whether every path is
incorrect tail state. reachable or not, and do not refer to further test cases
The procedure for generating test sequences consists chosen.
of two main steps: The UIO sequence technique is an advance on the
First compute a UIO sequence for each state. Computing others in that it is an approach to generating tests
the UIO sequence includes: automatically. The technique emphasises testing of each
state rather than testing the whole machine. Any level of
• For each edge label, compute the list of edges with that protocol which is specified by a FSM can be tested by this
label (for later use): technique. Those who do the testing need only input an
86 computer communications
- 0 - 0 0 0 0
10 Rafiq, O 'A good approach for testing protocol Rev. Vol 15 No 4 (September 1985)
implementations' Int Semin. CompuL Network. Perf. 16 Naito, S and Tsunoyama, M 'Fault detection for
EvaL Tokyo, Japan (18-20 September 1985) sequential machines by transition tours' Proc. IEEE
11 Rafiq, O et al. 'Towards an environment for test OSI Fault Tolerant Computing Conf. (1982)
protocol' Fifth International Workshop on Protocol 17 Gill, A Introduction to the theory of finite state
Specification, Testing and Verification Toulouse- machine McGraw Hill, USA (1962)
Moissac, France (10-13 June 1985) 18 Chow, T S 'Testing Software Design Modelled by
12 Palazzo, Set al. 'A layer independent architecture for Finite State Machines' IEEE Trans. on Software
a testing system of Protocol Implementations' in Engineering Vol SE-4 No 3 (May 1978)
Rudin, H and West, C H (eds) Protocol specification 19 Kohavi, Z Switching and finite automata theory
testing and verification Elsevier Science (1983) McGraw Hill, USA (1978)
13 Giebler, A 'Testing and diagnosis aids for higher level 20 Duncan, A G and Hutchison, J S 'Using attributed
protocols' in Rudin, H and West, C H (eds) Protocol grammars to test designs and implementations' Proc.
specification testing and verification Elsevier (1983) 4th Int. Conf. Software Engineering (1981)
14 Ural, H and Probert, R 'User-Guided Test Sequence 21 British Standards Instilution Draft--Process data
Generation' in Rudin, H and West, C H (eds) highway, type C, for distributed process control
Protocol specification testing and verification Elsevier system (1985)
(1983) 22 Wang, B 'Implementation and testing of computer
15 Sabnani, K and Dahbura, A 'A new technique for network protocols' M. Phil Thesis, University of
generating protocol tests' ACM Comput. Commun. Lancaster, UK (1986)