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 条
  • [41] The effect of experience on the test-driven development process
    Matthias M. Müller
    Andreas Höfer
    Empirical Software Engineering, 2007, 12 : 593 - 615
  • [42] Formal Test-Driven Development with Verified Test Cases
    Aichernig, Bernhard K.
    Lorber, Florian
    Tiran, Stefan
    PROCEEDINGS OF THE 2014 2ND INTERNATIONAL CONFERENCE ON MODEL-DRIVEN ENGINEERING AND SOFTWARE DEVELOPMENT (MODELSWARD 2014), 2014, : 626 - 635
  • [43] A leveled examination of test-driven development acceptance
    Janzen, David S.
    Saiedian, Hossein
    ICSE 2007: 29TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2007, : 719 - 722
  • [44] Designing a Framework with Test-Driven Development: A Journey
    Guerra, Eduardo
    IEEE SOFTWARE, 2014, 31 (01) : 9 - 14
  • [45] Automated recognition of test-driven development with Zorro
    Johnson, Philip M.
    Kou, Hongbing
    AGILE 2007, PROCEEDINGS, 2007, : 15 - +
  • [46] Test-driven database development: A practical guide
    Rong, O
    EXTREME PROGRAMMING AND AGILE METHODS - XP/AGILE UNIVERSE 2003, 2003, 2753 : 82 - 90
  • [47] Incorporating performance testing in test-driven development
    Johnson, Michael J.
    Maximilien, E. Michael
    Ho, Chih-Wei
    Williams, Laurie
    IEEE SOFTWARE, 2007, 24 (03) : 67 - +
  • [48] Learning test-driven development by counting lines
    Vodde, Bas
    Koskela, Lasse
    IEEE SOFTWARE, 2007, 24 (03) : 74 - +
  • [49] Test-Driven Development in scientific software: a survey
    Nanthaamornphong, Aziz
    Carver, Jeffrey C.
    SOFTWARE QUALITY JOURNAL, 2017, 25 (02) : 343 - 372
  • [50] A prototype empirical evaluation of test driven development
    Geras, A
    Smith, M
    Miller, J
    10TH INTERNATIONAL SYMPOSIUM ON SOFTWARE METRICS, PROCEEDINGS, 2004, : 405 - 416