Empirical evaluation of continuous test-driven development in industrial settings

被引:1
|
作者
Madeyski, Lech [1 ]
Kawalerowicz, Marcin [2 ]
机构
[1] Wroclaw Univ Sci & Technol, Fac Comp Sci & Management, Wyb Wyspianskiego 27, PL-50370 Wroclaw, Poland
[2] Opole Univ Technol, Fac Elect Engn Automat Control & Informat, Opole, Poland
关键词
empirical software engineering; agile software development; test-driven development; continuous test-driven development; human-centric experimentation; agile experimentation; PERCENTAGE;
D O I
10.3233/JIFS-179369
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
BACKGROUND: Continuous Test-Driven Development (CTDD) is, proposed by the authors, enhancement of the well-established Test-Driven Development (TDD) agile software development and design practice. CTDD combines TDD with continuous testing (CT) that essentially perform background testing. The idea is to eliminate the need to execute tests manually by a TDD-inspired developer. OBJECTIVE: The objective is to compare the efficiency of CTDD vs TDD measured by the red-to-green time (RTG time), i.e., time from the moment when the project is rendered not compiling or any of the tests is failing, up until the moment when the project compiles and all the tests are passing. We consider the RTG time to be a possible measurement of efficiency because the shorter the RTG time, the quicker the developer is advancing to the next phase of the TDD cycle. METHOD: We perform single case and small-n experiments in industrial settings presenting how our idea of Agile Experimentation materialise in practice. We analyse professional developers in a real-world software development project employing Microsoft .NET. We extend the contribution presented in our earlier paper by: 1) performing additional experimental evaluation of CTDD and thus collecting additional empirical evidence, 2) giving an extended, detailed example how to use and analyse both a single case and small-n experimental designs to evaluate a new practice (CTDD) in industrial settings taking into account natural constraints one may observe (e.g., a limited number of developers available for research purposes) and presenting how to reach more reliable conclusions using effect size measures, especially PEM and PAND which are more appropriate when data are not normally distributed or there is a large variation between or within phases. RESULTS: We observed reduced variance and trimmed means of the RTG time in CTDD in comparison to TDD. Various effect size measures (including ES, d-index, PEM, and PAND) indicate small, albeit non-zero, effect size due to CTDD. CONCLUSIONS: Eliminating the reoccurring manual task of selecting and executing tests and waiting for the results (by embracing CTDD) may slightly improve the development speed, but this small change on a level of a single developer, multiplied by a number of developers, can potentially lead to savings on the company or industry level.
引用
收藏
页码:7643 / 7655
页数:13
相关论文
共 50 条
  • [21] Test-Driven Development of Graphical User Interfaces: A Pilot Evaluation
    Hellmann, Theodore D.
    Hosseini-Khayat, Ali
    Maurer, Frank
    AGILE PROCESSES IN SOFTWARE ENGINEERING AND EXTREME PROGRAMMING, 2011, 77 : 223 - 237
  • [22] A family of experiments on test-driven development
    Adrian Santos
    Sira Vegas
    Oscar Dieste
    Fernando Uyaguari
    Ayşe Tosun
    Davide Fucci
    Burak Turhan
    Giuseppe Scanniello
    Simone Romano
    Itir Karac
    Marco Kuhrmann
    Vladimir Mandić
    Robert Ramač
    Dietmar Pfahl
    Christian Engblom
    Jarno Kyykka
    Kerli Rungi
    Carolina Palomeque
    Jaroslav Spisak
    Markku Oivo
    Natalia Juristo
    Empirical Software Engineering, 2021, 26
  • [23] Regression test selection in test-driven development
    Zohreh Mafi
    Seyed-Hassan Mirian-Hosseinabadi
    Automated Software Engineering, 2024, 31
  • [24] Regression test selection in test-driven development
    Mafi, Zohreh
    Mirian-Hosseinabadi, Seyed-Hassan
    AUTOMATED SOFTWARE ENGINEERING, 2024, 31 (01)
  • [25] THE EMPIRICAL STUDY: ENCOURAGING STUDENTS' INTEREST IN SOFTWARE DEVELOPMENT USING TEST-DRIVEN DEVELOPMENT
    Nanthaamornphong, Aziz
    Bressan, Stephane
    TEHNICKI GLASNIK-TECHNICAL JOURNAL, 2019, 13 (04): : 267 - 274
  • [26] Towards Traceable Test-Driven Development
    Hayes, Jane Huffman
    Dekhtyar, Alex
    Janzen, David S.
    2009 ICSE WORKSHOP ON TRACEABILITY IN EMERGING FORMS OF SOFTWARE ENGINEERING (TEFSE), 2009, : 26 - +
  • [27] Test-Driven Development: a systematic review
    Benato, Gustavo Baculi
    Souza Vilela, Plinio Roberto
    REVISTA BRASILEIRA DE COMPUTACAO APLICADA, 2021, 13 (01): : 75 - 87
  • [28] Assessing test-driven development at IBM
    Maximilien, EM
    Williams, L
    25TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2003, : 564 - 569
  • [29] Understanding the Dynamics of Test-Driven Development
    Fucci, Davide
    36TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE COMPANION 2014), 2014, : 690 - 693
  • [30] Test-driven development of relational databases
    Ambler, Scott W.
    IEEE SOFTWARE, 2007, 24 (03) : 37 - +