Abstract
With the significance, ubiquity, and complexity of information technology continuously rising, the corresponding quality assurance becomes increasingly important and challenging. Consequently, numerous tools, techniques, paradigms, and strategies that facilitate the quality assurance of the developed applications have emerged. Test-driven development (TDD) is one of those strategies. In contrast to the traditional approach, it places testing ahead of the actual implementation, which, in turn, also heavily influences the system’s design. With the approach being rather complex, naturally, guidance on its correct application is one of the most relevant aspects for many practitioners. To provide assistance to them, but also to researchers concerned with the domain, the publication at hand identifies twenty guidelines for the practical application of TDD in software engineering, by conducting a structured literature review. In doing so, it provides a solid foundation for the implementation of corresponding endeavors as well as a starting point for further discussion.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Deb S (2014) Information technology, its impact on society and its future. Adv Comput 4:25–29
Theis TN, Wong H-SP (2017) The end of Moore’s law: a new beginning for information technology. Comput Sci Eng 19:41–50
Sommerville I (2016) Software engineering. Pearson, Boston, Columbus, Indianapolis, New York, San Francisco, Hoboken, Amsterdam, Cape Town, Dubai, London, Madrid, Milan, Munich, Paris, Montreal, Toronto, Delhi, Mexico City, São Paulo, Sydney, Hong Kong, Seoul, Singapore, Taipei, Tokyo
Fazzini M, Orso A (2017) Automated cross-platform inconsistency detection for mobile apps. In: 2017 32nd IEEE/ACM international conference on automated software engineering (ASE), IEEE, pp 308–318
Gmeiner J, Ramler R, Haslinger J (2015) Automated testing in the continuous delivery pipeline: a case study of an online company. In: 2015 IEEE eighth international conference on software testing, verification and validation workshops (ICSTW), IEEE, pp 1–6
Staegemann D, Volk M, Vu T, Bosse S, Häusler R, Nahhas A, Pohl M, Turowski K (2020) Determining potential failures and challenges in data driven endeavors: a real world case study analysis. In: Proceedings of the 5th international conference on internet of things, big data and security, pp 453–460. SCITEPRESS—Science and Technology Publications (2020)
Damasiotis V, Fitsilis P, O’Kane JF (2018) Modeling software development process complexity. Int J Inf Technol Proj Manage 9:17–40
Khan AA, Keung JW, Fazal-E-Amin, Abdullah-Al-Wadud M (2017) SPIIMM: toward a model for software process improvement implementation and management in global software development. IEEE Access 5, 13720–13741
Pizzoleto AV, Ferrari FC, Offutt J, Fernandes L, Ribeiro M (2019) A systematic literature review of techniques and metrics to reduce the cost of mutation testing. J Syst Softw 157:110388
Staegemann D, Volk M, Turowski K (2021) Quality assurance in big data engineering—a meta review. CSIMQ, 1–14 (2021)
Sneha K, Malle GM (2017) Research on software testing techniques and software automation testing tools. In: 2017 international conference on energy, communication, data analytics and soft computing (ICECDS), pp 77–81. IEEE
Uzun B, Tekinerdogan B (2018) Model-driven architecture based testing: a systematic literature review. Inf Softw Technol 102:30–48
dos Santos J, Martins LEG, Santiago Júnior VA de, Povoa LV, dos Santos LBR (2020) Software requirements testing approaches: a systematic literature review. Requirements Eng 25, 317–337
Pereira NS, Lima P, Guerra E, Meirelles P (2021) Towards automated playtesting in game development. In: Proceedings of SBGames 2021
Staegemann D, Volk M, Pohl M, Häusler R, Nahhas A, Abdallah M, Turowski K (2021) A preliminary overview of the situation in big data testing. In: Proceedings of the 6th international conference on internet of things, big data and security, pp 296–302. SCITEPRESS—Science and Technology Publications
Munir H, Wnuk K, Petersen K, Moayyed M (2014) An experimental evaluation of test driven development versus test-last development with industry professionals. In: Shepperd M, Hall T, Myrtveit I (eds) Proceedings of the 18th EASE, pp 1–10. ACM Press, New York, USA
Hill M (2002) Sharpening the axe for test driven development. In: Goos G, Hartmanis J, van Leeuwen J, Wells D, Williams L (eds) Extreme programming and agile methods—XP/Agile Universe 2002, 2418. Springer, Berlin Heidelberg, Berlin, Heidelberg, pp 269–270
Staegemann D, Volk M, Lautenschlager E, Pohl M, Abdallah M, Turowski K (2021) Applying test driven development in the big data domain—lessons from the literature. In: 2021 international conference on information technology (ICIT), pp 511–516. IEEE
Shull F, Melnik G, Turhan B, Layman L, Diep M, Erdogmus H (2010) What do we know about test-driven development? IEEE Softw 27:16–19
Crispin L (2006) Driving software quality: how test-driven development impacts software quality. IEEE Softw 23:70–71
Staegemann D, Volk M, Jamous N, Turowski K (2020) Exploring the applicability of test driven development in the big data domain. In: Proceedings of the ACIS 2020
Slaats T, Debois S, Hildebrandt T (2018) Open to change: a theory for iterative test-driven modelling. In: Weske M, Montali M, Weber I, Vom Brocke J (eds) Business process management, 11080. Springer International Publishing, Cham, pp 31–47
Keet CM, Ławrynowicz A (2016) Test-driven development of ontologies. In: Sack H, Blomqvist E, d’Aquin M, Ghidini C, Ponzetto SP, Lange C (eds) The semantic web. Latest advances and new domains, 9678, pp 642–657. Springer International Publishing, Cham
Davies K, Keet CM, Lawrynowicz A (2019) More effective ontology authoring with test-driven development and the TDDonto2 tool. Int J Artif Intell Tools 28
Fucci D, Erdogmus H, Turhan B, Oivo M, Juristo N (2017) A dissection of the test-driven development process: does it really matter to test-first or to test-last? IIEEE Trans Softw Eng 43:597–614
Beck K (2015) Test-driven development. By Example. Addison-Wesley, Boston
Williams L, Maximilien EM, Vouk M (2003) Test-driven development as a defect-reduction practice. In: Proceedings of the 14th ISSRE, IEEE, pp 34–45
Janzen D, Saiedian H (2005) Test-driven development concepts, taxonomy, and future direction. Computer 38:43–50
Sangwan RS, Laplante PA (2006) Test-driven development in large projects. IT Prof 8:25–29
Shahin M, Ali Babar M, Zhu L (2017) Continuous integration, delivery and deployment: a systematic review on approaches, tools. Chall Pract IEEE Access 5:3909–3943
Karlesky M, Williams G, Bereza W, Fletcher M (2007) Mocking the embedded world. Test-driven development, continuous integration, and design patterns. In: Embedded systems conference on UBM electronics
Webster J, Watson RT (2002) Analyzing the past to prepare for the future: writing a literature review. MISQ 26, xiii–xxiii
Levy Y, Ellis JT (2006) A systems approach to conduct an effective literature review in support of information systems research. Inform Sci J 9:181–212
Okoli C (2015) A guide to conducting a standalone systematic literature review. CAIS 37:879–910
Vom Brocke J, Simons A, Niehaves B, Reimer K, Plattfaut R, Cleven A (2009) Reconstructing the giant. On the importance of rigour in documenting the literature search process. In: Proceedings of the ECIS 2009
Fosso Wamba S, Angéla MNC, Bosco EEJ (2019) Big data, the internet of things, and smart city research: a literature review and research agenda. In: Reyes-Munoz A, Zheng P, Crawford D, Callaghan V (eds) EAI international conference on technology, innovation, entrepreneurship and education, 532, pp 263–276. Springer International Publishing, Cham
Elsevier: Scopus® Expertly curated abstract & citation database, https://www.elsevier.com/solutions/scopus. Accessed 22 Dec 2021
Alles M, Crosby D, Erickson C, Harleton B, Marsiglia M, Pattison G, Stienstra C (2006) Presenter first: organizing complex GUI applications for test-driven development. In: AGILE 2006 (AGILE’06), pp 276–288. IEEE
Kum W, Law A (2006) Learning effective test driven development—software development projects in an energy company. In: Proceedings of the first international conference on software and data technologies, pp 159–164. SciTePress—Science and Technology Publications
Parsons D, Lal R, Lange M (2011) Test driven development: advancing knowledge by conjecture and confirmation. Future Internet 3:281–297
Guerra E (2014) Designing a framework with test-driven development: a journey. IEEE Soft 31:9–14
Guerra E, Aniche M (2016) Achieving quality on software design through test-driven development. In: Software quality assurance, Elsevier, pp 201–220
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Singapore Pte Ltd.
About this paper
Cite this paper
Staegemann, D., Volk, M., Pohl, M., Haertel, C., Hintsch, J., Turowski, K. (2023). Identifying Guidelines for Test-Driven Development in Software Engineering—A Literature Review. In: Yang, XS., Sherratt, S., Dey, N., Joshi, A. (eds) Proceedings of Seventh International Congress on Information and Communication Technology. Lecture Notes in Networks and Systems, vol 465. Springer, Singapore. https://doi.org/10.1007/978-981-19-2397-5_30
Download citation
DOI: https://doi.org/10.1007/978-981-19-2397-5_30
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-19-2396-8
Online ISBN: 978-981-19-2397-5
eBook Packages: EngineeringEngineering (R0)