Predicting the Size of Test Suites from Use Cases: An Empirical Exploration

Software testing plays a crucial role in software quality assurance. Software testing is, however, a time and resource consuming process. It is, therefore, important to estimate as soon as possible the effort required to test software. Unfortunately, little is known about the prediction of the testing effort. The study presented in this paper aims at exploring empirically the prediction of the testing effort from use cases. We address the testing effort from the perspective of test suites size. We used four metrics to characterize the size and complexity of use cases, and three metrics to quantify different perspectives of the size of corresponding test suites. We used the univariate logistic regression analysis to evaluate the individual effect of each use case metric on the size of test suites. The multivariate logistic regression analysis was used to explore the combined effect of the use case metrics. The performance of the prediction models was evaluated using receiver operating characteristic analysis. An experimental study, using data collected from five Java case studies, is reported providing evidence that some of the use case metrics are significant predictors of the size of test suites.

[1]  Yuming Zhou,et al.  Empirical Analysis of Object-Oriented Design Metrics for Predicting High and Low Severity Faults , 2006, IEEE Transactions on Software Engineering.

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

[3]  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).

[4]  Tibor Gyimóthy,et al.  Empirical validation of object-oriented metrics on open source software for fault prediction , 2005, IEEE Transactions on Software Engineering.

[5]  Javam C. Machado,et al.  The prediction of faulty classes using object-oriented design metrics , 2001, J. Syst. Softw..

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

[7]  Lionel C. Briand,et al.  Exploring the relationships between design measures and software quality in object-oriented systems , 2000, J. Syst. Softw..

[8]  Mourad Badri,et al.  Exploring Empirically the Relationship between Lack of Cohesion and Testability in Object-Oriented Systems , 2010, FGIT-ASEA.

[9]  Arvinder Kaur,et al.  Empirical analysis for investigating the effect of object-oriented metrics on fault proneness: a replicated case study , 2009 .

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

[11]  Gabriela Robiolo,et al.  Employing use cases to early estimate effort with simpler metrics , 2007, Innovations in Systems and Software Engineering.

[12]  Norman F. Schneidewind,et al.  A Methodology for Validating Software Product Metrics , 2000 .

[13]  Craig Larman,et al.  Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process , 2001 .

[14]  Y. Singh,et al.  Predicting Testability of Eclipse: A Case Study , 2010 .

[15]  Zhou Bo,et al.  Early Estimate the Size of Test Suites from Use Cases , 2008, 2008 15th Asia-Pacific Software Engineering Conference.

[16]  Miroslaw Ochodek,et al.  Simplifying effort estimation based on Use Case Points , 2011, Inf. Softw. Technol..

[17]  Lu Chen,et al.  Extended Use Case Points Method for Software Cost Estimation , 2009, 2009 International Conference on Computational Intelligence and Software Engineering.

[18]  R. Conradi,et al.  Effort estimation of use cases for incremental large-scale software development , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[19]  Gustav Karner,et al.  Resource Estimation for Objectory Projects , 2010 .

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

[21]  Chen Lu,et al.  Estimate Test Execution Effort at an Early Stage: An Empirical Study , 2008, 2008 International Conference on Cyberworlds.

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

[23]  Suresh Nageswaran,et al.  Test Effort Estimation Using Use Case Points , 2001 .

[24]  Rudolf Ferenc,et al.  Using the Conceptual Cohesion of Classes for Fault Prediction in Object-Oriented Systems , 2008, IEEE Transactions on Software Engineering.

[25]  Arvinder Kaur,et al.  Empirical validation of object-oriented metrics for predicting fault proneness models , 2010, Software Quality Journal.

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

[27]  Mourad Badri,et al.  On the relationship between use cases and test suites size: an exploratory study , 2013, SOEN.

[28]  Lionel C. Briand,et al.  A Unified Framework for Cohesion Measurement in Object-Oriented Systems , 2004, Empirical Software Engineering.

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

[30]  Regina Lúcia de Oliveira Moraes,et al.  An Alternative Approach to Test Effort Estimation Based on Use Cases , 2009, 2009 International Conference on Software Testing Verification and Validation.

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

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

[33]  Gabriela Robiolo,et al.  Transactions and paths: Two use case based metrics which improve the early effort estimation , 2009, ESEM 2009.

[34]  D. Hosmer,et al.  Applied Logistic Regression , 1991 .

[35]  Victor R. Basili,et al.  A Validation of Object-Oriented Design Metrics as Quality Indicators , 1996, IEEE Trans. Software Eng..