Distributed Testing
When testing a system that has multiple physically distributed interfaces (ports)
we place a tester at each port of the system under test N.
When applying a test sequence to N the use of multiple testers
introduces the possibility of coordination problems amongst remote
testers. These potential additional problems are known as
controllability and observability problems. They
occur if a tester cannot determine either when to apply a
particular input to N, or whether a particular output from
N is generated in response to a specific input, respectively.
Consider a distributed architecture where there are remote testers
at ports p(1), ..., p(m).
The controllability (synchronisation)
problem occurs when the tester at a port p(i) is expected to send
an input to N after N responds to an input from the tester at
some other port p(j), without sending an output to p(i). The problem here
is that the tester at p(i) is unable to determine whether N has received
that input and so cannot know when to send its input.
The observability problem occurs when the tester at
some port p(i) is expected to receive an output from N in
response to a given input at some port other than p(i) and is unable to
determine when to start and stop waiting. Such observability
problems make it harder to determine which input led to a particular
output and can introduce fault masking.
There has been much interest in constructing test sequences that cause no
controllability and observability problem during their application.
Given such a test sequence, a tester can
determine when to apply its own inputs and whether an output
observed is received in response to the correct input.
An alternative is to construct a test sequence that includes
external coordination messages: messages sent between the testers
in order to overcome controllability and observability problems.
However, there is often a cost associated with
the use of such messages. This cost includes the delay
introduced by the sending of each message.
Thus, another problem is to produce an adequate test sequence that
is cheapest to apply when including the cost of sending
external coordination messages.
It has been found that we can
produce test sequences that avoid controllability and
observability problems, possibly through the use of
coordination messages.
However, if these problems will also affect users then we
are in danger of giving testing too much power:
testing can distinguish between an implementation and
a specification in cases where users cannot.
Instead, we can recognise the limitations
caused by controllability and observability problems
as something that affects our ability to distinguish
implementations and specifications and consider an
implementation to be acceptable (correct) if in use
it is not possible to distinguish it from the specification.
This leads to new implementation (conformance) relations that
capture what we mean by correctness and these
lead to new test generation algorithms.
Recent work has explored and formalised notions of correctness (conformance)
when there are physically distributed interfaces.
It has also investigated the oracle problem,
controllable testing, and the
problems of reaching
and distinguishing states using distributed testing.
-
R.M. Hierons, M. G. Merayo and M. Núñez:
Implementation relations and test generation for systems with distributed interfaces,
Distributed Computing (to appear).
-
R. M. Hierons: Oracles for Distributed Testing, IEEE Transactions on Software Engineering (to appear).
-
R. M. Hierons:
Controllable testing from Nondeterministic Finite State Machines with Multiple Ports,
IEEE Transactions on Computers, 60 12, pp. 1818-1822, 2011.
-
R. M. Hierons, M. G. Merayo, and M. Núñez:
Scenarios-based testing of systems with distributed ports,
Software Practice and Experience, 41 10, pp. 999-1026, 2011.
-
R. M. Hierons: Reaching and Distinguishing States of Distributed Systems, SIAM Journal of Computing, 39 8, pp. 3480-3500.
-
R. M. Hierons: Canonical Finite State Machines for Distributed Systems, Theoretical Computer Science, 411 2, pp. 566-580, 2010.
-
R. M. Hierons and M. Núñez: Scenarios-based Testing of Systems with distributed Ports, The 10th International Conference on Quality Software (QSIC 2010), 2010.
-
R. M. Hierons and M. Núñez: Testing probabilistic distributed systems, 30th IFIP Formal Techniques for Networked and Distributed Systems (FORTE 2010), LNCS, 2010.
-
R. M. Hierons, M. G. Merayo, and M. Nunez:
Controllable test cases for the distributed test architecture,
6th International Symposium on Automated Technology for Verification and Analysis (ATVA 08),
LNCS volume 5311, pp. 201-215, 2008.
-
R. M. Hierons, M. G. Merayo, and M. Nunez:
Implementation relations for the distributed test architecture,
20th IFIP International Conference on Testing of Communicating Systems (TestCom 2008),
LNCS volume 5047, pp. 200-215, 2008.
-
R. M. Hierons and H. Ural:
The effect of the distributed test architecture on the power of testing,
The Computer Journal, 51 4, pp. 497-510, 2008.
The following papers have investigated the problem of producing
a test sequence that has no controllability or observability problems,
possibly through adding coordination messages.
-
R. M. Hierons:
Overcoming Controllability Problems in Distributed Testing from an Input Output Transition System, Distributed Computing (to appear).
-
R. M. Hierons:
Using status messages in the distributed test architecture,
Information and Software Technology, 51 7, pp. 1123-1130, 2009.
-
R. M. Hierons and H. Ural:
Overcoming controllability problems with fewest channels between testers, Computer Networks 53, pp. 680-690, 2009.
-
R. M. Hierons and H. Ural:
Checking Sequences for Distributed Test Architectures,
Distributed Computing 21, pp. 223-238, 2008.
-
J. Chen, R. M. Hierons, and H. Ural:
Overcoming observability problems in distributed test architectures,
Information Processing Letters, 98, pp. 177-182, 2006.
-
J. Chen, R. M. Hierons, and H. Ural:
Resolving observability problems in distributed test architectures,
25th IFIP International Conference on Formal Techniques for Networked and Distributed Systems (FORTE 2005),
LNCS volume 3731, pp. 219-232, 2005.
- J. Chen, R. M. Hierons, and H. Ural:
Conditions for Resolving Observability Problems in Distributed Testing,
24rd IFIP International Conference on Formal Techniques for Networked and Distributed Systems (FORTE 2004),
Madrid, 27-30 September 2004, LNCS volume 2767, pages 229-242, 2004.
-
R. M. Hierons and H. Ural:
UIO Sequence Based Checking Sequences for Distributed Test Architectures,
Information and Software Technology, 45 12, pp. 793-803, 2003.
-
R. M. Hierons:
Testing a distributed system: generating minimal synchronised test sequences that detect output-shifting faults
,
Information and Software Technology ,
43 9,
pp. 551-560, 2001.
Back to Rob Hierons'
home page
Last updated: December 2011.
Disclaimer The contents of this page falls
outside the responsibility of Brunel University.