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 条
  • [11] Effects of Test-Driven Development: A Comparative Analysis of Empirical Studies
    Makinen, Simo
    Munch, Jurgen
    SOFTWARE QUALITY: MODEL-BASED APPROACHES FOR ADVANCED SOFTWARE AND SYSTEMS ENGINEERING, 2014, 166 : 155 - 169
  • [12] A successful application of a Test-Driven Development strategy in the industrial environment
    Roberto Latorre
    Empirical Software Engineering, 2014, 19 : 753 - 773
  • [13] Effectiveness of Test-Driven Development and Continuous Integration A Case Study
    Amrit, Chintan
    Meijberg, Yoni
    IT PROFESSIONAL, 2018, 20 (01) : 27 - 35
  • [14] Evaluating the Efficiency of Continuous Testing during Test-Driven Development
    Demeyer, Serge
    Verhaeghe, Benoit
    Etien, Anne
    Anquetil, Nicolas
    Ducasse, Stephane
    2018 IEEE 2ND INTERNATIONAL WORKSHOP ON VALIDATION, ANALYSIS AND EVOLUTION OF SOFTWARE TESTS (VST), 2018, : 21 - 25
  • [15] Professionalism and test-driven development
    Martin, Robert C.
    IEEE SOFTWARE, 2007, 24 (03) : 32 - +
  • [16] Evaluation of Test-Driven Development: An Academic Case Study
    Xu, Shaochun
    Li, Tong
    SOFTWARE ENGINEERING RESEARCH, MANAGEMENT AND APPLICATIONS 2009, 2009, 253 : 229 - +
  • [17] Scaling test-driven development
    Ambler, Scott W.
    DR DOBBS JOURNAL, 2008, 33 (02): : 71 - 73
  • [18] Test-Driven Development of Ontologies
    Keet, C. Maria
    Lawrynowicz, Agnieszka
    SEMANTIC WEB: LATEST ADVANCES AND NEW DOMAINS, 2016, 9678 : 642 - 657
  • [19] Industrial Application of Automated Regression Testing in Test-Driven ETL Development
    Dzakovic, Miroslav
    32ND IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2016), 2016, : 582 - 585
  • [20] Test-Driven Code Review: An Empirical Study
    Spadini, Davide
    Palomba, Fabio
    Baum, Tobias
    Hanenberg, Stefan
    Bruntink, Magiel
    Bacchelli, Alberto
    2019 IEEE/ACM 41ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2019), 2019, : 1061 - 1072