Using a cluster analysis method for grouping classes according to their inferred testability: An investigation of CK metrics, code coverage and mutation score

Software testing is one of the most time and resource consuming activities in every software development process. The effort to test a software is given by its testability, a quality indicator that can be indirectly measured to indicate how easily a software can be tested. Researchers have been studying the influence of object oriented metrics, such as the CK metrics, on the testability of a software. To do so, they correlate the CK metrics with the test size and also with test quality indicators, such as code coverage and mutation testing. However, those studies provide only evidence of the correlation between each metric but they do not provide any information regarding the range of values for which a reasonable amount of effort is spent or the quality of the test set considered. In this paper, we present an analysis in which we split the classes of four open source software into several clusters according to their CK metrics and show the ranges for which they have high or low testability according to their code coverage and mutation score.

[1]  Mourad Badri,et al.  An Empirical Analysis of Lack of Cohesion Metrics for Predicting Testability of Classes , 2011 .

[2]  Renato Correa Juliano,et al.  Visualização de software baseada em uma metáfora do universo utilizando o conjunto de métricas CK , 2014 .

[3]  Standard Glossary of Software Engineering Terminology , 1990 .

[4]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[5]  Marcelo Medeiros Eler,et al.  Identifying characteristics of Java methods that may influence branch coverage: An exploratory study on open source projects , 2016, 2016 35th International Conference of the Chilean Computer Science Society (SCCC).

[6]  Khurram Mustafa,et al.  Metric based testability model for object oriented design (MTMOOD) , 2009, SOEN.

[7]  Magiel Bruntink,et al.  Predicting class testability using object-oriented metrics , 2004 .

[8]  Robert V. Binder,et al.  Design for testability in object-oriented systems , 1994, CACM.

[9]  Fahim Arif,et al.  Analysis of object oriented complexity and testability using object oriented design metrics , 2010, NSEC '10.

[10]  Arie van Deursen,et al.  An empirical study into class testability , 2006, J. Syst. Softw..

[11]  Amjed Tahir,et al.  Understanding class-level testability through dynamic analysis , 2014, 2014 9th International Conference on Evaluation of Novel Approaches to Software Engineering (ENASE).

[12]  Abdullah,et al.  Testability Estimation of Object Oriented Design: A Revisit , 2013 .

[13]  Vijanth S. Asirvadam,et al.  Visualization of dengue incidences using expectation maximization (EM) algorithm , 2016, 2016 6th International Conference on Intelligent and Advanced Systems (ICIAS).

[14]  Hong Zhu,et al.  Software unit test coverage and adequacy , 1997, ACM Comput. Surv..

[15]  Mark Lorenz,et al.  Object-oriented software metrics - a practical guide , 1994 .

[16]  Mourad Badri,et al.  Empirical Analysis of Object-Oriented Design Metrics for Predicting Unit Testing Effort of Classes , 2012 .

[17]  Chris F. Kemerer,et al.  A Metrics Suite for Object Oriented Design , 2015, IEEE Trans. Software Eng..

[18]  Mourad Badri,et al.  An empirical analysis of a testability model for object-oriented programs , 2011, SOEN.

[19]  Marcelo Medeiros Eler,et al.  An Empirical Analysis of the Correlation between CK Metrics, Test Coverage and Mutation Score , 2017, ICEIS.

[20]  A. Jefferson Offutt,et al.  An Experimental Evaluation of Data Flow and Mutation Testing , 1996 .

[21]  Harry M. Sneed Testing object-oriented software systems , 2010 .

[22]  Wei Li Software product metrics , 2000 .

[23]  A. J. Offutt A practical system for mutation testing: help for the common programmer , 1994, Proceedings., International Test Conference.

[24]  N. Altman An Introduction to Kernel and Nearest-Neighbor Nonparametric Regression , 1992 .