Nothing Special   »   [go: up one dir, main page]

Skip to main content

Identifying Guidelines for Test-Driven Development in Software Engineering—A Literature Review

  • Conference paper
  • First Online:
Proceedings of Seventh International Congress on Information and Communication Technology

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 299.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 379.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

References

  1. Deb S (2014) Information technology, its impact on society and its future. Adv Comput 4:25–29

    Google Scholar 

  2. Theis TN, Wong H-SP (2017) The end of Moore’s law: a new beginning for information technology. Comput Sci Eng 19:41–50

    Article  Google Scholar 

  3. 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

    Google Scholar 

  4. 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

    Google Scholar 

  5. 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

    Google Scholar 

  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)

    Google Scholar 

  7. Damasiotis V, Fitsilis P, O’Kane JF (2018) Modeling software development process complexity. Int J Inf Technol Proj Manage 9:17–40

    Google Scholar 

  8. 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

    Google Scholar 

  9. 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

    Article  Google Scholar 

  10. Staegemann D, Volk M, Turowski K (2021) Quality assurance in big data engineering—a meta review. CSIMQ, 1–14 (2021)

    Google Scholar 

  11. 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

    Google Scholar 

  12. Uzun B, Tekinerdogan B (2018) Model-driven architecture based testing: a systematic literature review. Inf Softw Technol 102:30–48

    Article  Google Scholar 

  13. 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

    Google Scholar 

  14. Pereira NS, Lima P, Guerra E, Meirelles P (2021) Towards automated playtesting in game development. In: Proceedings of SBGames 2021

    Google Scholar 

  15. 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

    Google Scholar 

  16. 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

    Google Scholar 

  17. 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

    Chapter  Google Scholar 

  18. 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

    Google Scholar 

  19. 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

    Article  Google Scholar 

  20. Crispin L (2006) Driving software quality: how test-driven development impacts software quality. IEEE Softw 23:70–71

    Article  Google Scholar 

  21. 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

    Google Scholar 

  22. 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

    Chapter  Google Scholar 

  23. 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

    Google Scholar 

  24. 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

    Google Scholar 

  25. 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

    Article  Google Scholar 

  26. Beck K (2015) Test-driven development. By Example. Addison-Wesley, Boston

    Google Scholar 

  27. 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

    Google Scholar 

  28. Janzen D, Saiedian H (2005) Test-driven development concepts, taxonomy, and future direction. Computer 38:43–50

    Article  Google Scholar 

  29. Sangwan RS, Laplante PA (2006) Test-driven development in large projects. IT Prof 8:25–29

    Article  Google Scholar 

  30. 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

    Article  Google Scholar 

  31. 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

    Google Scholar 

  32. Webster J, Watson RT (2002) Analyzing the past to prepare for the future: writing a literature review. MISQ 26, xiii–xxiii

    Google Scholar 

  33. 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

    Google Scholar 

  34. Okoli C (2015) A guide to conducting a standalone systematic literature review. CAIS 37:879–910

    Article  Google Scholar 

  35. 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

    Google Scholar 

  36. 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

    Google Scholar 

  37. Elsevier: Scopus® Expertly curated abstract & citation database, https://www.elsevier.com/solutions/scopus. Accessed 22 Dec 2021

  38. 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

    Google Scholar 

  39. 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

    Google Scholar 

  40. Parsons D, Lal R, Lange M (2011) Test driven development: advancing knowledge by conjecture and confirmation. Future Internet 3:281–297

    Article  Google Scholar 

  41. Guerra E (2014) Designing a framework with test-driven development: a journey. IEEE Soft 31:9–14

    Article  Google Scholar 

  42. Guerra E, Aniche M (2016) Achieving quality on software design through test-driven development. In: Software quality assurance, Elsevier, pp 201–220

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Daniel Staegemann .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Singapore Pte Ltd.

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics