Loading [MathJax]/extensions/MathZoom.js
A Multi-Objective Technique to Prioritize Test Cases | IEEE Journals & Magazine | IEEE Xplore

A Multi-Objective Technique to Prioritize Test Cases


Abstract:

While performing regression testing, an appropriate choice for test case ordering allows the tester to early discover faults in source code. To this end, test case priori...Show More

Abstract:

While performing regression testing, an appropriate choice for test case ordering allows the tester to early discover faults in source code. To this end, test case prioritization techniques can be used. Several existing test case prioritization techniques leave out the execution cost of test cases and exploit a single objective function (e.g., code or requirements coverage). In this paper, we present a multi-objective test case prioritization technique that determines the ordering of test cases that maximize the number of discovered faults that are both technical and business critical. In other words, our new technique aims at both early discovering faults and reducing the execution cost of test cases. To this end, we automatically recover links among software artifacts (i.e., requirements specifications, test cases, and source code) and apply a metric-based approach to automatically identify critical and fault-prone portions of software artifacts, thus becoming able to give them more importance during test case prioritization. We experimentally evaluated our technique on 21 Java applications. The obtained results support our hypotheses on efficiency and effectiveness of our new technique and on the use of automatic artifacts analysis and weighting in test case prioritization.
Published in: IEEE Transactions on Software Engineering ( Volume: 42, Issue: 10, 01 October 2016)
Page(s): 918 - 940
Date of Publication: 22 December 2015

ISSN Information:


Contact IEEE to Subscribe

References

References is not available for this document.