The role of slicing in test-driven development

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Dieste, Oscar, Tosun, Ayse, Vegas, Sira, Santos, Adrian, Uyaguari, Fernando, Kyykka, Jarno, Juristo, Natalia
Natura: Preprint
Pubblicazione: 2024
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866913435191607296
author Dieste, Oscar
Tosun, Ayse
Vegas, Sira
Santos, Adrian
Uyaguari, Fernando
Kyykka, Jarno
Juristo, Natalia
author_facet Dieste, Oscar
Tosun, Ayse
Vegas, Sira
Santos, Adrian
Uyaguari, Fernando
Kyykka, Jarno
Juristo, Natalia
contents Test-driven development (TDD) is a widely used agile practice. However, very little is known with certainty about TDD's underlying foundations, i.e., the way TDD works. In this paper, we propose a theoretical framework for TDD, with the following characteristics: 1) Each TDD cycle represents a vertical slice of a (probably also small) user story, 2) vertical slices are captured using contracts, implicit in the developers' minds, and 3) the code created during a TDD cycle is a sliced-based specification of a code oracle, using the contracts as slicing pre/post-conditions. We have checked the connections among TDD, contracts, and slices using a controlled experiment conducted in the industry.
format Preprint
id arxiv_https___arxiv_org_abs_2407_13258
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle The role of slicing in test-driven development
Dieste, Oscar
Tosun, Ayse
Vegas, Sira
Santos, Adrian
Uyaguari, Fernando
Kyykka, Jarno
Juristo, Natalia
Software Engineering
Test-driven development (TDD) is a widely used agile practice. However, very little is known with certainty about TDD's underlying foundations, i.e., the way TDD works. In this paper, we propose a theoretical framework for TDD, with the following characteristics: 1) Each TDD cycle represents a vertical slice of a (probably also small) user story, 2) vertical slices are captured using contracts, implicit in the developers' minds, and 3) the code created during a TDD cycle is a sliced-based specification of a code oracle, using the contracts as slicing pre/post-conditions. We have checked the connections among TDD, contracts, and slices using a controlled experiment conducted in the industry.
title The role of slicing in test-driven development
topic Software Engineering
url https://arxiv.org/abs/2407.13258