Test Amplification For and With Developers

Research output: ThesisDissertation (TU Delft)

9 Downloads (Pure)

Abstract

Developer testing has become an established practice in large software projects. The developers working on the functionality of a project also write short, automated scripts that check the behavior of their code. While the benefits of developer testing are widely accepted, writing tests is still seen as tedious and time-consuming. Researchers are working towards alleviating developer effort by automatically generating tests. One approach to do this is test amplification, which modifies existing, manually written tests to create new tests that improve the strength of the existing test suite. When trying to fully automatically enerate tests, test generation tools face the relevance problem and the oracle problem: Which behavior of the system is worth testing and what is the expected output to check for? The developer already needs to have an understanding of these two aspects to write the code under test. We propose to leverage this knowledge of the developer to improve the test amplification process. Conjecturing that a consciously designed interaction is the key to an effective collaboration, we propose a developer-centric approach to test amplification that uses a dedicated test exploration tool to communicate and collaborate with the developer.
Original languageEnglish
QualificationDoctor of Philosophy
Awarding Institution
  • Delft University of Technology
Supervisors/Advisors
  • Zaidman, A.E., Supervisor
  • van Deursen, A., Supervisor
Award date8 Jul 2024
Print ISBNs978-94-6366-886-6
DOIs
Publication statusSubmitted - 2024

Fingerprint

Dive into the research topics of 'Test Amplification For and With Developers'. Together they form a unique fingerprint.

Cite this