The role of slicing in test-driven development
Fuente:
arXiv
Salvato in:
| Autori principali: | , , , , , , |
|---|---|
| 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 |