An empirical analysis of a testability model for object-oriented programs

We present, in this paper, a metric based testability model for object-oriented programs. The model is, in fact, an adaptation of a model pro-posed in literature for assessing the testability of object-oriented design. The study presented in this paper aims at exploring empirically the capa-bility of the model to assess testability of classes at the code level. We investigate testability from the perspective of unit testing and required testing effort. We designed an empirical study using data collected from two Java software systems for which JUnit test cases exist. To capture testability of classes in terms of required testing effort, we used different metrics to quantify the corresponding JUnit test cases. In order to eva-luate the capability of the model to predict testability of classes (charac-teristics of corresponding test classes), we used statistical tests using correlation.

[1]  J. Voas,et al.  Software Testability: The New Verification , 1995, IEEE Softw..

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

[3]  Vishal Chowdhary Practicing Testability in the Real World , 2009, 2009 International Conference on Software Testing Verification and Validation.

[4]  B. Baudry,et al.  Improving the testability of UML class diagrams , 2004, First International Workshop onTestability Assessment, 2004. IWoTA 2004. Proceedings..

[5]  Stefan Jungmayr Testability measurement and software dependencies , 2002 .

[6]  Yves Le Traon,et al.  Testability measurements for data flow designs , 1997, Proceedings Fourth International Software Metrics Symposium.

[7]  Jerry Zeyu Gao,et al.  A component testability model for verification and measurement , 2005, 29th Annual International Computer Software and Applications Conference (COMPSAC'05).

[8]  Brian Henderson-Sellers,et al.  Object-Oriented Metrics , 1995, TOOLS.

[9]  Yves Le Traon,et al.  Analyzing testability on data flow designs , 2000, Proceedings 11th International Symposium on Software Reliability Engineering. ISSRE 2000.

[10]  Jeffrey M. Voas,et al.  Semantic metrics for software testability , 1993, J. Syst. Softw..

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

[12]  Taghi M. Khoshgoftaar,et al.  Detecting program modules with low testability , 1995, Proceedings of International Conference on Software Maintenance.

[13]  Alexandre Petrenko,et al.  On Evaluation of Testability of Protocol Structures , 1993, Protocol Test Systems.

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

[15]  J. W. Sheppard,et al.  Formal specification of testability metrics in IEEE P1522 , 2001, 2001 IEEE Autotestcon Proceedings. IEEE Systems Readiness Technology Conference. (Cat. No.01CH37237).

[16]  Rachida Dssouli,et al.  Specification transformations and design for testability , 1996, Proceedings of GLOBECOM'96. 1996 IEEE Global Telecommunications Conference.

[17]  Shari Lawrence Pfleeger,et al.  Software Metrics : A Rigorous and Practical Approach , 1998 .

[18]  K. K. Aggarwal,et al.  A Fuzzy Approach for Integrated Measure of Object-Oriented Software Testability , 2005 .

[19]  Yves Le Traon,et al.  Testability analysis of a UML class diagram , 2002, Proceedings Eighth IEEE Symposium on Software Metrics.

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

[21]  Shari Lawrence Pfleeger,et al.  Software metrics (2nd ed.): a rigorous and practical approach , 1997 .

[22]  Lorenzo Strigini,et al.  On the Use of Testability Measures for Dependability Assessment , 1996, IEEE Trans. Software Eng..

[23]  Arie van Deursen,et al.  Predicting class testability using object-oriented metrics , 2004, Source Code Analysis and Manipulation, Fourth IEEE International Workshop on.

[24]  Taghi M. Khoshgoftaar,et al.  Predicting testability of program modules using a neural network , 2000, Proceedings 3rd IEEE Symposium on Application-Specific Systems and Software Engineering Technology.

[25]  Jin-Cherng Lin,et al.  Software testability measurements derived from data flow analysis , 1998, Proceedings of the Second Euromicro Conference on Software Maintenance and Reengineering.

[26]  Liang Zhao A new approach for software testability analysis , 2006, ICSE '06.

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

[28]  Yves Le Traon,et al.  Testability analysis of co-designed systems , 1995, Proceedings of the Fourth Asian Test Symposium.

[29]  Roy S. Freedman,et al.  Testability of Software Components , 1991, IEEE Trans. Software Eng..

[30]  Ye Wu,et al.  Testing and Quality Assurance for Component-Based Software , 2003 .

[31]  Jean-Marc Jézéquel,et al.  Measuring and improving design patterns testability , 2003, Proceedings. 5th International Workshop on Enterprise Networking and Computing in Healthcare Industry (IEEE Cat. No.03EX717).

[32]  Thanh Binh Nguyen,et al.  Testability analysis applied to embedded data-flow software , 2003, Third International Conference on Quality Software, 2003. Proceedings..

[33]  John D. McGregor,et al.  A Measure of Testing Effort , 1996, COOTS.

[34]  Jeffrey M. Voas,et al.  PIE: A Dynamic Failure-Based Technique , 1992, IEEE Trans. Software Eng..