A Comparative Evaluation of Test Coverage Techniques Effectiveness
- 1 Department of Computer Science, University of Yaounde I, Yaounde, Cameroon
- 2 Department of Computer Science, University of Jos, Jos, Nigeria
- 3 Computer Science Department Faculty of Physical Sciences, University of Nigeria Nsukka, Nsukka, Nigeria
Abstract
Software systems have become complex and challenging to develop and maintain because of the large size of test cases with increased scalability issues. Test case prioritization methods have been successfully utilized in test case management. However, the prohibitively exorbitant cost of large test cases is now the mainstream in the software industry. The growth of agile test-driven development has increased the expectations for software quality. Yet, our knowledge of when to use various path testing criteria for cost-effectiveness is inadequate due to the inherent complexity in software testing. Existing researches attempted to address the issue without effectively tackling the scalability of large test suites to reduce time in regression testing. In order to provide a more accurate way of fault detection in software projects, we introduced novel coverage criteria, called Incremental Cluster-based test case Prioritization (ICP), and investigated its potentials by making a comparative evaluation with three un-clustered traditional coverage-based criteria: Prime-Path Coverage (PPC), Edge-Pair Coverage (EPC) and Edge Coverage (EC) based on mutation analysis. By clustering test suites, based on their dynamic run-time behavior, the number of pair-wise comparisons is reduced significantly. To compare, we analyzed 20 functions from 25 C programs, instrumented faults into the programs, and used the Mull mutation tool to generate mutants and perform a statistical analysis of the results. The experimental results show that ICP can lead to cost-effective improvements in fault detection.
- Andrews, J.H. and Zhang, Y. (2003) General Test Result Checking with Log File Analysis. IEEE Transactions on Software Engineering, 29, 634-648. https://doi.org/10.1109/TSE.2003.1214327
- Ma, Y.-S., Offutt, J. and Kwon, Y.-R. (2005) Mujava: An Automated Class Mutation System. Software Testing, Verification, and Reliability, 15, 97-133. https://doi.org/10.1002/stvr.308
- Hemmati, H. (2015) How Effective Are Code Coverage Criteria? 2015 IEEE International Conference on Software Quality, Reliability and Security, Vancouver, 3-5 August 2015, 151-156. https://doi.org/10.1109/QRS.2015.30
- Schwartz, A. and Hetzel, M. (2016) The Impact of Fault Type on the Relationship between Code Coverage and Fault Detection. IEEE/ACM International Workshop in Automation of Software Test, Austin, 2016, 29-35. https://doi.org/10.1145/2896921.2896926
- Papadakis, M., Henard, C., Harman, M., Jia, Y. and Le Traon, Y. (2016) Threats to the Validity of Mutation-Based Test Assessment. Proceedings of the International Symposium on Software Testing and Analysis, Saarbrücken, Germany, 2016, 354-365. https://doi.org/10.1145/2931037.2931040
- Chekam, T.T., Papadakis, M., Traon, Y.L. and Harman, M. (2017) An Empirical Study on Mutation, Statement and Branch Coverage Fault Revelation that Avoids the Unreliable Clean Program Assumption. Proceedings of the International Conference on Software Engineering (ICSE), Buenos Aires, Argentina, 20-28 May 2017, 597-608. https://doi.org/10.1109/ICSE.2017.61
- Kurtz, B., Ammann, P., Offutt, J. and Kurtz, M. (2016) Are We There Yet? How Redundant and Equivalent Mutants Affect Determination of Test Completeness. 2016 IEEE Ninth International Conference on Software Testing, Verification and Validation Workshops, Chicago, 11-15 April 2016, 142-151. https://doi.org/10.1109/ICSTW.2016.41
- Yan, Z. and Zhang, L.J. (2019) A Data Dependent Parallel Computing Method Based on LLVM Intermediate Representation. Computer Application Research, 37, 437-442.
- Ammann, P., Offutt, J. and Xu, W.Z. (2008) Coverage Computation Web Applications. http://cs.gmu.edu:8080/offutt/coverage/
- Frankl, P.G., Weiss, S.N. and Hu, C. (1997) All-Uses Versus Mutation Testing: An Experimental Comparison of Effectiveness. Journal of System Software, 38, 235-253. https://doi.org/10.1016/S0164-1212(96)00154-9
- Ammann, P. and Offutt, J. (2017) Introduction to Software Testing. 2nd Edition, Cambridge University Press, Cambridge, UK. https://doi.org/10.1017/9781316771273