Abstract

Test case prioritization (TCP) has been considerably utilized to arrange the implementation order of test cases, which contributes to improve the efficiency and resource allocation of software regression testing. Traditional coverage-based TCP techniques, such as statement-level, method/function-level and class-level, only leverages program code coverage to prioritize test cases without considering the probable distribution of defects. However, software defect data tends to be imbalanced following Pareto principle. Instinctively, the more vulnerable the code covered by the test case is, the higher the priority it is. Besides, statement-level coverage is a more fine-grained method than function-level coverage or class-level coverage, which can more accurately formulate test strategies. Therefore, we present a test case prioritization approach based on statement software defect prediction to tame the limitations of current coverage-based techniques in this paper. Statement metrics in the source code are extracted and data pre-processing is implemented to train the defect predictor. And then the defect detection rate of test cases is calculated by combining the prioritization strategy and prediction results. Finally, the prioritization performance is evaluated in terms of average percentage faults detected in four open source datasets. We comprehensively compare the performance of the proposed method under different prioritization strategies and predictors. The experimental results show it is a promising technique to improve the prevailing coverage-based TCP methods by incorporating statement-level defect-proneness. Moreover, it is also concluded that the performance of the additional strategy is better than that of max and total, and the choice of the defect predictor affects the efficiency of the strategy.

Highlights

  • Software testing, as an indispensable stage in software development life cycle, aims to discover defects in a software artefact as much as possible to assure its quality and reliability [10]

  • SCSDP systematically and objectively, we present three questions as follows: RQ1: What is the performance comparison of different prioritization strategies?

  • This paper proposes a novel test case prioritization method based on code statement-level defect prediction named TCP-SCSDP, which takes into account the possible distribution of defects and prediction granularity

Read more

Summary

Introduction

As an indispensable stage in software development life cycle, aims to discover defects in a software artefact as much as possible to assure its quality and reliability [10]. Science and Technology effectiveness of some performance objectives associated with regression testing [7, 10, 21, 26, 35, 36], but it does not increase software costs like TCS and TSM by ignoring some meaningful test cases [9]. It prioritizes the test suite used according to certain test goals and strategies to optimize the speed of the defect detection rate, which is conducive to improving testing efficiency and reducing time and resource costs. With the expansion of application scenarios, it has been successfully applied in different test areas, such as graphical user interface testing [7, 20], web application testing [13]

Methods
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call