For an open distributed system, expected behavior is often specified as a finite state machine (FSM). Testing the conformance of an implementation against its specification is accomplished by sending input sequences, and making sure that the output sequences are received as predicted by the FSM.
Since the components of an open distributed system are often distributed over a network, the input and output ports of the system are scattered across the network as well. The testing environment, therefore, has to coordinate its testing across ports that may be geographically scattered. As a result, the testing architecture often needs to be distributed as well, with multiple testing agents coordinating with each other.
The authors present a distributed test method for checking conformance. The method is extended from existing open systems interconnection (OSI) methods, and presented formally. A good example is included to illustrate why the agents need to coordinate with each other, and to show how failing to do so may lead to false negatives, for example, by failing to detect faults. Next, a message-based test coordination algorithm is presented.
The authors make an assumption that the implementation being tested is much faster than the time to coordinate the testing agents. While this may be an acceptable assumption, they also make an implicit assumption that the system retains its state if no new inputs arrive at any of its ports. In many real-world systems, the passing of time may cause the system to change state. The current formalism does not seem to address this. Nondeterministic behavior of systems is also not addressed.
Overall, this a short and interesting paper that is appropriate for anyone curious about testing distributed systems. I look forward to some real-world applications of the authors’ approach. I would also like to see further work that relaxes some of the assumptions made by the authors.