Base of Difference | TDD | BDD | ATDD |
Introduction | TDD is one of development technique that mainly focuses on implementation of features | BDD is one of the development technique which mainly focus on system behavior. | ATDD is similar to BDD when we say about technique but mainly focus on capturing the requirements. |
Users | Here users are Developer | Here user are Developers, Customer and QAs | Developers, Customers and QAs are users |
Language Used | Written in a Language similar one which is used for feature development like Java, Python etc. | Written in simple English(Gherkin) | Written in simple english Gherkin |
Main Focus | Mainly focus on Unit Tests | Mainly focus on understanding Requirements | Mainly focus on writing Acceptance Tests |
Used Tools | Different tools like JDave, Cucumber, JBehave, Spec Flow, BeanSpec, Gherkin Concordian, Fitnesse | Different tools like Gherkin, Dave, Cucumber, JBehave, Spec Flow, BeanSpec, Concordian | Different tools like TestNG, FitNesse, EasyB, Spectacular, Concordian, Thucydides |
Understand | TDD tests are written in specific programming languages and these are difficult to interpret by non-programmers. | Non-programmers can read BDD tests since these are written in human readable format. | IT is also writtent in human-readable format. |