Proceedings of the 14th ACM / IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM) 2020
DOI: 10.1145/3382494.3410687
|View full text |Cite
|
Sign up to set email alerts
|

Why Research on Test-Driven Development is Inconclusive?

Abstract: [Background] Recent investigations into the effects of Test-Driven Development (TDD) have been contradictory and inconclusive. This hinders development teams to use research results as the basis for deciding whether and how to apply TDD. [Aim] To support researchers when designing a new study and to increase the applicability of TDD research in the decision-making process in industrial context, we aim at identifying the reasons behind the inconclusive research results in TDD. [Method] We studied the state of t… Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
6
0
1

Year Published

2022
2022
2024
2024

Publication Types

Select...
6
3

Relationship

0
9

Authors

Journals

citations
Cited by 14 publications
(7 citation statements)
references
References 40 publications
0
6
0
1
Order By: Relevance
“…This process can be highly repetitive, and certain stages often require multiple iterations before proceeding to the next step. Since requirements-based testing and validation, also known as test-driven development, is a common and essential part of software development [ 2 ] and a standard procedure for programmers who must verify the code’s functionality, by reversing this process, we can automatically generate code instead of developing programs or unit testing frameworks. In this reverse scenario, we can automatically create programs based on the predefined input requirements, and by backpropagating the input- output differences, we can modify the generated code until all requirements are satisfied.…”
Section: Introductionmentioning
confidence: 99%
“…This process can be highly repetitive, and certain stages often require multiple iterations before proceeding to the next step. Since requirements-based testing and validation, also known as test-driven development, is a common and essential part of software development [ 2 ] and a standard procedure for programmers who must verify the code’s functionality, by reversing this process, we can automatically generate code instead of developing programs or unit testing frameworks. In this reverse scenario, we can automatically create programs based on the predefined input requirements, and by backpropagating the input- output differences, we can modify the generated code until all requirements are satisfied.…”
Section: Introductionmentioning
confidence: 99%
“…As the first step, the article's title was read, and some were removed since they were not applicable because the main focus was deviating from the main subject. For instance, papers like Towards test-driven development for FPGA-based modules across abstraction levels [23], Why research on test-driven development is inconclusive" [24], and The Perception of Test-driven Development in Computer Science -Outline for a Structured Literature Review [25] were filtered out as the main focus was, for instance, on acceptance testing or just proposing how to conduct a literature review. After this stage of the filter process, there were 127 candidates left.…”
Section: The Review Protocolmentioning
confidence: 99%
“…The aforementioned related work may suggest diverging results regarding the efficacy of TDD and AUT. Ghafari et al [16] discuss some of the possible factors responsible for such conflicting results. These factors include TDD definition, participants, task, type of project, and comparison.…”
Section: Related Workmentioning
confidence: 99%