TDD vs BDD vs ATDD: Key Differences


In this post “TDD vs BDD vs ATDD”, we try to mention key differences between the development techniques TDD, BDD, ATDD. By understanding these techniques we know which strategy we have to use in Software Development. There is no hard rule to stick to one particular development technique. You can use a combination of these three techniques based on the requirement of your project, you, and your team.

What is TDD?

TDD is also known as Test-Driven Development (Test Driven Design). TDD is a development technique that practices of writing a test and see it fails and then refactors it.

What is BDD?

BDD is also known as Behavioral Driven Development. BDD is a development technique that practices of creating simple scenarios on how an application should behave from the end user’s perspective.

What is ATDD?

ATDD is also known as Acceptance Test-Driven Development. ATDD is a development technique that practices of translating acceptance criteria to tests.

Difference Between TDD, BDD, ATDD

(TDD vs BDD vs ATDD)

TDD focuses on the implementation of a featureBDD focuses on the system's behaviorATDD focuses on capturing the accurate requirements
Mainly developers involve in this to write Unit TestsDevelopers, QAs and Customers involve in this processDevelopers, QAs and Customers involve in this process
Written in a programming language like Python, Java etc.,Written in simple plain English, GherkinWritten in simple plain English, Gherkin
These tests are technical. Not easy for non technical person to understand thisIt is easy for non technical person to understand thisIt is easy for non technical person to understand this
Focus is to write Unit TestsFocus is to understanding requirementsFocus is to write Acceptance Tests
Tools used in TDD are JDave, Cucumber, JBehave, Spec Flow, BeanSpec, Gherkin Concordian, FitNesse, Junit, TestNG, NUnit frameworks, Selenium tool (any open source tools)Tools used in Gherkin, Dave, Cucumber, RSpec, Behat, Lettuce, JBehave, Specflow, BeanSpec, Concordian, MSpec, Cucumber with Selenium / SerenityTools used in TestNG, FitNesse, EasyB, Spectacular, Concordian, Thucydides, Robot Framework, FIT

Related Posts:


Rajkumar SM is a founder of SoftwareTestingMaterial. He is a certified Software Test Engineer by profession and blogger & youtuber by choice. He has an extensive experience in the field of Software Testing. He writes here about Software Testing which includes both Manual and Automation Testing. He loves to be with his wife and cute little kid 'Freedom'.

Leave a Comment

Share via
Copy link
Powered by Social Snap