Architectures for Testing Distributed Systems

Stabilizing network infrastructures has moved the focus of software system engineering to the development of distributed applications running on top of the network. The complexity of distributed systems and their inherent concurrency pose high requirements on their design and implementation. This is also true for the validation of the systems, in particular the test. Compared to protocol testing the test of distributed systems and applications requires different methods for deriving test cases and for running the test. In this paper, we discuss architectures for testing distributed, concurrent systems. We suggest three different models: a global tester that has total control over the distributed system under test (SUT) and, more interestingly, two types of distributed testers comprising several concurrent tester components. The test architectures rely on a grey-box testing approach that allows to observe internal interactions of the SUT by the tester. In order to assure a correct assessment of the test data collected by the distributed tester components, the tester has to maintain a correct global view on the SUT. This can be achieved either by the use of redundant points of control and observation or by test coordination procedures. We outline the features of each approach and discuss their benefits and shortages. Finally, we describe possible simplifications for the architectures.

[1]  Richard H. Carver,et al.  Debugging Concurrent Ada Programs by Deterministic Execution , 1991, IEEE Trans. Software Eng..

[2]  Alexandre Petrenko,et al.  Using Partial-Orders for Detecting Faults in Concurrent Systems , 1998, IWTCS.

[3]  Gang Luo,et al.  Test generation with respect to distributed interfaces , 1994 .

[4]  Hartmut König,et al.  Specification-based Testing of Concurrent Systems , 1997, FORTE.

[5]  Deepinder P. Sidhu,et al.  Formal Methods for Protocol Testing: A Detailed Study , 1989, IEEE Trans. Software Eng..

[6]  Shmuel Zaks,et al.  Synchronizing Aysnchronous Bounded Delay Networks , 1987, WDAG.

[7]  Ina Schieferdecker,et al.  Test Architectures for Distributed Systems: State of the Art and Beyond , 1998, IWTCS.

[8]  K. C. Tai,et al.  Port-synchronizable test sequences for communication protocols , 1996 .

[9]  Colin J. Fidge,et al.  Logical time in distributed computing systems , 1991, Computer.

[10]  Monika Heiner,et al.  Design for testability: a step-wise approach to protocol testing , 1997 .

[11]  David L. Mills,et al.  Precision synchronization of computer network clocks , 1994, CCRV.

[12]  Nina Yevtushenko,et al.  Testing of communicating systems : proceedings of the IFIP TC6 11th International Workshop on Testing of Communicating Systems (IWTCS'98), August 31-September 2, 1998, Tomsk, Russia , 1998 .

[13]  Andreas Ulrich,et al.  An approach to testing distributed software systems , 1995, PSTV.

[14]  Elie Najm,et al.  Formal Description Techniques and Protocol Specification, Testing and Verification , 1998, IFIP — The International Federation for Information Processing.