Abstract-Bakgrund: Testdriven utveckling (TDD) är en teknik som upprepar korta kodningscykler interleaved med testning. Utvecklaren skriver först en enhet test för önskad funktionalitet, följt av den nödvändiga produktionskoden, och refaktors koden. Många empiriska studier försummar unika processegenskaper relaterade till TDD iterativ natur. Syft: Vi formulerar fyra process karakteristiska: sekvensering, granularitet, enhetlighet, och refaktoring ansträngning. Vi undersöker hur dessa egenskaper påverkar kvalitet och produktivitet i TDD och relaterade variationer. Metod: Vi analyserade 82 datapunkter samlas in från 39 yrkesverksamma, var och en fånga den process som används när du utför en specifik utveckling uppgift. Vi byggde regressionsmodeller för att bedöma inverkan av processegenskaper på kvalitet och produktivitet. Kvaliteten mättes genom funktionell korrekthet. Resultat: Kvalitets- och produktivitetsförbättringar var främst positivt förknippade med granulariteten och enhetligheten. Sekvensering, den ordning i vilken test- och produktionskod skrivs, hade inget viktigt inflytande. Refaktorns ansträngningar var negativt förknippade med båda resultaten. Vi förklarar den oväntade negativa korrelationen med kvalitet genom eventuell prevalens av blandad refaktoring. Slutsats: De påstådda fördelarna med TDD beror kanske inte på dess distinkta test-första dynamik, utan snarare på det faktum att TDD-liknande processer uppmuntrar finkorniga, stadiga steg som förbättrar fokus och flöde.
I ett experiment som beskrivs i REF jämför författarna TDD med den alternativa iterativa test-last-processen (ITLD) och drar slutsatsen att de påstådda fördelarna med TDD inte härrör från dess test-första metod, utan från de finkorniga, stadiga stegen, med snabb återkoppling som förbättrar fokus och flöde.
A Dissection of the Test-Driven Development Process: Does It Really Matter to Test-First or to Test-Last?
{'venue': 'ArXiv', 'journal': 'ArXiv', 'mag_field_of_study': ['Computer Science']}