Skip to main content

Regression Test Selection for Testable Classes

  • Conference paper
Dependable Computing - EDCC 5 (EDCC 2005)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 3463))

Included in the following conference series:

Abstract

A reusable class must be tested many times: each time modifications are applied to it or its base classes; when a subclass is created, in which case the inherited and redefined features must be retested in the new context. Therefore, a class should be easy to test, specifically for test execution and results analysis, since these activities must be repeated often. Inspired by R. Binder’s self-testing class concept [4] we defined, in a previous work, a testable class as a 3-tuple: class implementation, class behavior model and built-in test (BIT) mechanisms. In this work we present how to use this information when a class is changed. Regression testing is necessary each time a software is changed, to assure that the modifications do not adversely affect the unchanged parts. It is assumed that the test suite applied when testing the old version is available for reuse. However, test suites can be large and require too much effort to be reapplied in their totality. In such cases, a subset of the tests must be selected. This selection usually requires extra information besides the source code. This work aims at answering the following question: how to use test information contained in a testable class to do regression testing? The answer involves, among other aspects, the definition of an approach to select tests for reuse. The approach can be fully automated and does not need the source code for regression-test selection.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Ball, T.: On the Limit of Control-Flow Analysis for Regression Test Selection. In: International Symposium on Software Testing and Analysis (ISSTA), pp. 143–242 (1998)

    Google Scholar 

  2. Beizer, B.: Black-Box Testing. John Wiley & Sons, Chichester (1995)

    Google Scholar 

  3. Beydeda, S., Gruhn, V.: Merging components and testing tools – The self-testing COTS components (STECC) strategy. In: Proc. EUROMICRO Conference Component-based Software Engineering Track (2003)

    Google Scholar 

  4. Binder, R.V.: Design for Testability in Object-Oriented Systems. Comm. of ACM 37(9), 87–101 (1994)

    Article  Google Scholar 

  5. Binder, R.V.: Testing Object-Oriented Systems. Models, Patterns and Tools (2000)

    Google Scholar 

  6. Briand, L., Labiche, Y., Soccar, G.: Automating Impact Analysis and Regression Test Selection Based on UML Designs. In: International Conference on Software Maintenance (ICSM 2002), Montreal, Quebec, Canada, p. 252 (October 2002)

    Google Scholar 

  7. Chen, Y., Probert, R.L., Sims, D.P.: Specification-based regression test selection with risk analysis. In: Conference of the Center for Advanced Studies on Collaborative Research, pp. 1–14 (2002)

    Google Scholar 

  8. Fowler, M., Scott, K.: UML Distilled, 2nd edn. Addison-Wesley, Reading (2000)

    Google Scholar 

  9. Gao, J.: Testing Component-Based Software. In: Proc. of STARWest, San Jose, USA (1999), Available on the Web www.engr.sjsu/edu/gaojerry/report/star-test.html

  10. GNU – CommonC++, ftp://ftp.gnu.org/pub/gnu/commonc++/ (Accessed in January 2002)

  11. Granja, I., Jino, M.: Techniques for Regression Testing: Selecting Test Case Sets Tailored to Possibly Modified Functionalities. In: Third IEEE European Conference on Software Maintenance Engineering, pp. 2–11 (March 1999)

    Google Scholar 

  12. Harrold, M.J., Jones, J.A., Li, T., Liang, D., Orso, A., Pennings, M., Sinha, S., Spoon, S.A.: Regression Test Selection for Java Software. In: ACM Conf. on OO Programming, Systems, Languages and Applications, OOPSLA (2001)

    Google Scholar 

  13. Hoffman, D.: Hardware Testing and Software ICs. In: Proc. Northwest Software Quality Conference, USA, pp. 234–244 (September 1989)

    Google Scholar 

  14. Hörnstein, J., Edler, H.: Configuration and testing of components in software product lines. In: Proc. SERPS 2002: Second conference on software engineering research and practise in Sweden, Karlskrona, Sweden, October 24-25 (2002)

    Google Scholar 

  15. Leung, H.K.N., White, L.: Insights into Regression Testing. In: Proc. Of the IEEE Conference on Software Maintenance, pp. 531–537 (Ocotober 1989)

    Google Scholar 

  16. Leung, H.K.N., White, L.: A Cost Model to Compare Regression Test Strategies. In: Proc. Of the IEEE Conference on Software Maintenance, pp. 201–208 (Ocotober 1991)

    Google Scholar 

  17. Martins, E., Toyota, C., Yanagawa, R.: Constructing Self-Testable Software Components. In: Proc. IEEE/IFIP Dependable Systems and Networks (DSN) Conference, Gothemburg (2001)

    Google Scholar 

  18. Meyer, B.: Applying Design by Contract. IEEE Computer, 40–5 (October 1992)

    Google Scholar 

  19. Orso, A., Harrold, M.J., Rosenblum, D.: Component Metadata for Software Engineering Tasks. In: Emmerich, W., Tai, S. (eds.) EDO 2000. LNCS, vol. 1999, pp. 129–144. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  20. Rothermel, G., Harrold, M.J.: Selecting regression tests for object-oriented software. In: IEEE Procedings of International Conference on Software Maintenance, pp. 14–25 ( September 1994)

    Google Scholar 

  21. Rothermel, G., Harrold, M.J.: Analyzing Regression Test Selection Techniques. IEEE Transactions on Sw. Engineering 22(8) (1996)

    Google Scholar 

  22. Rothermel, G., Harrold, M.J.: A Safe, Efficient Regression Test Selection Technique. ACM Transactions on Software Engineering and Methodology, 173–210 (1997)

    Google Scholar 

  23. Rothermel, G., Harrold, M.J., Dedhia, J.: Regression Test Selection for C++ Software. Journal of Software Testing, Verification and Reliability 10(2) (June 2000)

    Google Scholar 

  24. Traon, Y., Deveaux, D., Jézéquel, J.: Self-testable Components – from Pragmatic Tests to Design-for-Testability Methodology. In: Proc. 1st Workshop on Component-Based Systems, Switzerland (1997)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Martins, E., Vieira, V.G. (2005). Regression Test Selection for Testable Classes. In: Dal Cin, M., Kaâniche, M., Pataricza, A. (eds) Dependable Computing - EDCC 5. EDCC 2005. Lecture Notes in Computer Science, vol 3463. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11408901_33

Download citation

  • DOI: https://doi.org/10.1007/11408901_33

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-25723-3

  • Online ISBN: 978-3-540-32019-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics