Advertisement

Coverage Criteria for Testing of Object Interactions in Sequence Diagrams

  • Atanas Rountev
  • Scott Kagan
  • Jason Sawin
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3442)

Abstract

This work defines several control-flow coverage criteria for testing the interactions among a set of collaborating objects. The criteria are based on UML sequence diagrams that are reverse-engineered from the code under test. The sequences of messages in the diagrams are used to define the coverage goals for the family of criteria, in a manner that generalizes traditional testing techniques such as branch coverage and path coverage. We also describe a run-time analysis that gathers coverage measurements for each criterion. To compare the criteria, we propose an approach that estimates the testing effort required to satisfy each criterion, using analysis of the complexity of the underlying sequence diagrams. The criteria were investigated experimentally on a set of realistic Java components. The results of this study compare different approaches for testing of object interactions and provide insights for testers and for builders of test coverage tools.

Keywords

Reverse Engineering Sequence Diagram Coverage Criterion Start Node Object Interaction 
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.

References

  1. 1.
    Binder, R.: Testing object-oriented software: a survey. Journal of Software Testing, Verification and Reliability 6, 125–252 (1996)CrossRefGoogle Scholar
  2. 2.
    Perry, D., Kaiser, G.: Adequate testing and object-oriented programming. Journal of Object-Oriented Programming 2, 13–19 (1990)Google Scholar
  3. 3.
    Binder, R.: Testing Object-Oriented Systems: Models, Patterns, and Tools. Addison-Wesley, Reading (1999)Google Scholar
  4. 4.
    Abdurazik, A., Offutt, J.: Using UML collaboration diagrams for static checking and test generation. In: International Conference on the Unified Modeling Language, pp. 383–395 (2000)Google Scholar
  5. 5.
    Briand, L., Labiche, Y.: A UML-based approach to system testing. Journal of Software and Systems Modeling 1 (2002)Google Scholar
  6. 6.
    Fraikin, F., Leonhardt, T.: SeDiTeC—testing based on sequence diagrams. In: International Conference on Automated Software Engineering, pp. 261–266 (2002)Google Scholar
  7. 7.
    Wu, Y., Chen, M.H., Offutt, J.: UML-based integration testing for component-based software. In: International Conference on COTS-Based Software Systems (2003)Google Scholar
  8. 8.
    Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide. Addison-Wesley, Reading (1999)Google Scholar
  9. 9.
    Fowler, M.: UML Distilled, 3rd edn. Addison-Wesley, Reading (2003)Google Scholar
  10. 10.
    Larman, C.: Applying UML and Patterns, 2nd edn. Prentice Hall, Englewood Cliffs (2002)Google Scholar
  11. 11.
    Kollman, R., Gogolla, M.: Capturing dynamic program behavior with UML collaboration diagrams. In: European Conference on Software Maintenance and Reengineering, pp. 58–67 (2001)Google Scholar
  12. 12.
    Tonella, P., Potrich, A.: Reverse engineering of the interaction diagrams from C++ code. In: IEEE International Conference on Software Maintenance, pp. 159–168 (2003)Google Scholar
  13. 13.
    Rountev, A., Volgin, O., Reddoch, M.: Control flow analysis for reverse engineering of sequence diagrams. Technical Report OSU-CISRC-3/04-TR12, Ohio State University (2004)Google Scholar
  14. 14.
    Rountev, A., Connell, B.H.: Object naming analysis for reverse-engineered sequence diagrams. In: International Conference on Software Engineering. (2005) to appear.Google Scholar
  15. 15.
    Jorgenson, P., Erickson, C.: Object-oriented integration testing. Communications of the ACM 37, 30–38 (1994)CrossRefGoogle Scholar
  16. 16.
    Basanieri, F., Bertolino, A.: A practical approach to UML-based derivation of integration tests. In: 4th International Quality Week Europe (2000)Google Scholar
  17. 17.
    Milanova, A., Rountev, A., Ryder, B.G.: Parameterized object sensitivity for points-to analysis for Java. ACM Transactions on Software Engineering and Methodology (2004) (to appear)Google Scholar
  18. 18.
    Bodik, R., Gupta, R., Soffa, M.L.: Refining data flow information using infeasible paths. In: ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 361–377 (1997)Google Scholar
  19. 19.
    Rountev, A., Kagan, S., Sawin, J.: Coverage criteria for testing of object interactions in sequence diagrams. Technical Report OSU-CISRC-12/04-TR68, Ohio State University (2004)Google Scholar
  20. 20.
    Ball, T., Larus, J.: Efficient path profiling. In: IEEE/ACM International Symposium on Microarchitecture, pp. 46–57 (1996)Google Scholar
  21. 21.
    Rountev, A., Milanova, A., Ryder, B.G.: Points-to analysis for Java based on annotated constraints. In: Conference on Object-Oriented Programming Systems, Languages, and Applications, pp. 43–55 (2001)Google Scholar
  22. 22.
    Rountev, A., Kagan, S., Gibas, M.: Static and dynamic analysis of call chains in Java. In: ACM SIGSOFT International Symposium on Software Testing and Analysis, pp. 1–11 (2004)Google Scholar
  23. 23.
    Sharir, M., Pnueli, A.: Two approaches to interprocedural data flow analysis. In: Muchnick, S., Jones, N. (eds.) Program Flow Analysis: Theory and Applications, pp. 189–234. Prentice Hall, Englewood Cliffs (1981)Google Scholar
  24. 24.
    Ammons, G., Ball, T., Larus, J.: Exploiting hardware performance counters with flow and context sensitive profiling. In: ACM SIGSOFT Conference on Programming Language Design and Implementation, pp. 85–96 (1997)Google Scholar
  25. 25.
    Melski, D., Reps, T.: Interprocedural path profiling. In: Jähnichen, S. (ed.) CC 1999. LNCS, vol. 1575, pp. 47–63. Springer, Heidelberg (1999)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Atanas Rountev
    • 1
  • Scott Kagan
    • 1
  • Jason Sawin
    • 1
  1. 1.Ohio State University 

Personalised recommendations