Developer-Centric Test Amplification The Interplay Between Automatic Generation and Human Exploration

08/27/2021
by   Carolin Brandt, et al.
0

Automatically generating test cases for software has been an active research topic for many years. While current tools can generate powerful regression or crash-reproducing test cases, these are often kept separately from the maintained test suite. In this paper, we leverage the developer's familiarity with test cases amplified from existing, manually written developer tests. Starting from issues reported by developers in previous studies, we investigate what aspects are important to design a developer-centric test amplification approach, that provides test cases that are taken over by developers into their test suite. We conduct 16 semi-structured interviews with software developers supported by our prototypical designs of a developer-centric test amplification approach and a corresponding test exploration tool. We extend the test amplification tool DSpot, generating test cases that are easier to understand. Our IntelliJ plugin TestCube empowers developers to explore amplified test cases from their familiar environment. From our interviews, we gather 52 observations that we summarize into 23 result categories and give two key recommendations on how future tool designers can make their tools better suited for developer-centric test amplification.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/24/2017

DroidWalker: Generating Reproducible Test Cases via Automatic Exploration of Android Apps

Generating test cases through automatic app exploration is very useful f...
research
03/01/2021

How Developers Engineer Test Cases: An Observational Study

One of the main challenges that developers face when testing their syste...
research
09/10/2019

Suggestions on Test Suite Improvements with Automatic Infection and Propagation Analysis

An extreme transformation removes the body of a method that is reached b...
research
03/01/2022

A Survey on How Test Flakiness Affects Developers and What Support They Need To Address It

Non-deterministically passing and failing test cases, so-called flaky te...
research
03/17/2023

Using causal inference and Bayesian statistics to explain the capability of a test suite in exposing software faults

Test effectiveness refers to the capability of a test suite in exposing ...
research
05/28/2020

Unlucky Explorer: A Complete non-Overlapping Map Exploration

Nowadays, the field of Artificial Intelligence in Computer Games (AI in ...
research
09/21/2023

Revealing Performance Issues in Server-side WebAssembly Runtimes via Differential Testing

WebAssembly (Wasm) is a bytecode format originally serving as a compilat...

Please sign up or login with your details

Forgot password? Click here to reset