TDD vs. BDD: Using the Right Development Approach
The debate over test-driven development and behavior-driven development has been breaking out in blog posts, hackathons, and enterprise IT departments since the mid-2000s. To this day, there are plenty of diehard proponents on both sides. Given the degree to which both business and software landscapes have evolved, the time is ripe to revisit the topic and ask: How do these development approaches contribute to the agile, software-centric, customer-obsessed state so many businesses in 2020 strive to achieve through digital transformation initiatives? Does one stand over the other in the new day-to-day business reality?
First, let’s address a small semantic issue that has tripped up many a novice. The use of continuous testing is not confined to TDD; both approaches make ample use of tests to ensure software functions properly throughout the production cycle. The fundamental differences between these two approaches lie in how the developer imagines the application he’s trying to develop and the route taken to bring it into reality. For example, a TDD approach looks first at the inside of the app — the desired individual features. The BDD approach, by contrast, looks outside the app — at the way the user will experience it — to determine the production roadmap.
Read the entire Article on Meduim by clicking the link below.