Abstract
Computer and Telecommunication networks are intended to exchange and transport in-
formation in electronic form. Usually, these networks are built by connecting systems of
dierent vendors. In order to allow for the exchange of information between such systems,
communication protocols are developed and standardised by international standardisation
organisations. Communication protocols dene how communication sessions
... read more
must be set
up and how information must be exchanged.
The implementations of the communication protocols, that are used in the construction of
a network, must conform to the international standards as otherwise the dierent systems
in the network will not `understand' each other. A practical method to gain condence
that an implementation conforms to the relevant communication protocol standard, is to
perform tests. This form of testing is called conformance testing.
Before the execution of conformance tests can start, it must be clear what tests must be
run. Therefore, the testing activities start with the derivation and specication of tests.
This is a time consuming and error prone activity when performed manually. Therefore,
research activities have been undertaken to develop automatic test generation methods.
As dierent communication protocol aspects can be identied, dierent tests and also
dierent test generation methods are needed.
In order to explain this, we use the following metaphor. Assume that there are two
persons that decide to play a game of chess. As they live far apart from each other, they
use the regular mail system to exchange chess moves. To colour up the game of chess, it is
decided to exchange the chess moves using coloured envelopes according to the following
rules that must be adhered to by both persons: The rst move is sent in a red envelope;
After receiving a red envelope, a white envelope must be sent; After receiving a white
envelope, a blue envelope must be sent; After receiving a blue envelope, a red envelope
must be sent. Furthermore, the chess players must adhere to the rules of the chess game.
This implies that the moves that are sent back and forth are dependent oneach other, e.g.,
a chess move can only start from an initially empty eld of the chessboard if a previous
move put a chess piece on this eld.
In order to check if the chess players play according to all the rules, two aspects must
be examined. First, it must be checked if the players use the coloured envelopes cor-
rectly, i.e., does the sequence of envelopes show a resemblance to the Dutch national ag.
Second, it must be checked if the chess moves that are exchanged constitute a correct
game of chess. The rules regarding the use of coloured envelopes and the rule that the
contents of the messages, i.e., the chess moves, must constitute a correct game of chess
can be seen as a communication protocol. For standardised communication protocols that?228
are used in networks, analogous aspects as described for the chess game, play a role in
conformance testing. The counterparts of the coloured envelopes are the dierent sorts of
communication protocol messages that can be used in a communication session. Testing
if these messages are used in the correct order is usually referred to as testing the dynamic
behaviour. The counterparts of the chess moves that are in the envelopes are the contents
of the communication protocol messages. Testing the correctness of the contents of the
messages and their mutual dependencies, is analogous to checking if the chess moves con-
stitute a correct game of chess. We refer to this as testing the communication protocol
data aspects.
A rst step towards the automatic generation of tests is to formally describe the dynamic
behaviour and data aspects. In communication protocol standards, dynamic behaviour
aspects are usually specied by means of nite state machines or similar models. A variety
of automatic test generation methods, based on nite state machines, for the derivation
of dynamic behaviour tests exist. However, for the data aspects this is dierent. These
aspects are usually described in English. So, to allow for the automatic generation of tests,
these data aspects must be specied using some sort of formal description technique.
In this thesis we investigate the aspects related to protocol data dependencies. We present
a description technique that can be used to specify dierent sorts of data dependencies.
Furthermore, we describe a method to derive conformance tests from specications that
use our description technique for the data dependencies. This method can be automated.
It can be noted that other existing test generation methods, that mainly deal with dy-
namic behaviour aspects, result in test specications in which only the ordering of the
test messages are described. The contents of the test messages are not generated and
must be added later by protocol experts. As will be clear, the contents of messages that
are used in data tests are crucial. Therefore, a data test generation method must also
generate the contents of the test messages. We have developed a method that can be used
to automatically generate the contents of test messages. This method can be used in the
derivation of data tests according to the data test generation method that is described in
this thesis. However, the test message generation method can also be used in combina-
tion with other existing test generation methods that concentrate on dynamic behaviour
aspects. This method to generate the contents of test messages is also presented in this
thesis.
show less