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 条
  • [31] A family of experiments on test-driven development
    Santos, Adrian
    Vegas, Sira
    Dieste, Oscar
    Uyaguari, Fernando
    Tosun, Ayse
    Fucci, Davide
    Turhan, Burak
    Scanniello, Giuseppe
    Romano, Simone
    Karac, Itir
    Kuhrmann, Marco
    Mandic, Vladimir
    Ramac, Robert
    Pfahl, Dietmar
    Engblom, Christian
    Kyykka, Jarno
    Rungi, Kerli
    Palomeque, Carolina
    Spisak, Jaroslav
    Oivo, Markku
    Juristo, Natalia
    EMPIRICAL SOFTWARE ENGINEERING, 2021, 26 (03)
  • [32] Continuous Test-Driven Development A Novel Agile Software Development Practice and Supporting Tool
    Madeyski, Lech
    Kawalerowicz, Marcin
    ENASE: PROCEEDINGS OF THE 8TH INTERNATIONAL CONFERENCE ON EVALUATION OF NOVEL APPROACHES TO SOFTWARE ENGINEERING, 2013, : 260 - 267
  • [33] Test-Driven Development for Parallel Applications
    Burris, John W.
    2017 SECOND INTERNATIONAL CONFERENCE ON INFORMATION SYSTEMS ENGINEERING (ICISE), 2017, : 27 - 31
  • [34] Test-driven development of a PID controller
    Dohmke, Thomas
    Gollee, Henrik
    IEEE SOFTWARE, 2007, 24 (03) : 44 - +
  • [35] A structured experiment of test-driven development
    George, B
    Williams, L
    INFORMATION AND SOFTWARE TECHNOLOGY, 2004, 46 (05) : 337 - 342
  • [36] Test-driven development and software maintenance
    Tilley, S
    20TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS, 2004, : 488 - 489
  • [37] Test-Driven Development of Model Transformations
    Giner, Pau
    Pelechano, Vicente
    MODEL DRIVEN ENGINEERING LANGUAGES AND SYSTEMS, PROCEEDINGS, 2009, 5795 : 748 - 752
  • [38] An Empirical Assessment on Affective Reactions of Novice Developers When Applying Test-Driven Development
    Romano, Simone
    Fucci, Davide
    Baldassarre, Maria Teresa
    Caivano, Danilo
    Scanniello, Giuseppe
    PRODUCT-FOCUSED SOFTWARE PROCESS IMPROVEMENT, PROFES 2019, 2019, 11915 : 3 - 19
  • [39] Test-driven modelling for model-driven development
    Zhang, YF
    IEEE SOFTWARE, 2004, 21 (05) : 80 - +
  • [40] Test-Driven Development for Spreadsheet Risk Management
    McDaid, Kevin
    Rust, Alan
    IEEE SOFTWARE, 2009, 26 (05) : 31 - 36