1 is extended so
that it implements the draw operation deterministically by picking the lexicographically
least element from the bag. This would imply that, during test execution, each
time state 6 is visited in Figure 16.3, the observable action is Draw Finish("a").
IUT is random. Another situation is that the behavior of the IUT is random. In this
case the notion of partially explored states can be applied to all states, including
passive states. If the probabilities of the different observable actions are known, the
strategy can select a controllable action that is either unexplored or leads, with high
probability, closer to a partially explored state.
Suppose, for example, that the bag implementation in Figure 12.1 is extended so
that it implements the draw operation in such a way that each element in the bag is
equally likely to be drawn. This would imply that, during test execution, each time
state 6 is visited in Figure 16.3(a), both Draw Finish("a") and Draw Finish("b") are
equally likely to occur. If state 6 is visited multiple times, it is very unlikely that the
same element is chosen each time. In fact, it follows under the given assumptions
that the probability that both "a" and "b" where chosen at least once at some point
grows exponentially in the number of times that state 6 is visited.
272 Reactive Systems
16.5.3 Passive testing
An important special case of adaptive on-the-fly testing occurs when all the actions
are observable.
Pages:
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358