Code Coverage-Based Regression Test Selection and Prioritization in
WebKit
Árpád Beszédes, Tamás Gergely,
Lajos Schrettner, Judit Jász, Langó László
and
Tibor Gyimóthy
Automated regression testing is often crucial in order to
maintain the quality of a continuously evolving software system.
However, in many cases regression test suites tend to grow too large to
be suitable for full re-execution at each change of the software. In
this case selective retesting can be applied to reduce the testing cost
while maintaining similar defect detection capability. One of the basic
test selection methods is the one based on code coverage information,
where only those tests are included that cover some parts of the
changes. We experimentally applied this method to the open source web
browser engine project WebKit to find out the technical difficulties
and the expected benefits if this method is to be introduced into the
actual build process. Although the principle is simple, we had to solve
a number of technical issues, so we report how this method was adapted
to be used in the official build environment. Second, we present
results about the selection capabilities for a selected set of
revisions of WebKit, which are promising. We also applied different
test case prioritization strategies to further reduce the number of
tests to execute. We explain these strategies and compare their
usefulness in terms of defect detection and test suite reduction.
Keywords: Regression
testing, test case selection, code coverage, test prioritization, test
quality, WebKit.
Back