Skip to main content
Log in

Using communication coverage criteria and partial model generation to assist software integration testing

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22

Similar content being viewed by others

Notes

  1. Where infinitely many paths exists, we recommend the use of appropriate path coverage criteria, e.g. Boundary-Interior Coverage.

  2. i.e. if a is an input then it is the input invariants of these two states and otherwise the output invariant of the states.

  3. GETRAG Ford Transmission GmbH (www.getrag-ford.com).

References

  • Aizenbud-Reshef, N. (2001). Coverage Analysis for Message Flows, 12th International Symposium on Software Reliability Engineering (ISSRE 2001), pp. 276–286. IEEE.

  • Alur, R., & Dill, L. (1994). A theory of timed automata. Theoretical Computer Science, 126(2), 183–235.

    Article  MATH  MathSciNet  Google Scholar 

  • Bengtsson, J., Larsen, K. G., Larsson, F., Pettersson, P., & Yi, W. (1995). UPPAAL—A Tool Suite for Automatic Verification of Real-Time Systems. Workshop on Verification and Control of Hybrid Systems, DIMACS.

  • Bochmann, G. v., & Petrenko, A. (1994). Protocol testing: Review of methods and relevance for software testing. Proceedings of the International Symposium on Software Testing and Analysis (ISSTA 1994), pp. 109–124. ACM Press.

  • Cardell-Oliver, R. (2002). Conformance test experiments for distributed real-time systems. Proceedings of the 2002 ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2002), pp. 159–163. ACM.

  • Clarke, E. M., & Emerson, E. A. (1981). Design and synthesis of synchronization skeletons using branching time temporal logic. Proceedings of the Workshop on Logic of Programs. Yorktown Heights, NY, LNCS 131 pp. 52–71., Springer Press.

  • Clarke, E. M., Grumberg, O., & Peled, D. A. (2000). Model Checking. Boston: MIT Press.

    Google Scholar 

  • de Alfaro, L., & Henzinger, T. A. (2001). Interface Automata. Proceedings of the 8th European Software Engineering Conference (ESEC 2001). pp. 109–120. ACM.

  • de Alfaro, L., Henzinger, T. A., & Stroelinga, M. (2002). Timed interfaces. Proceedings of the Second International Conference on Embedded Software, (EMSOFT 2002), 2491 pp. 108–122. LNCS. Springer.

  • Glasser, U., Gurevich, Y., & Veanes, M. (2004). Abstract communication model for distributed systems. IEEE Transactions on Software Engineering, 30(7), 458–472.

    Article  Google Scholar 

  • Harrold, M. J., & Rothermel, G. (1994). Performing dataflow testing on classes, Proceedings of the Symposium Foundations of Software Engineering, ACM.

  • Hong, H. S., Cha, S. D., Lee, I., Sokolsky, O., & Ural, H. (2003). Data Flow Testing as Model Checking, Proceedings of International Conference on Software Engineering (ICSE ‘03), pp. 232–242, May 2003.

  • Hong, H., Lee, I., Sokolsky, O., & Ural, H. (2002). A Temporal Logic Based Theory of Test Coverage and Generation, International Conference on Tools and Algorithms for Construction and Analysis of Systems (TACAS2002), April 8–11.

  • Huhn, M., & Mücke, T. (2004). Generation of Optimized Test suites for UML Statecharts with Time. Testing of Communicating Systems (TestCom’04). Oxford: Springer.

  • Khoumsi, A. (2002). A temporal approach for testing distributed systems. IEEE Transactions on Software Engineering, 28(11), 1085–1103.

    Article  Google Scholar 

  • Liu, W., & Dasiewicz, P. (2001). Component Interaction Testing Using Model Checking, Canadian Conference on Electrical and Computer Engineering, 1 pp. 41–46, IEEE.

  • Moore, E. F. (1956). Gedanken-Experiments on Sequential Machines. Automata Studies (Annals of Mathematics Studies), 34.

  • Offutt, A. J., Xiong, Y., & Liu, S. (1999). Criteria for Generating Specification-based Tests, Proceedings of 5th International Conference on Engineering of Complex Computer Systems, ACM.

  • Prowell, S. J. (2003). JUMBL: A Tool for Model-Based Statistical Testing, Proceedings of the 36th Hawaii International Conference on System Sciences, IEEE.

  • Prowell, S. J., & Poore, J. H. (2004). Computing system reliability using Markov chain usage models, Journal of Systems and Software, 73(2) pp. 219–225, Elsevier.

    Google Scholar 

  • Robinson-Mallett, C., Hierons, R. M., & Liggesmeyer, P., (2006a). Achieving Communication Coverage Criteria in Testing, Workshop on Advances in Model-Based Testing 2006. Raleigh, NC.

  • Robinson-Mallett C., Mücke T., Liggesmeyer P., Goltz U. (2006b) Extended State Identification and Verification using a Model Checker. Journal on Information and Software Technology, 48 (10) pp. 981−992. Elsevier.

  • Robinson-Mallett C., Hierons, R. M., Poore J., & Bauer T. (2007). Using Partial Models to support the Testing of Distributed Systems, IASTED International Conference on Software Engineering and Applications (SEA 2007). Boston:IASTED.

  • Robinson-Mallett, C., Mücke, T., Liggesmeyer, P., & Goltz, U. (2005). Generating Optimal Distinguishing Sequences with a Model Checker. Workshop on Advances in Model-Based Software Testing (A-MOST’05). St. Louis.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Christopher Robinson-Mallett.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Robinson-Mallett, C., Hierons, R.M., Poore, J. et al. Using communication coverage criteria and partial model generation to assist software integration testing. Software Qual J 16, 185–211 (2008). https://doi.org/10.1007/s11219-007-9036-1

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11219-007-9036-1

Keywords

Navigation