Skip to main content

2018 | OriginalPaper | Buchkapitel

Continuous Test-Driven Development: A Preliminary Empirical Evaluation Using Agile Experimentation in Industrial Settings

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Test-Driven Development (TDD) is an agile software development and design practice popularized by the eXtreme Programming methodology. Continuous Test-Driven Development (CTDD), proposed by the authors, is the recent enhancement of the TDD practice and combines TDD with the continuous testing (CT) practice that recommends background testing. Thus CTDD eliminates the need to manually execute the tests by a developer. This paper uses CTDD research to test out the idea of Agile Experimentation. It is a refined approach performing disciplined scientific research in an industrial setting. The objective of this paper is to evaluate the new CTDD practice versus the well-established TDD practice via a Single Case empirical study involving a professional developer in a real, industrial software development project employing Microsoft .NET. We found that there was a slight (4 min) drop in the mean red-to-green time (i.e., time from the moment when any of the tests fails or the project does not build to the time when the project compiles and all the tests are passing), while the size of the CTDD versus TDD effect was non-zero but small (\(d-index=0.22\)). The recorded results are not conclusive but are in accordance with the intuition. By eliminating the mundane need to execute the tests we have made the developer slightly faster. If the developers that use TDD embrace CTDD it can lead to small improvements in their coding performance that, taking into account a number of developers using TDD, could lead to serious savings in the entire company or industry itself.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Fußnoten
1
There are always two possible arrangements for every block: first A then B or first B then A.
 
Literatur
2.
Zurück zum Zitat Auerbach, C., Zeitlin, W.: SSDforR: Functions to Analyze Single System Data (2017). R package version 1.4.15 Auerbach, C., Zeitlin, W.: SSDforR: Functions to Analyze Single System Data (2017). R package version 1.4.15
3.
Zurück zum Zitat Basili, V.R., Caldiera, G., Rombach, H.D.: The goal question metric approach. In: Encyclopedia of Software Engineering. Wiley (1994) Basili, V.R., Caldiera, G., Rombach, H.D.: The goal question metric approach. In: Encyclopedia of Software Engineering. Wiley (1994)
4.
Zurück zum Zitat Beck, K.: Extreme Programming Explained: Embrace Change. Addison-Wesley, Boston (1999) Beck, K.: Extreme Programming Explained: Embrace Change. Addison-Wesley, Boston (1999)
5.
Zurück zum Zitat Beck, K.: Test Driven Development: By Example. Addison-Wesley, Boston (2002) Beck, K.: Test Driven Development: By Example. Addison-Wesley, Boston (2002)
7.
Zurück zum Zitat Bloom, M., Fischer, J., Orme, J.: Evaluating Practice: Guidelines for the Accountable Professional. Pearson/Allyn and Bacon (2008) Bloom, M., Fischer, J., Orme, J.: Evaluating Practice: Guidelines for the Accountable Professional. Pearson/Allyn and Bacon (2008)
8.
Zurück zum Zitat Dugard, P., File, P., Todman, J.: Single-case and Small-n Experimental Designs: A Practical Guide to Randomization Tests, 2nd edn. Routledge (2012) Dugard, P., File, P., Todman, J.: Single-case and Small-n Experimental Designs: A Practical Guide to Randomization Tests, 2nd edn. Routledge (2012)
11.
Zurück zum Zitat Kazdin, A.E.: Single-Case Research Designs: Methods for Clinical and Applied Settings. Oxford University Press (2011) Kazdin, A.E.: Single-Case Research Designs: Methods for Clinical and Applied Settings. Oxford University Press (2011)
12.
Zurück zum Zitat Kitchenham, B., Madeyski, L., Budgen, D., Keung, J., Brereton, P., Charters, S., Gibbs, S., Pohthong, A.: Robust Statistical Methods for Empirical Software Engineering. Empirical Softw. Eng. 22(2), 579–630 (2017). doi:10.1007/s10664-016-9437-5 Kitchenham, B., Madeyski, L., Budgen, D., Keung, J., Brereton, P., Charters, S., Gibbs, S., Pohthong, A.: Robust Statistical Methods for Empirical Software Engineering. Empirical Softw. Eng. 22(2), 579–630 (2017). doi:10.​1007/​s10664-016-9437-5
13.
Zurück zum Zitat Kromrey, J.D., Foster-Johnson, L.: Determining the efficacy of intervention: the use of effect sizes for data analysis in single-subject research. J. Exp. Edu. 65(1), 73–93 (1996). doi:10.1080/00220973.1996.9943464 Kromrey, J.D., Foster-Johnson, L.: Determining the efficacy of intervention: the use of effect sizes for data analysis in single-subject research. J. Exp. Edu. 65(1), 73–93 (1996). doi:10.​1080/​00220973.​1996.​9943464
14.
Zurück zum Zitat Kurapati, N., Manyam, V., Petersen, K.: Agile software development practice adoption survey. In: Wohlin, C. (ed.) Agile Processes in Software Engineering and Extreme Programming. Lecture Notes in Business Information Processing, vol. 111, pp. 16–30. Springer, Berlin (2012)CrossRef Kurapati, N., Manyam, V., Petersen, K.: Agile software development practice adoption survey. In: Wohlin, C. (ed.) Agile Processes in Software Engineering and Extreme Programming. Lecture Notes in Business Information Processing, vol. 111, pp. 16–30. Springer, Berlin (2012)CrossRef
19.
Zurück zum Zitat R Core Team: R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing, Vienna, Austria (2016) R Core Team: R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing, Vienna, Austria (2016)
20.
Zurück zum Zitat Saff, D., Ernst, M.D.: Reducing wasted development time via continuous testing. In: Fourteenth International Symposium on Software Reliability Engineering, pp. 281–292. Denver, CO (2003) Saff, D., Ernst, M.D.: Reducing wasted development time via continuous testing. In: Fourteenth International Symposium on Software Reliability Engineering, pp. 281–292. Denver, CO (2003)
21.
Zurück zum Zitat Saff, D., Ernst, M.D.: An experimental evaluation of continuous testing during development. In: ISSTA 2004. Proceedings of the 2004 International Symposium on Software Testing and Analysis, pp. 76–85. MA, USA, Boston (2004) Saff, D., Ernst, M.D.: An experimental evaluation of continuous testing during development. In: ISSTA 2004. Proceedings of the 2004 International Symposium on Software Testing and Analysis, pp. 76–85. MA, USA, Boston (2004)
25.
Zurück zum Zitat Zendler, A., Horn, E., Schwärtzel, H., Plödereder, E.: Demonstrating the usage of single-case designs in experimental software engineering. Inf. Softw. Technol. 43(12), 681–691 (2001). doi:10.1016/S0950-5849(01)00177-X Zendler, A., Horn, E., Schwärtzel, H., Plödereder, E.: Demonstrating the usage of single-case designs in experimental software engineering. Inf. Softw. Technol. 43(12), 681–691 (2001). doi:10.​1016/​S0950-5849(01)00177-X
Metadaten
Titel
Continuous Test-Driven Development: A Preliminary Empirical Evaluation Using Agile Experimentation in Industrial Settings
verfasst von
Lech Madeyski
Marcin Kawalerowicz
Copyright-Jahr
2018
DOI
https://doi.org/10.1007/978-3-319-65208-5_8