A Comparative Analysis of Test-Driven Development and Behavior-Driven Development in CI/CD Pipelines: Enhancing Software Quality and Delivery Speed

Authors

  • Lalit Mishra Lead Software Engineer
  • Saroj Kumar Nayak Senior Solutions Architect

Keywords:

Test-Driven Development (TDD), Behavior-Driven Development (BDD), Integration (CI), Continuous Delivery (CD), CI/CD Pipelines

Abstract

This paper will compare Test-Driven Development and Behavior-Driven Development in the context of continuous integrations and deliveries to enhance the software delivery quality and accelerate the delivery rate. TDD promotes a testing culture marked by creating tests before the actual code by assigning the developers the responsibility of delivering good code. On the other hand, BDD aims to facilitate cross-functional interactions between business and technical teams to express system behavior using natural language scenarios to meet business expectations. As applied to CI/CD pipelines, the delta between the two approaches offers various benefits, such as discovering defects ahead of time, encouraging information sharing, and constantly confirming product efficiency. However, such problems as high initial costs, issues with inter-functional collaboration, and frequent modifications still need to be solved. Finally, the future of TDD and BDD in DevOps is explored, and the opportunity for automation and some challenges that best practices may solve are focused on. Finally, the uses of TDD and BDD are presented as the beginning of a journey toward developing and achieving a culture of quality and agility.

References

] Martin, R. C. (2022). Clean Code: A Handbook of Agile Software Craftsmanship. Prentice Hall.

] Beck, K., & Cunningham, W. (2021). Using Pattern Languages for the Software Development Process. In Patterns of Enterprise Application Architecture (pp. 155-174). Addison-Wesley.

] Crisp, D. (2021). Behavior-Driven Development for Testers and Developers: A Practical Guide to BDD. Pragmatic Bookshelf.

] Fowler, M. (2020). The New Methodology. Retrieved from Martin Fowler's Website

] Elshafie, H. (2020). The Impact of Test-Driven Development on Software Quality: A Systematic Review. Journal of Software: Evolution and Process, 32(4), e2216.

] Gherkin, D., & TDD, B. (2019). Introduction to BDD with Cucumber: The Cucumber Book. Pragmatic Bookshelf.

] Meyer, B. (2018). Introduction to the BDD Methodology: Test and Behavior Driven Development in Agile. Springer.

] Krasowski, G., & Prusak, J. (2018). Test-Driven Development and Continuous Integration: A Case Study in Agile Software Development. International Journal of Software Engineering and Its Applications, 12(1), 1-12.

] Shahin, M. (2017). Continuous Integration and Continuous Deployment: A Practical Guide. Packt Publishing.

] Crispin, L., & Gregory, J. (2016). Agile Testing: A Practical Guide for Testers and Agile Teams. Addison-Wesley.

Published

30-09-2022

How to Cite

Lalit Mishra, & Saroj Kumar Nayak. (2022). A Comparative Analysis of Test-Driven Development and Behavior-Driven Development in CI/CD Pipelines: Enhancing Software Quality and Delivery Speed. Well Testing Journal, 31(2), 33–55. Retrieved from https://welltestingjournal.com/index.php/WT/article/view/107

Issue

Section

Research Articles

Similar Articles

1 2 3 4 5 > >> 

You may also start an advanced similarity search for this article.