Test adequacy criteria provide developers with guidance on how to populate software test suites. Current software testing methods do not address many of the fundamental characteristics of distributed systems, such as distribution topology, communication failure, and timing. Furthermore, they do not provide the engineer with a means to evaluate the relative effectiveness of different criteria nor the relative effectiveness of adequate test suites satisfying a given criterion.
This article makes three contributions to the development and use of test adequacy criteria for distributed systems:
1) a testing method based on discrete-event simulations
2) a fault-based analysis technique for evaluating test suites and adequacy criteria
3) a series of case studies that validate the method and technique.
The testing method uses a discrete-event simulation as an operational specification of a system in which the behavioral effects of distribution are explicitly represented. Adequacy criteria and test cases are then defined in terms of this simulation-based specification. The fault-based analysis involves mutation of the simulation-based specification to provide a foil against which test suites and the criteria that formed them can be evaluated.