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 条
  • [1] Continuous Test-Driven Development: A Preliminary Empirical Evaluation Using Agile Experimentation in Industrial Settings
    Madeyski, Lech
    Kawalerowicz, Marcin
    TOWARDS A SYNERGISTIC COMBINATION OF RESEARCH AND PRACTICE IN SOFTWARE ENGINEERING, 2018, 733 : 105 - 118
  • [2] Evaluation of test-driven development - An industrial case study
    Wastnus, Hans
    Gross, Hans-Gerhard
    ENASE 2007: PROCEEDINGS OF THE SECOND INTERNATIONAL CONFERENCE ON EVALUATION OF NOVEL APPROACHES TO SOFTWARE ENGINEERING, 2007, : 103 - +
  • [3] Towards empirical evaluation of Test-Driven Development in a university environment
    Pancur, M
    Ciglaric, M
    Trampus, M
    Vidmar, T
    IEEE REGION 8 EUROCON 2003, VOL B, PROCEEDINGS: COMPUTER AS A TOOL, 2003, : 83 - 86
  • [4] Towards an operationalization of test-driven development skills: An industrial empirical study
    Fucci, Davide
    Turhan, Burak
    Juristo, Natalia
    Dieste, Oscar
    Tosun-Misirli, Ayse
    Oivo, Markku
    INFORMATION AND SOFTWARE TECHNOLOGY, 2015, 68 : 82 - 97
  • [5] Experimental Evaluation of Test-Driven Development With Interns Working on a Real Industrial Project
    Papis, Bartosz
    Grochowski, Konrad
    Subzda, Kamil
    Sijko, Kamil
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2022, 48 (05) : 1644 - 1664
  • [6] The effectiveness of test-driven development: an industrial case study
    Tomaž Dogša
    David Batič
    Software Quality Journal, 2011, 19 : 643 - 661
  • [7] The effectiveness of test-driven development: an industrial case study
    Dogsa, Tomaz
    Batic, David
    SOFTWARE QUALITY JOURNAL, 2011, 19 (04) : 643 - 661
  • [8] The impact of test-driven development on software development productivity - An empirical study
    Madeyski, Lech
    Szala, Lukasz
    SOFTWARE PROCESS IMPROVEMENT, PROCEEDINGS, 2007, 4764 : 200 - +
  • [9] Test-driven development, engagement in activity, and maintainability: An empirical study
    Ren, Wei
    Barrett, Stephen
    IET SOFTWARE, 2023, 17 (04) : 509 - 525
  • [10] A successful application of a Test-Driven Development strategy in the industrial environment
    Latorre, Roberto
    EMPIRICAL SOFTWARE ENGINEERING, 2014, 19 (03) : 753 - 773