Model-Based Testing of Object-Oriented Systems

  • Bernhard Rumpe
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2852)


This paper discusses a model-based approach to testing as a vital part of software development. It argues that an approach using models as central development artifact needs to be added to the portfolio of software engineering techniques, to further increase efficiency and flexibility of the development as well as quality and reusability of results. Then test case modeling is examined in depth and related to an evolutionary approach to model transformation. A number of test patterns is proposed that have proven helpful to the design of testable object-oriented systems. In contrast to other approaches, this approach uses explicit models for test cases instead of trying to derive (many) test cases from a single model.


Test Pattern Sequence Diagram Object Constraint Language System Under Test Model Drive Architecture 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [ABRS03]
    Abraham-Mumm, E., de Boer, F.S., de Roever, W.P., Steffen, M.: A Tool supported Proof System for Mutlithreaded Java. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2002. LNCS, vol. 2852, pp. 1–32. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  2. [AM03]
    Agile Manifesto (2003),
  3. [Bec99]
    Beck, K.: Extreme Programming explained. Addison-Wesley, Reading (1999)Google Scholar
  4. [Bec01]
    Beck, K.: Aim, Fire (Column on the Test-First Approach). IEEE Software 18(5), 87–89 (2001)CrossRefGoogle Scholar
  5. [BG99]
    Beck, K., Gamma, E.: JUnit: A Cook’s Tour, JavaReport (August 1999)Google Scholar
  6. [Bin99]
    Binder, R.: Testing Object-Oriented Systems. Models, Patterns, and Tools. Addison-Wesley, Reading (1999)Google Scholar
  7. [BL01]
    Briand, L., Labiche, Y.: A UML-based Approach to System Testing. In: Gogolla, M., Kobryn, C. (eds.) UML 2001. LNCS, vol. 2185, pp. 194–208. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  8. [Coc02]
    Cockburn, A.: Agile Software Development. Addison-Wesley, Reading (2002)Google Scholar
  9. [Fow99]
    Fowler, M.: Refactoring. Addison-Wesley, Reading (1999)Google Scholar
  10. [GHJV94]
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison-Wesley, Reading (1994)Google Scholar
  11. [JKW03]
    Jacobs, B., Kiniry, J., Warnier, M.: Java Program Verification Challenges. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2002. LNCS, vol. 2852, pp. 202–219. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  12. [LCCRC03]
    Leavens, G.T., Cheon, Y., Clifton, C., Ruby, C., Cok, D.R.: How the Design of JML Accommodates Both Runtime Assertion Checking and Formal Verification. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2002. LNCS, vol. 2852, pp. 262–284. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  13. [LF02]
    Link, J., Fröhlich, P.: Unit Tests mit Java. Der Test-First-Ansatz. dpunkt.verlag, Heidelberg (2002)Google Scholar
  14. [Mye79]
    Myers, G.: The Art of Software Testing. John Wiley & Sons, New York (1979)Google Scholar
  15. [OJ93]
    Opdyke, W., Johnson, R.: Creating Abstract Superclasses by Refactoring. Technical Report. Dept. of Computer Science, University of Illinois and AT&T Bell Laboratories (1993)Google Scholar
  16. [OMG01]
    OMG. Model Driven Architecture (MDA). Technical Report OMG Document ormsc/2001-07-01, Object Management Group (2001)Google Scholar
  17. [OMG02]
    OMG - Object Management Group. Unified Modeling Language Specification. V1.5 (2002)Google Scholar
  18. [PR03]
    Philipps, J., Rumpe, B.: Refactoring of Programs and Specifications. In: Kilov, H., Baclawski, K. (eds.) Practical foundations of business and system specifications, pp. 281–297. Kluwer Academic Publishers, Dordrecht (2003)Google Scholar
  19. [Rum02]
    Rumpe, B.: Executable Modeling with UML. A Vision or a Nightmare? In: Issues & Trends of Information Technology Management in Contemporary Associations, Seattle, pp. 697–701. Idea Group Publishing, Hershey (2002)Google Scholar
  20. [Rum03]
    Rumpe, B.: Agiles Modellieren mit der UML. Habilitation Thesis (2003) (to appear)Google Scholar
  21. [Rum03b]
    Rumpe, B.: E-Business Experiences with Online Auctions. In: Mariga, J. (ed.) Managing ECommerce and Mobile Computing Technologies, Idea Group Inc. (2003)Google Scholar
  22. [RS02]
    Rumpe, B., Schröder, A.: Quantitative Survey on Extreme Programming Projects. In: Third International Conference on Extreme Programming and Flexible Processes in Software Engineering, XP 2002, Alghero, Italy, May 26-30, pp. 95–100 (2002)Google Scholar
  23. [SD00]
    Siedersleben, J., Denert, E.: Wie baut man Informationssysteme? Überlegungen zur Standardarchitektur. Informatik Spektrum 8/2000, 247–257 (2000)CrossRefGoogle Scholar
  24. [TTCN92]
    ISO/IEC, Information Technology - Open Systems Interconnection - Conformance Testing Methodology and Framework - Part 3: The Tree and Tabular Combined Notation (TTCN), ISO/IEC International Standard 9646 (1992)Google Scholar
  25. [WK98]
    Warmer, J., Kleppe, A.: The Object Constraint Language. Addison-Wesley, Reading (1998)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Bernhard Rumpe
    • 1
    • 2
  1. 1.IRISA-Université de Rennes 1, Campus de BeaulieuRennesFrance
  2. 2.Software & Systems EngineeringTU MünchenGermany

Personalised recommendations