Damjan Murn (2016) The analysis of test coverage using mutation operator BSR. EngD thesis.
Abstract
Code coverage is a measure used to describe the degree to which the source code of a program or paths through the program has been tested by a particular test suite. In this thesis we have designed and implemented a Java tool for code coverage analysis which is based on principles of mutation testing. Mutations are small modifications of source code which are deliberately seeded into the source code under testing in order to evaluate the quality of existing test suite and improve it. We used the mutation operator BSR to systematically seed so-called bombs into Java source code. In mutation testing a bomb is a statement which causes an exception when executed. After that we ran the test suite against the mutated code and checked whether it finished successfully. Based on the test suite results it is possible to assess the code coverage at the position where the bomb was placed. We put a lot of effort in algorithm optimization because mutation testing is known to be extremely time-consuming process. We designed the application as a plugin for Maven, software project management and comprehension tool, which makes it simple to use on any Maven based Java project. Our goal was to develop a tool similar to EMMA by functionality and code coverage measurement methodology. By running the code coverage analysis on a few real-world open source projects, the application proved to be pretty accurate and comparable to EMMA.
Actions (login required)