Loading [MathJax]/extensions/MathMenu.js
Enhanced code coverage approach for regression testing | IEEE Conference Publication | IEEE Xplore

Enhanced code coverage approach for regression testing


Abstract:

Code coverage information is widely used to address problems in software development and maintenance phase. Researchers have developed different approaches and tools usin...Show More

Abstract:

Code coverage information is widely used to address problems in software development and maintenance phase. Researchers have developed different approaches and tools using code coverage concept to accomplish regression testing tasks. These tools did not provide runtime enhancement techniques. In this research, an implementation of a proposed tool is conducted to measure the code coverage percentage which will be known as phase 1. Phase 2 focuses on enhancing the code coverage keeping the performance degradation as minimum as possible. A suite of selective case studies was tested to calculate the percentage of statement coverage, the number of executed statements and the overall runtime. The design of the proposed tool in this research is based on computing the overall runtime as a single thread approach. When it was tested on multiple threads a race condition problem was discovered as all the threads where trying to access the files in the same time which might lead to a deadlock. This implies resources wasting and delaying overall runtime. So the calculation of the overall runtime is assigned to a single highly configured processor to avoid transition time between multiple processors. This enhances the regression testing performance while decreasing the overall cost of the regression testing process. The proposed tool enhancement results are compared to its relative results in case of no enhancement process to judge the robustness of the proposed approach for this research. The comparison shows a range of enhancement fluctuation between 49%-67% for different sized test cases.
Date of Conference: 18-19 December 2015
Date Added to IEEE Xplore: 23 May 2016
ISBN Information:
Conference Location: Kumaracoil

I. Introduction

Software testing is considered as a major highly cost activity in software maintenance life cycle. The software testing process could be used to determine and improve the software quality. Major testing activities include multiple processes. Regression testing attempts to validate modified software and ensure that the modified parts of the program do not introduce unexpected errors. One concern in regression testing is the effectiveness of test suites in finding new faults in successive program versions [3]. Regression testing can be applied in various ways code based, specification-based and model-based. Code-based techniques are white-box method that is they select test cases based on the difference between original and modified code. It uses relationships between code parts and test cases that traverse them to locate test cases for retest when code is modified. An important issue with unit-testing is scalability problem. As software systems grow in size and complexity, so does the need for higher level models and abstractions in their development [6].

Contact IEEE to Subscribe

References

References is not available for this document.