Theoretical Computer Science
Protocol testing: review of methods and relevance for software testing
ISSTA '94 Proceedings of the 1994 ACM SIGSOFT international symposium on Software testing and analysis
Performing data flow testing on classes
SIGSOFT '94 Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
UPPAAL—a tool suite for automatic verification of real-time systems
Proceedings of the DIMACS/SYCON workshop on Hybrid systems III : verification and control: verification and control
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
Conformance test experiments for distributed real-time systems
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
A Temporal Approach for Testing Distributed Systems
IEEE Transactions on Software Engineering
A Temporal Logic Based Theory of Test Coverage and Generation
TACAS '02 Proceedings of the 8th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
EMSOFT '02 Proceedings of the Second International Conference on Embedded Software
Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic
Logic of Programs, Workshop
Data flow testing as model checking
Proceedings of the 25th International Conference on Software Engineering
JUMBL: A Tool for Model-Based Statistical Testing
HICSS '03 Proceedings of the 36th Annual Hawaii International Conference on System Sciences (HICSS'03) - Track 9 - Volume 9
Coverage Analysis for Message Flows
ISSRE '01 Proceedings of the 12th International Symposium on Software Reliability Engineering
Criteria for Generating Specification-Based Tests
ICECCS '99 Proceedings of the 5th International Conference on Engineering of Complex Computer Systems
Abstract Communication Model for Distributed Systems
IEEE Transactions on Software Engineering
Computing system reliability using Markov chain usage models
Journal of Systems and Software - Special issue: Applications of statistics in software engineering
Generating optimal distinguishing sequences with a model checker
A-MOST '05 Proceedings of the 1st international workshop on Advances in model-based testing
Using partial models to support the testing of distributed systems
SEA '07 Proceedings of the 11th IASTED International Conference on Software Engineering and Applications
Specification coverage for testing in circus
UTP'10 Proceedings of the Third international conference on Unifying theories of programming
Validation of SDL-based architectural design models using communication-based coverage criteria
Information and Software Technology
Hi-index | 0.00 |
This paper considers the problem of integration testing the components of a timed distributed software system. We assume that communication between the components is specified using timed interface automata and use computational tree logic (CTL) to define communication-based coverage criteria that refer to send- and receive-statements and communication paths. The proposed method enables testers to focus during component integration on such parts of the specification, e.g. behaviour specifications or Markovian usage models, that are involved in the communication between components to be integrated. A more specific application area of this approach is the integration of test-models, e.g. a transmission gear can be tested based on separated models for the driver behaviour, the engine condition, and the mechanical and hydraulical transmission states. Given such a state-based specification of a distributed system and a concrete coverage goal, a model checker is used in order to determine the coverage or generate test sequences that achieve the goal. Given the generated test sequences we derive a partial test-model of the components from which the test sequences were derived. The partial model can be used to drive further testing and can also be used as the basis for producing additional partial models in incremental integration testing. While the process of deriving the test sequences could suffer from a combinatorial explosion, the effort required to generate the partial model is polynomial in the number of test sequences and their length. Thus, where it is not feasible to produce test sequences that achieve a given type of coverage it is still possible to produce a partial model on the basis of test sequences generated to achieve some other criterion. As a result, the process of generating a partial model has the potential to scale to large industrial software systems. While a particular model checker, UPPAAL, was used, it should be relatively straightforward to adapt the approach for use with other CTL based model checkers. A potential additional benefit of the approach is that it provides a visual description of the state-based testing of distributed systems, which may be beneficial in other contexts such as education and comprehension.