Abstract
Agile software development deviates from the traditional and plan-based approaches to software engineering as its iterative cycles embrace changes in software requirements. Test-Driven Development (TDD) and Behavior-Driven Development (BDD) are techniques that have been recently adopted by the software industry and have evolved from agile practices. These techniques aim at improving both the quality of the delivered software and the developers' productivity. They are several studies that have been conducted on TDD in both academic and industry settings with however only a few on BDD. While TDD and BDD have both become popular, many organizations and developers still do not understand the differences between these concepts or where they overlap. The aim of this paper is to assess the effectiveness of these two approaches in terms of external code quality, internal code quality and developers' productivity. To understand the weaknesses and strengths of each of these methods, a literature review was first performed. An experiment was then carried out in an industry setting to observe the effectiveness of TDD and BDD on a number of subjects. Our results showed that both techniques indeed increased the external quality of the delivered product. However, a decrease in productivity and internal quality were noted when BDD was used compared to TDD which might be due to the additional steps involved in BDD.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.