Does mutation testing improve testing practices?

03/12/2021
by   Goran Petrović, et al.
0

Various proxy metrics for test quality have been defined in order to guide developers when writing tests. Code coverage is particularly well established in practice, even though the question of how coverage relates to test quality is a matter of ongoing debate. Mutation testing offers a promising alternative: Artificial defects can identify holes in a test suite, and thus provide concrete suggestions for additional tests. Despite the obvious advantages of mutation testing, it is not yet well established in practice. Until recently, mutation testing tools and techniques simply did not scale to complex systems. Although they now do scale, a remaining obstacle is lack of evidence that writing tests for mutants actually improves test quality. In this paper we aim to fill this gap: By analyzing a large dataset of almost 15 million mutants, we investigate how these mutants influenced developers over time, and how these mutants relate to real faults. Our analyses suggest that developers using mutation testing write more tests, and actively improve their test suites with high quality tests such that fewer mutants remain. By analyzing a dataset of past fixes of real high-priority faults, our analyses further provide evidence that mutants are indeed coupled with real faults. In other words, had mutation testing been used for the changes introducing the faults, it would have reported a live mutant that could have prevented the bug.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/09/2023

Efficient Mutation Testing via Pre-Trained Language Models

Mutation testing is an established fault-based testing technique. It ope...
research
03/15/2021

Extreme mutation testing in practice: An industrial case study

Mutation testing is used to evaluate the effectiveness of test suites. I...
research
02/22/2021

Practical Mutation Testing at Scale

Mutation analysis assesses a test suite's adequacy by measuring its abil...
research
04/15/2021

On the Use of Mutation in Injecting Test Order-Dependency

Background: Test flakiness is identified as a major issue that compromis...
research
10/26/2020

What It Would Take to Use Mutation Testing in Industry–A Study at Facebook

Traditionally, mutation testing generates an abundance of small deviatio...
research
04/19/2022

Test suite effectiveness metric evaluation: what do we know and what should we do?

Comparing test suite effectiveness metrics has always been a research ho...
research
04/23/2021

Comparing Mutation Coverage Against Branch Coverage in an Industrial Setting

The state-of-the-practice in software development is driven by constant ...

Please sign up or login with your details

Forgot password? Click here to reset