Abstract
Context: There are several studies related to Test Driven Development (TDD), but many with divergences of results due to the short time to perform the experiments. Moreover, the environment where they are carried out is generally academic. On the other hand, the environment requires tools not used by practitioners or imposes many technical and training requirements for their application. Goal: The goal of this paper is to provide a tool that supports the evaluation of the TDD process in the software industry and academia settings. The tool focuses on analyzing the effects of verification, validation and test (VV&T). In addition, the compliance of TDD usage in software development was evaluated. Method: This study made use of the Goal Question Metric (GQM) paradigm to characterize a set of objectives using metrics towards TDD effects on software quality. A case study was conducted with IT professionals to evaluate the tool developed. Results: Considering the existing tools that perform TDD compliance assessment, the Butterfly tool was developed to enable the evaluation of the TDD lifecycle as the developer performs the coding of the software. With this tool it is possible to analyze the compliance of TDD usage during software development. Conclusions: The tool allows to measure the effects of TDD when developing software, which will support in the characterization of TDD contributions and interventions applied to software quality in future works.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Basili, V.R.: Software modeling and measurement: the goal/question/metric paradigm. Technical report CS-TR-2956, UMIACS-TR-92-96, p. 24. University of Maryland, College Park, MD, USA, September 1992. http://www.cs.umd.edu/~basili/publications/technical/T78.pdf
Beck, K.: eXtreme Programming Explained: Embrace Change. Addison-Wesley, Boston (1999)
Beck, K.: Test-Driven Development: By Example. Addison-Wesley Professional, Boston (2002)
Becker, K., de Souza Costa Pedroso, B., Pimenta, M.S., Jacobi, R.P.: Besouro: a framework for exploring compliance rules in automatic TDD behavior assessment. Inf. Softw. Technol. 57, 494–508 (2015)
Briand, L., Bianculli, D., Nejati, S., Pastore, F., Sabetzadeh, M.: The case for context-driven software engineering research: generalizability is overrated. IEEE Softw. 34(5), 72–75 (2017)
Causevic, A., Punnekkat, S., Sundmark, D.: TDD\(^{\text{HQ}}\): achieving higher quality testing in test driven development. In: Euromicro Conference Series on Software Engineering and Advanced Applications, pp. 33–36, Santander, Spain (2013)
Causevic, A., Sundmark, D., Punnekkat, S.: Factors limiting industrial adoption of test driven development: a systematic review. In: International Conference on Software Testing, Verification and Validation, pp. 337–346. IEEE, Berlin, Germany (2011)
Causevic, A., Shukla, R., Punnekkat, S., Sundmark, D.: Effects of negative testing on TDD: an industrial experiment. In: Baumeister, H., Weber, B. (eds.) XP 2013. LNBIP, vol. 149, pp. 91–105. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-38314-4_7
Fucci, D., Erdogmus, H., Turhan, B., Oivo, M., Juristo, N.: A dissection of the test-driven development process: does it really matter to test-first or to test-last? Trans. Softw. Eng. 43(7), 597–614 (2017)
Garousi, V., Felderer, M., Kuhrmann, M., Herkiloglu, K.: What industry wants from academia in software testing?: Hearing practitioners’ opinions. In: International Conference on Evaluation and Assessment in Software Engineering, pp. 65–69. ACM, Karlskrona, Sweden (2017)
George, B., Williams, L.: A structured experiment of test-driven development. Inf. Softw. Technol. 46(5), 337–342 (2004)
Hammond, S., Umphress, D.: Test driven development: the state of the practice. In: Smith, R.K., Vrbsky, S.V. (eds.) ACM Annual Southeast Regional Conference, pp. 158–163. ACM, Tuscaloosa, Alabama, USA (2012)
Janzen, D., Saiedian, H.: Test-driven development concepts, taxonomy, and future direction. Computer 38(9), 43–50 (2005)
Juristo, N., Moreno, A.M.: Basics of Software Engineering Experimentation. Kluwer Academic Publishers, Dordrecht (2001)
Kou, H., Johnson, P.M., Erdogmus, H.: Operational definition and automated inference of test-driven development with Zorro. Ann. Softw. Eng. 17(1), 57–85 (2010)
Offutt, J.: Why don’t we publish more TDD research papers? Softw. Test. Verif. Reliab. 28(4), e1670 (2018)
Pachulski Camara, B.H., Graciotto Silva, M.A.: A strategy to combine test-driven development and test criteria to improve learning of programming skills. In: Technical Symposium on Computing Science Education, pp. 443–448. ACM, Memphis, TN, USA (2016)
Raulamo-Jurvanen, P., Mäntylä, M., Garousi, V.: Choosing the right test automation tool: a grey literature review of practitioner sources. In: International Conference on Evaluation and Assessment in Software Engineering, pp. 21–30. ACM, Karlskrona, Sweden (2017)
Shelton, W., Li, N., Ammann, P., Offutt, J.: Adding criteria-based tests to test driven development. In: International Conference on Software Testing, Verification and Validation, pp. 878–886. IEEE, Montreal, QC, Canada (2012)
Spinellis, D.: State-of-the-art software testing. IEEE Softw. 34(5), 4–6 (2017)
Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Experimentation in Software Engineering: An Introduction. Kluwer Academic Publishers, Sweden (2000)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
de Matos, A., Ré, R., Graciotto Silva, M.A. (2019). A Tool to Measure TDD Compliance: A Case Study with Professionals. In: Tonin, G., Estácio, B., Goldman, A., Guerra, E. (eds) Agile Methods. WBMA 2018. Communications in Computer and Information Science, vol 981. Springer, Cham. https://doi.org/10.1007/978-3-030-14310-7_3
Download citation
DOI: https://doi.org/10.1007/978-3-030-14310-7_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-14309-1
Online ISBN: 978-3-030-14310-7
eBook Packages: Computer ScienceComputer Science (R0)