Does the performance of TDD hold across software companies and premises? A group of industrial experiments on TDD
This addresses the variability of TDD's effectiveness in real-world software development, showing incremental insights by comparing it to ITL across different industrial settings.
The study conducted four industrial experiments across two companies to assess Test-Driven Development (TDD) on external software quality, finding that Iterative-Test Last (ITL) outperformed TDD in three out of four premises and both companies, with performance differences favoring ITL increasing with greater experience in unit testing and tools.
Test-Driven Development (TDD) has been claimed to increase external software quality. However, the extent to which TDD increases external quality has been seldom studied in industrial experiments. We conduct four industrial experiments in two different companies to evaluate the performance of TDD on external quality. We study whether the performance of TDD holds across premises within the same company and across companies. We identify participant-level characteristics impacting results. Iterative-Test Last (ITL), the reverse approach of TDD, outperforms TDD in three out of four premises. ITL outperforms TDD in both companies. The larger the experience with unit testing and testing tools, the larger the difference in performance between ITL and TDD (in favour of ITL). Technological environment (i.e., programming language and testing tool) seems not to impact results. Evaluating participant-level characteristics impacting results in industrial experiments may ease the understanding of the performance of TDD in realistic settings.