Environment Modeling with UML/MARTE to Support Black-Box System Testing for Real-Time Embedded Systems: Methodology and Industrial Case Studies

  • Muhammad Zohaib Iqbal
  • Andrea Arcuri
  • Lionel Briand
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6394)

Abstract

The behavior of real-time embedded systems (RTES) is driven by their environment. Independent system test teams normally focus on black-box testing as they have typically no easy access to precise design information. Black-box testing in this context is mostly about selecting test scenarios that are more likely to lead to unsafe situations in the environment. Our Model-Based Testing (MBT) methodology explicitly models key properties of the environment, its interactions with the RTES, and potentially unsafe situations triggered by failures of the RTES under test. Though environment modeling is not new, we propose a precise methodology fitting our specific purpose, based on a language that is familiar to software testers, that is the UML and its extensions, as opposed to technologies geared towards simulating natural phenomena. Furthermore, in our context, simulation should only be concerned with what is visible to the RTES under test. Our methodology, focused on black-box MBT, was assessed on two industrial case studies. We show how the models are used to fully automate black-box testing using search-based test case generation techniques and the generation of code simulating the environment.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    OMG: Modeling and Analysis of Real-time and Embedded systems (MARTE), Version 1.0 (2009), http://www.omg.org/spec/MARTE/1.0/
  2. 2.
    Kishi, T., Noda, N.: Aspect-oriented Context Modeling for Embedded Systems. In: Workshop on Early Aspects: Aspect-Oriented Requirements Engineering and Architecture Design, pp. 68–74 (2004)Google Scholar
  3. 3.
    Karsai, G., Neema, S., Sharp, D.: Model-driven architecture for embedded software: A synopsis and an example. Science of Computer Programming 73, 26–38 (2008)MATHCrossRefMathSciNetGoogle Scholar
  4. 4.
    Choi, K.S., Jung, S.C., Kim, H.J., Bae, D.H., Lee, D.H.: UML-based Modeling and Simulation Method for Mission-Critical Real-Time Embedded System Development. In: IASTED International Conference Proceedings pp. 160–165 (2006)Google Scholar
  5. 5.
    Kreiner, C., Steger, C., Weiss, R.: Improvement of Control Software for Automatic Logistic Systems Using Executable Environment Models. In: EUROMICRO 1998: Proceedings of the 24th Conference on EUROMICRO, pp. 20919–20923. IEEE Computer Society, Los Alamitos (1998)Google Scholar
  6. 6.
    Axelsson, J.: Unified Modeling of Real-Time Control Systems and Their Physical Environments Using UML. In: Eighth Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ECBS 2001), p. 18 (2001)Google Scholar
  7. 7.
    Gomaa, H.: Designing Concurrent, Distributed And Real-Time Applications With UML. Addison-Wesley Educational Publishers Inc., Reading (2000)Google Scholar
  8. 8.
    Friedenthal, S., Moore, A., Steiner, R.: A Practical Guide to SysML: The Systems Modeling Language. Elsevier, Amsterdam (2008)Google Scholar
  9. 9.
    Auguston, M., Michael, B., Shing, M.: Environment behavior models for automation of testing and assessment of system safety. Information and Software Technology 48, 971–980 (2006)CrossRefGoogle Scholar
  10. 10.
    Du Bousquet, L., Ouabdesselam, F., Richier, J.L., Zuanon, N.: Lutess: a specification-driven testing environment for synchronous software. In: ICSE 1999: Proceedings of the 21st International Conference on Software Engineering, pp. 267–276. ACM, New York (1999)CrossRefGoogle Scholar
  11. 11.
    Larsen, K.G., Mikucionis, M., Nielsen, B.: Online Testing of Real-time Systems Using Uppaal. In: Grabowski, J., Nielsen, B. (eds.) FATES 2004. LNCS, vol. 3395, pp. 79–94. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  12. 12.
    Heisel, M., Hatebur, D., Santen, T., Seifert, D.: Testing Against Requirements Using UML Environment Models. In: Fachgruppentreffen Requirements Engineering und Test, Analyse & Verifikation, pp. 28–31. GI (2008)Google Scholar
  13. 13.
    Adjir, N., Saqui-Sannes, P., Rahmouni, K.M.: Testing Real-Time Systems Using TINA. In: Núñez, M. (ed.) TESTCOM/FATES 2009. LNCS, vol. 5826, pp. 1–15. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  14. 14.
    Larman, C.: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process. Prentice Hall PTR, Upper Saddle River (2001)Google Scholar
  15. 15.
    Arcuri, A., Iqbal, M.Z., Briand, L.: Black-box System Testing of Real-Time Embedded Systems Using Random and Search-based Testing. Technical Report, Simula Research Laboratory (2010)Google Scholar
  16. 16.
    McMinn, P.: Search-based Software Test Data Generation: A Survey. Software Testing Verification and Reliability 14, 105–156 (2004)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Muhammad Zohaib Iqbal
    • 1
    • 2
  • Andrea Arcuri
    • 1
  • Lionel Briand
    • 1
    • 2
  1. 1.Simula Research LaboratoryLysakerNorway
  2. 2.Department of InformaticsUniversity of OsloNorway

Personalised recommendations