Measuring Test Case Similarity to Support Test Suite Understanding

  • Michaela Greiler
  • Arie van Deursen
  • Andy Zaidman
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7304)

Abstract

In order to support test suite understanding, we investigate whether we can automatically derive relations between test cases. In particular, we search for trace-based similarities between (high-level) end-to-end tests on the one hand and fine grained unit tests on the other. Our approach uses the shared word count metric to determine similarity. We evaluate our approach in two case studies and show which relations between end-to-end and unit tests are found by our approach, and how this information can be used to support test suite understanding.

Keywords

Conceptual Mapping Test Suite Unit Test Execution Trace Test Execution 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Binder, R.V.: Testing Object-Oriented Systems: Models, Patterns, and Tools. Addison-Wesley Professional (October 1999)Google Scholar
  2. 2.
    Cornelissen, B., van Deursen, A., Moonen, L., Zaidman, A.: Visualizing testsuites to aid in software understanding. In: Proc. of the European Conference on Software Maintenance and Reengineering (CSMR), pp. 213–222. IEEE CS (2007)Google Scholar
  3. 3.
    Cornelissen, B., Moonen, L., Zaidman, A.: An assessment methodology for trace reduction techniques. In: Proc. Int’l Conf. Software Maintenance (ICSM), pp. 107–116. IEEE CS (2008)Google Scholar
  4. 4.
    Cornelissen, B., Zaidman, A., van Deursen, A., Moonen, L., Koschke, R.: A systematic survey of program comprehension through dynamic analysis. IEEE Transactions on Software Engineering 35(5), 684–702 (2009)CrossRefGoogle Scholar
  5. 5.
    van Deursen, A., Moonen, L., van Den Bergh, A., Kok, G.: Refactoring test code. In: Extreme Programming Perspectives, pp. 141–152. Addison Wesley (2002)Google Scholar
  6. 6.
    Freeman, S., Pryce, N.: Growing Object-Oriented Software, Guided by Tests, 1st edn. Addison-Wesley Professional (2009)Google Scholar
  7. 7.
    Galli, M., Lanza, M., Nierstrasz, O., Wuyts, R.: Ordering broken unit tests for focused debugging. In: Int’l Conf. Softw. Maintenance (ICSM), pp. 114–123. IEEE (2004)Google Scholar
  8. 8.
    Greiler, M., Groß, H.G., van Deursen, A.: Understanding plug-in test suites from an extensibility perspective. In: Proceedings Working Conference on Reverse Engineering (WCRE), pp. 67–76. IEEE CS (2010)Google Scholar
  9. 9.
    Hurdugaci, V., Zaidman, A.: Aiding developers to maintain developer tests. In: Conf. Softw. Maintenance and Reengineering (CSMR), pp. 11–20. IEEE CS (2012)Google Scholar
  10. 10.
    Meszaros, G.: xUnit Test Patterns: Refactoring Test Code. Addison-Wesley (2007)Google Scholar
  11. 11.
    Rothermel, G., Harrold, M.: Empirical studies of a safe regression test selection technique. IEEE Transactions on Software Engineering 24(6), 401–419 (1998)CrossRefGoogle Scholar
  12. 12.
    Stephen, G.A.: String searching algorithms. World Scientific Publishing Co. (1994)Google Scholar
  13. 13.
    Van Rompaey, B., Du Bois, B., Demeyer, S., Rieger, M.: On the detection of test smells: A metrics-based approach for general fixture and eager test. IEEE Transactions on Software Engineering 33(12), 800–817 (2007)CrossRefGoogle Scholar
  14. 14.
    Weiss, S., Indurkhya, N., Zhang, T., Damerau, F.: Text Mining: Predictive Methods for Analyzing Unstructured Information. Springer (2004)Google Scholar
  15. 15.
    Yoo, S., Harman, M., Tonella, P., Susi, A.: Clustering test cases to achieve effective and scalable prioritisation incorporating expert knowledge. In: Proceedings of the Eighteenth International Symposium on Software Testing and Analysis, ISSTA 2009, pp. 201–212. ACM, New York (2009)CrossRefGoogle Scholar
  16. 16.
    Zaidman, A., Van Rompaey, B., van Deursen, A., Demeyer, S.: Studying the co-evolution of production and test code in open source and industrial developer test processes through repository mining. Empir. Softw. Eng. 16(3), 325–364 (2011)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Michaela Greiler
    • 1
  • Arie van Deursen
    • 1
  • Andy Zaidman
    • 1
  1. 1.Delft University of TechnologyThe Netherlands

Personalised recommendations