A Comparative Case Study on the Impact of Test-Driven Development on Program Design and Test Coverage

11/14/2017
by   Maria Siniaalto, et al.
0

Test-driven development (TDD) is a programming technique in which the tests are written prior to the source code. It is proposed that TDD is one of the most fundamental practices enabling the development of software in an agile and iterative manner. Both the literature and practice suggest that TDD practice yields several benefits. Essentially, it is claimed that TDD leads to an improved software design, which has a dramatic impact on the maintainability and further development of the system. The impact of TDD on program design has seldom come under the researchers' focus. This paper reports the results from a comparative case study of three software development projects where the effect of TDD on program design was measured using object-oriented metrics. The results show that the effect of TDD on program design was not as evident as expected, but the test coverage was significantly superior to iterative test-last development.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/28/2021

Architectural Challenges in Migrating Plan-driven Projects to Agile

Software development has steadily embraced agile software development me...
research
09/17/2022

Some Long-Standing Quality Practices in Software Development

The desire to build quality software systems has been the focus of most ...
research
12/25/2021

DIAR: Removing Uninteresting Bytes from Seeds in Software Fuzzing

Software fuzzing mutates bytes in the test seeds to explore different be...
research
07/09/2018

A Longitudinal Cohort Study on the Retainment of Test-Driven Development

Background: Test-Driven Development (TDD) is an agile software developme...
research
08/22/2023

A multi-case study of agile requirements engineering and the use of test cases as requirements

Context: It is an enigma that agile projects can succeed 'without requir...
research
06/26/2018

How Do Static and Dynamic Test Case Prioritization Techniques Perform on Modern Software Systems? An Extensive Study on GitHub Projects

Test Case Prioritization (TCP) is an increasingly important regression t...
research
06/18/2022

Fusing Industry and Academia at GitHub (Experience Report)

GitHub hosts hundreds of millions of code repositories written in hundre...

Please sign up or login with your details

Forgot password? Click here to reset