In this paper we give an introduction to methods and tools for testing comm
unication protocols and distributed systems. In this context, we try to ans
wer the following questions: Why are we testing? What are we testing? Again
st what are we testing?... We present the different approaches of test auto
mation and explain the industrial point of view (automatic test execution)
and the research point of view (automatic test generation). The complete au
tomation of the testing process requires the use of formal methods for prov
iding a model of the required system behavior. We show the importance of mo
delling the aspects to be tested (the right model for the right problem!) a
nd point out the different aspects of interest (control, data, time and com
munication). We present the problem of testing based on models, in the form
of finite state machines (FSMs), extended FSMs, timed FSMs and communicati
ng FSMs, and give an overview of the proposed solutions and their limitatio
ns. Finally, we present our own experience in automatic test generation bas
ed on SDL specifications, and discuss some related work and existing tools.
(C) 1999 Elsevier Science B.V. All rights reserved.