The main topic of this chapter is on-the-fly testing of reactive systems. The
presentation of most of the material builds on on-the-fly testing of closed systems that
was the topic of Chapter 12. In reactive systems, the action vocabulary is divided into
controllable and observable action symbols. This terminology is tailored to match
the point of view of the tester. Actions whose symbol is controllable are under the
control of the tester and actions whose symbol is observable are under the control
of the IUT.
16.1 Observable actions
The action vocabulary of every model program can be split into two sets of action
symbols, controllable ones and observable ones. Whether an action symbol is controllable
or observable often depends on what part of the system is being tested and
259
260 Reactive Systems
what part of its behavior is being controlled. Therefore, this distinction is mostly
relevant in the context of generating and executing tests. For ct the option that is
used to declare an action symbol observable is observable (or o for short).
A typical example of an observable action is a response from the server in a
client/server protocol model, assuming that the server is being tested for conformance
and the behavior of the client is being controlled by the tester. Consider, for
example, the model program SP in Chapter 14 and suppose that you want to test that
a server conforms to SP.
Pages:
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342