Improving Development Practices through Experimentation: an Industrial TDD Case

09/06/2018
by   Adrian Santos, et al.
0

Test-Driven Development (TDD), an agile development approach that enforces the construction of software systems by means of successive micro-iterative testing coding cycles, has been widely claimed to increase external software quality. In view of this, some managers at Paf-a Nordic gaming entertainment company-were interested in knowing how would TDD perform at their premises. Eventually, if TDD outperformed their traditional way of coding (i.e., YW, short for Your Way), it would be possible to switch to TDD considering the empirical evidence achieved at the company level. We conduct an experiment at Paf to evaluate the performance of TDD, YW and the reverse approach of TDD (i.e., ITL, short for Iterative-Test Last) on external quality. TDD outperforms YW and ITL at Paf. Despite the encouraging results, we cannot recommend Paf to immediately adopt TDD as the difference in performance between YW and TDD is small. However, as TDD looks promising at Paf, we suggest to move some developers to TDD and to run a future experiment to compare the performance of TDD and YW. TDD slightly outperforms ITL in controlled experiments for TDD novices. However, more industrial experiments are still needed to evaluate the performance of TDD in real-life contexts.

READ FULL TEXT
research
07/18/2018

Does the performance of TDD hold across software companies and premises? A group of industrial experiments on TDD

Test-Driven Development (TDD) has been claimed to increase external soft...
research
11/24/2020

A Family of Experiments on Test-Driven Development

Context: Test-driven development (TDD) is an agile software development ...
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
01/24/2023

MLinter: Learning Coding Practices from Examples-Dream or Reality?

Coding practices are increasingly used by software companies. Their use ...
research
05/06/2019

Continuous and Resource Managed Regression Testing: An Industrial Use Case

Regression testing is an important part of quality control in both softw...
research
10/13/2022

Cognitive-Driven Development Helps Software Teams to Keep Code Units Under the Limit!

Software design techniques are undoubtedly crucial in the process of des...
research
02/06/2019

Heavy User Effect in A/B Testing: Identification and Estimation

On-line experimentation (also known as A/B testing) has become an integr...

Please sign up or login with your details

Forgot password? Click here to reset