Skip to main content

A Study of the Relationship Between Class Testability and Runtime Properties

  • Conference paper
  • First Online:
Evaluation of Novel Approaches to Software Engineering (ENASE 2014)

Abstract

Software testing is known to be expensive, time consuming and challenging. Although previous research has investigated relationships between several software properties and software testability the focus has been on static software properties. In this work we present the results of an empirical investigation into the possible relationship between runtime properties (dynamic coupling and key classes) and class testability. We measure both properties using dynamic metrics and argue that data gathered using dynamic metrics are both broader and more precise than data gathered using static metrics. Based on statistical analysis, we find that dynamic coupling and key classes are significantly correlated with class testability. We therefore suggest that these properties could be used as useful indicators of class testability.

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 34.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 44.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

Notes

  1. 1.

    https://developers.google.com/java-devtools/codepro/doc/

  2. 2.

    http://metrics2.sourceforge.net/

References

  1. Bertolino, A., Strigini, L.: On the use of testability measures for dependability assessment. IEEE Trans. Softw. Eng. 22(2), 97–108 (1996)

    Article  Google Scholar 

  2. Myers, G.J., Sandler, C., Badgett, T.: The Art of Software Testing, p. 240. Wiley Publishing, New York (2011)

    Google Scholar 

  3. Sommerville, I., et al.: Large-scale complex IT systems. Commun. ACM 55(7), 71–77 (2012)

    Article  Google Scholar 

  4. Mouchawrab, S., Briand, L.C., Labiche, Y.: A measurement framework for object-oriented software testability. Inf. Softw. Technol. 47(15), 979–997 (2005)

    Article  Google Scholar 

  5. ISO, Software engineering - Product quality-Part 1. In: Quality model 2001, International Organization for Standardization Geneva

    Google Scholar 

  6. Binder, R.V.: Design for testability in object-oriented systems. Commun. ACM 37(9), 87–101 (1994)

    Article  Google Scholar 

  7. Traon, Y.L., Robach, C.: From hardware to software testability. In: International Test Conference on Driving Down the Cost of Test, pp. 710–719. IEEE Computer Society (1995)

    Google Scholar 

  8. Gao, J.Z., Jacob, H.-S., Wu, Y.: Testing and Quality Assurance for Component-Based Software. Artech House Publishers, Norwood (2003)

    MATH  Google Scholar 

  9. Bruntink, M., van Deursen, A.: An empirical study into class testability. J. Syst. Softw. 79(9), 1219–1232 (2006)

    Article  Google Scholar 

  10. Badri, L., Badri, M., Toure, F.: An empirical analysis of lack of cohesion metrics for predicting testability of classes. Int. J. Softw. Eng. Appl. 5(2), 69–86 (2011)

    Google Scholar 

  11. Chidamber, S.R., Kemerer, C.F.: A metrics suite for object oriented design. IEEE Trans. Softw. Eng. 20(6), 476–493 (1994)

    Article  Google Scholar 

  12. Basili, V.R., Briand, L.C., Melo, W.L.: A validation of object-oriented design metrics as quality indicators. IEEE Trans. Softw. Eng. 22(10), 751–761 (1996)

    Article  Google Scholar 

  13. Cai, Y.: Assessing the effectiveness of software modularization techniques through the dynamics of software evolution. In: 3rd Workshop on Assessment of COntemporary Modularization Techniques, Orlando (2008)

    Google Scholar 

  14. Scotto, M., et al.: A non-invasive approach to product metrics collection. J. Syst. Architect. 52(11), 668–675 (2006)

    Article  Google Scholar 

  15. Dufour, B., et al.: Dynamic metrics for java. In: 18th Annual ACM SIGPLAN Conference on Object-Oriented Programing, Systems, Languages, and Applications, pp. 149–168. ACM, Anaheim (2003)

    Google Scholar 

  16. Tahir, A., MacDonell, S.G.: A systematic mapping study on dynamic metrics and software quality. In: International Conference on Software Maintenance. IEEE Computer Society (2012)

    Google Scholar 

  17. Tahir, A., MacDonell, S.G., Buchan, J.: Understanding class-level testability through dynamic analysis. In: 9th International Conference on Evaluation of Novel Approaches to Software Engineering (ENASE), pp. 38–47, Lisbon (2014)

    Google Scholar 

  18. Zhou, Y., et al.: An in-depth investigation into the relationships between structural metrics and unit testability in object-oriented systems. Sci. China Inf. Sci. 55(12), 2800–2815 (2012)

    Article  Google Scholar 

  19. Arisholm, E., Briand, L.C., Foyen, A.: Dynamic coupling measurement for object-oriented software. IEEE Trans. Softw. Eng. 30(8), 491–506 (2004)

    Article  Google Scholar 

  20. Offutt, J., Abdurazik, A., Schach, S.: Quantitatively measuring object-oriented couplings. Softw. Qual. J. 16(4), 489–512 (2008)

    Article  Google Scholar 

  21. Al Dallal, J.: Object-oriented class maintainability prediction using internal quality attributes. Inf. Softw. Technol. 55(11), 2028–2048 (2013)

    Article  Google Scholar 

  22. Chaumun, M.A., et al.: Design properties and object-oriented software changeability. In: European Conference on Software Maintenance and Reengineering, p. 45. IEEE Computer Society (2000)

    Google Scholar 

  23. Tahir, A., Ahmad, R., Kasirun, Z.M.: Maintainability dynamic metrics data collection based on aspect-oriented technology. Malays. J. Comput. Sci. 23(3), 177–194 (2010)

    Google Scholar 

  24. Zaidman, A., Demeyer, S.: Automatic identification of key classes in a software system using webmining techniques. J. Softw. Maintenance Evol. 20(6), 387–417 (2008)

    Article  Google Scholar 

  25. Basili, V.R., Weiss, D.M.: A methodology for collecting valid software engineering data. IEEE Trans. Softw. Eng. 10(6), 728–738 (1984)

    Article  Google Scholar 

  26. Briand, L.C., Morasca, S., Basili, V.R.: An operational process for goal-driven definition of measures. IEEE Trans. Softw. Eng. 28(12), 1106–1125 (2002)

    Article  Google Scholar 

  27. Cazzola, W., Marchetto, A.: AOP-HiddenMetrics: separation, extensibility and adaptability in SW measurement. J. Object Technol. 7(2), 53–68 (2008)

    Article  Google Scholar 

  28. Adams, B., et al.: Using aspect orientation in legacy environments for reverse engineering using dynamic analysis–an industrial experience report. J. Syst. Softw. 82(4), 668–684 (2009)

    Article  Google Scholar 

  29. Rompaey, B.V., Demeyer S.: Establishing traceability links between unit test cases and units under test. In: European Conference on Software Maintenance and Reengineering, pp. 209–218. IEEE Computer Society, Kaiserslautern (2009)

    Google Scholar 

  30. Zhao, L., Elbaum, S.: A survey on quality related activities in open source. SIGSOFT Softw. Eng. Notes 25(3), 54–57 (2000)

    Article  Google Scholar 

  31. Cohen, J.: Statistical Power Analysis for the Behavioral Sciences, 2nd edn. Lawrence Erlbaum Associates, London (1988)

    MATH  Google Scholar 

  32. Daniel, W.W.: Applied Nonparametric Statistics. KENT Publishing Company, Boston (2000)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Amjed Tahir .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Tahir, A., MacDonell, S., Buchan, J. (2015). A Study of the Relationship Between Class Testability and Runtime Properties. In: Maciaszek, L., Filipe, J. (eds) Evaluation of Novel Approaches to Software Engineering. ENASE 2014. Communications in Computer and Information Science, vol 551. Springer, Cham. https://doi.org/10.1007/978-3-319-27218-4_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-27218-4_5

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-27217-7

  • Online ISBN: 978-3-319-27218-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics