Using Time to Add Order to Distributed Testing

Many systems interact with their environment at physically distributed interfaces called ports. In testing such a system we might use a distributed approach in which there is a separate tester at each port. If the testers do not synchronise during testing then we cannot always determine the relative order of events observed at different ports and corresponding implementation relations have been developed for distributed testing. One possible method for strengthening the implementation relation is for testers to synchronise through exchanging coordination messages but this requires sufficiently fast communications channels and can increase the cost of testing. This paper explores an alternative in which each tester has a local clock and timestamps its observations. If we know nothing about how the local clocks relate then this does not help while if the local clocks agree exactly then we can reconstruct the sequence of observations made. In practice, however, we are likely to be between these extremes: the local clocks will not agree exactly but we have assumptions regarding how they can differ. This paper explores several such assumptions and derives corresponding implementation relations.

[1]  Robert M. Hierons,et al.  Controllable Test Cases for the Distributed Test Architecture , 2008, ATVA.

[2]  Rance Cleaveland,et al.  Using formal specifications to support testing , 2009, CSUR.

[3]  Robert M. Hierons,et al.  Implementation relations and test generation for systems with distributed interfaces , 2011, Distributed Computing.

[4]  Thierry Jéron,et al.  Remote testin can be as powerful as local testing , 1999, FORTE.

[5]  Hasan Ural,et al.  The Synchronization Problem in Protocol Testing and its Complexity , 1991, Inf. Process. Lett..

[6]  Kuo-Chung Tai,et al.  Synchronizable Test Sequences of Finite State Machines , 1995, Comput. Networks.

[7]  Thierry Jéron,et al.  Towards Automatic Distribution of Testers for Distributed Conformance Testing , 1998, FORTE.

[8]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[9]  Omar Rafiq,et al.  Controllability and observability in distributed testing , 1999, Inf. Softw. Technol..

[10]  Marius Mikucionis,et al.  Formal Methods and Testing , 2008 .

[11]  Gregor von Bochmann,et al.  Generating Synchronizable Test Sequences Based on Finite State Machine with Distributed Ports , 1993, Protocol Test Systems.

[12]  Rance Cleaveland,et al.  Using formal methods to support testing , 2008 .

[13]  P. M. Melliar-Smith,et al.  Synchronizing clocks in the presence of faults , 1985, JACM.

[14]  Jan Tretmans,et al.  Model Based Testing with Labelled Transition Systems , 2008, Formal Methods and Testing.

[15]  Omar Rafiq,et al.  Coordination Algorithm for Distributed Testing , 2003, The Journal of Supercomputing.

[16]  Julien Schmaltz,et al.  On Conformance Testing for Timed Systems , 2008, FORMATS.

[17]  Hasan Ural,et al.  Constructing checking sequences for distributed testing , 2005, Formal Aspects of Computing.

[18]  Gregor von Bochmann,et al.  Synchronization and Specification Issues in Protocol Testing , 1984, IEEE Trans. Commun..

[19]  Jos C. M. Baeten,et al.  Process Algebra with Timing , 2002, Monographs in Theoretical Computer Science. An EATCS Series.

[20]  Colin J. Fidge A Limitation of Vector Timestamps for Reconstructing Distributed Computations , 1998, Inf. Process. Lett..

[21]  Robert M. Hierons,et al.  Implementation Relations for the Distributed Test Architecture , 2008, TestCom/FATES.

[22]  Wolfgang Grieskamp,et al.  Model‐based quality assurance of protocol documentation: tools and methodology , 2011, Softw. Test. Verification Reliab..