Software Reuse and the Test Development Process: A Combined Approach

  • Mikko Karinsalo
  • Pekka Abrahamsson
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3107)


Testing is the most time consuming activity in the software development process. The effectiveness of software testing is primarily determined by the quality of the testing process. Software reuse, when effectively applied, has shown to increase the productivity of a software process and enhance the quality of software by the use of components already tested on a large scale. While reusability of testing material and tests has a strong potential, few if any approaches have been proposed that combine these two aspects. Reusability of testing materials is desired, when test development is complex and time-consuming. This is the case, for example, in testing with test-specific languages, such as the TTCN-3. To meet these needs, this paper suggests a test development process model that takes software reuse techniques and activities into account. This paper shows further that in order to produce reusable test material, the software entities must be expressed in terms of features, in which the test materials are attached to. Also, the software components must be designed with reuse in mind when reusable test material is desired. The scope of the proposed test development approach is on the unit and integration testing, because the outcome of higher levels of testing is typically dependent on the tester’s subjective judgment.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Kit, Edward.: Software Testing in the Real World. Improving the Process. ACM Press (1995)Google Scholar
  2. 2.
    McCregor, J.D., Korson, T.D.: Integrated Object-Oriented Testing and Development Process. Communications of the ACM 37(9) (1994)Google Scholar
  3. 3.
    ITU-T Z.140.: The testing and test control notation version 3: TTCN-3 core language. Geneva, Switzerland: International Telecommunication Union (ITU) (2003) Google Scholar
  4. 4.
    Binder, R.V.: Testing Object-Oriented Systems. Addison-Wesley, Reading (2000)Google Scholar
  5. 5.
    Harrold, M.J.: Testing Evolving Software. The Journal of Systems and Software 47, 173–181 (1999)CrossRefGoogle Scholar
  6. 6.
    Rothermel, G., Harrold, M.J.: Analyzing Regression Test Selection Techniques. IEEE Transactions on Software Engineering 22(8), 529–551 (1996)CrossRefGoogle Scholar
  7. 7.
    Wang, Y., King, G., Fayad, M., Patel, D., Court, I., Staples, G., Ross, M.: On Builtin Test Reuse in Object-Oriented Framework Design. ACM Computing Surveys,(CSUR) (2000)Google Scholar
  8. 8.
    Zahran, S.: Software Process Improvement. Practical guidelines for business success. Addison-Wesley (1998)Google Scholar
  9. 9.
    Runeson, P., Andersson, C., Höst, M.: Test processes in software product evolution – a qualitative survey of the state of practice. Journal of software maintenance and evolution: Research and practice 15, 41–59 (2002)CrossRefGoogle Scholar
  10. 10.
    Collofello, J.S., Yang, Z., Tvedt, J.D., Merrill, D., Rus, I.: Modeling Software Testing Process. In: IEEE 15th Annual International Phoenix Conference on Computers and Communications, pp. 289–293 (1996)Google Scholar
  11. 11.
    Watkins, J.: Testing IT. An Off-the-Shelf Software Testing Process.Cambridge University Press, Cambridge (2001)Google Scholar
  12. 12.
    Koomen, T., Pol, M.: Test Process Improvement. Addison-Wesley, Reading (1999)zbMATHGoogle Scholar
  13. 13.
    Krueger, C.W.: Software Reuse. ACM Computing Surveys, (CSUR) (1992)Google Scholar
  14. 14.
    Karlsson, E.-A.: Software Reuse. A Holistic Approach. Wiley,New York(1995)Google Scholar
  15. 15.
    Jacobson, I., Griss, M., Jonsson, P.: Software Reuse. Architecture, Process and Organization for Business Success. ACM Press,New York (1997)Google Scholar
  16. 16.
    Bosch, J.: Design and Use of Software Architectures. Adopting and Evolving a Product-line Approach. Addison-Wesley (2000)Google Scholar
  17. 17.
    Sodhi, J., Sodhi, P.: Software Reuse. Domain Analysis and Design Process. McGraw-Hill (1999)Google Scholar
  18. 18.
    Long, J.: Software Reuse Antipatterns. In: ACM SIGSOFT. Software Engineering Notes, vol. 26(4) (2001)Google Scholar
  19. 19.
    Tasker, M., Allin, J., Dixon, J., Forrest, J., Heath, M., Richardson, T., Shackman, M.: Professional Symbian Programming. In: Mobile Solutions on the EPOC Platform, Wrox Press Ltd. (2000)Google Scholar
  20. 20.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Elements of Reusable Object-Oriented Software. Addison-Wesley (1995)Google Scholar
  21. 21.
    Ribot, D., Bongard, B., Villermain, C.: Development life-cycle WITH reuse. ACM symposium on Applied computing (1994)Google Scholar
  22. 22.
    Korhonen, J., Salmela, M., Kalaoja, J.: The reuse of tests for configured software products, Espoo, Finland. VTT Publications 406 (2000)Google Scholar
  23. 23.
    Humphrey, W.: A Discipline for Software Engineering. Addison-Wesley, Reading (1995)Google Scholar
  24. 24.
    IEEE Standard for Software Test Documentation.IEEE Std 829-1998 (1998) Google Scholar
  25. 25.
    Kaner, C., Bach, J., Pettichord, B.: Lessons Learned in Software Testing. A Context- Driven Approach. John Wiley & Sons Ltd, New York (2002)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Mikko Karinsalo
    • 1
  • Pekka Abrahamsson
    • 1
  1. 1.VTT ElectronicsOuluFinland

Personalised recommendations