Abstract
Modelling and testing of reactive systems with interruptions are discussed. These systems are commonly found in portable devices, where interruptions to a running application can be demanded at any time, due to concurrent execution of processes sharing a single resource, such as screen, as well as arrival of calls from network distributed services. Since the possible number of combinations of allowed interruptions is large, proper test case selection activities need to be performed. But, in order to systematically investigate and select test cases, it is fundamental to explicitly model interruption behaviour in a compositional way, avoiding the need for explicit enumeration. This work presents a strategy for testing interruptions in reactive systems that covers modelling for testing of systems with interruptions, generation and selection of sound test cases. The strategy is supported by the LTS-BT tool. Moreover, a formal model of an environment devoted to execution of test cases with interruptions is presented. Finally, a case study illustrates its applicability in the mobile phone application domain.
Similar content being viewed by others
References
Aceto L, Ingólfsdóttir A, Larsen KG, Srba J (2007) Reactive systems: modelling, specification and verification. University Press, Cambridge
Andrade WL, Machado PDL (2009) Interruption testing of reactive systems. In: Oliveira MVM, Woodcock J (eds) Formal methods: foundations and applications. 12th Brazilian symposium on formal methods. Lecture notes in computer science, vol 5902. Springer, Berlin, pp 37–53
Bryce RC, Colbourn CJ (2005) Test prioritization for pairwise interaction coverage. In: A-MOST ’05: Proceedings of the first international workshop on advances in model-based testing, pp 1–7, New York, NY, USA. ACM Press
Binder RV (1999) Testing object-oriented systems: models, patterns, and tools. Addison-Wesley, Boston
Cartaxo EG, Andrade WL, Neto FGO, Machado PDL (2008) LTSBT: a tool to generate and select functional test cases for embedded systems. In: SAC’08: Proceedings of the 2008 ACM symposium on applied computing, vol 2. ACM Press, New York, pp 1540–1544
Cohen MB, Gibbons PB, Mugridge WB, Colbourn CJ (2003) Constructing test suites for interaction testing. In: ICSE ’03: Proceedings of the 25th international conference on software engineering, Washington, DC, USA. IEEE Computer Society, pp 38–48
Cartaxo EG, Machado PDL, Neto FGO (2009) On the use of a similarity function for test case selection in the context of model-based testing. Softw Testing Verif Reliab. doi:10.1002/stvr.413
Cabral G, Sampaio A (2008) Formal specification generation from requirement documents. Electron Notes Theor Comput Sci 195: 171–188
de Figueiredo ALL, Andrade WL, Machado PDL (2006) Generating interaction test cases for mobile phone systems from use case specifications. SIGSOFT Softw Eng Notes 31(6):1–10. Proceedings of the AMOST’2006
de Vries RG, Tretmans J (2001) Towards formal test purposes. In: Proceedings of 1st international workshop on formal approaches to testing of software 2001 (FATES’01), vol NS-01-4 of BRICS notes series. Aarhus, Denmark, pp 61–76, August 2001
Fink G, Bishop M (1997) Property-based testing: a new approach to testing for assurance. SIGSOFT Softw Eng Notes 22(4): 74–80
Fernandez J-C, Mounier L, Pachon C (2004) Property oriented test case generation. In: Formal approaches to software testing. Proceedings of FATES 2003. Lecture notes in computer science, vol 2931, Montreal, Canada. Springer, pp 147–163
Halbwachs N (1993) Synchronous programming of reactive systems. Springer, Berlin
Hartman A, Nagin K (2004) The AGEDIS tools for model based testing. SIGSOFT Softw Eng Notes 29(4): 129–132
Hoare CAR (1985) Communicating sequential processes. Prentice Hall
Jard C, Jéron T (2005) TGV: theory, principles and algorithms: a tool for the automatic synthesis of conformance test cases for non-deterministic reactive systems. Int J Softw Tools Technol Transf 7(4): 297–315
Jovanovic DS, Orlic B, Broenink JF (2005) On issues of constructing an exception handling mechanism for CSP-based process-oriented concurrent software. In: Proceedings of communicating process architectures CPA 2005, Eindhoven, NL. IOS Press, pp 18–21
Laplante PA (2004) Real-time system design and analysis. Wiley, New York
Ledru Y, du Bousquet L, Bontron P, Maury O, Oriat C, Potet M-L (2001) Test purposes: adapting the notion of specification to testing. In: ASE ’01: Proceedings of the 16th IEEE international conference on automated software engineering, Washington, DC, USA. IEEE Computer Society, pp 127–134
Leitao D, Torres D, Barros F (2007) NLForSpec: translating natural language descriptions into formal test case specifications. In: Proceedings of the nineteenth international conference on software engineering & knowledge engineering (SEKE’2007), Boston, Massachusetts, USA. Knowledge Systems Institute Graduate School, pp 129–134
Lorentsen L, Tuovinen A-P, Xu J (2001) Modelling feature interactions in mobile phones. In: Feature interaction in composed systems (ECOOP 2001), Budapest, Hungary, pp 7–13
Li Q, Yao C (2003) Real-time concepts for embedded systems. CMP Books
Machado PDL, Sampaio ACA (2009) Automatic test case generation. Pernambuco Summer School on Software Testing PSSE07. LNCS series. Springer (to be published)
Machado PDL, Silva DA, Mota AC (2007) Towards property oriented testing. Electron Notes Theor Comput Sci 184: 3–19
Nogueira S, Sampaio A, Mota A (2008) Guided test generation from CSP models. In: Proceedings of the 5th international colloquium on theoretical aspects of computing. Springer, Berlin, Heidelberg, pp 258–273
Roscoe AW, Hoare CAR, Bird R (1997) The theory and practice of concurrency. Prentice Hall PTR, Upper Saddle River
Schneider S (2000) Concurrent and real-time systems: the CSP approach. Wiley, New York
Torres D, Leitao D, Barros F (2006) Motorola SpecNL: a hybrid system to generate nl descriptions from test case specifications. In: HIS ’06: Proceedings of the sixth international conference on hybrid intelligent systems, Washington, DC, USA. IEEE Computer Society, p 45
Tretmans J (1996) Conformance testing with labelled transition systems: implementation relations and test generation. Comput Netw ISDN Syst 29(1): 49–79
Tretmans J (1996) Test generation with inputs, outputs, and quiescence. In: TACAs ’96: Proceedings of the second international workshop on tools and algorithms for construction and analysis of systems, London, UK. Springer, pp 127–146
Tretmans J (1999) Testing concurrent systems: a formal approach. In: CONCUR ’99: Proceedings of the 10th international conference on concurrency theory, London, UK. Springer, pp 46–65
Author information
Authors and Affiliations
Corresponding author
Additional information
Jim Woodcock
Rights and permissions
About this article
Cite this article
Andrade, W.L., Machado, P.D.L. Testing interruptions in reactive systems. Form Asp Comp 24, 331–353 (2012). https://doi.org/10.1007/s00165-011-0197-0
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00165-011-0197-0