# Test first strategies

* Include
  * TDD
  * ATDD
  * BDD

## Differences

* Acceptance Test-Driven Development is very similar to Behavioral-Driven Development. However, a key difference between them is: BDD focuses more on the behavior of the feature, whereas ATDD focuses on capturing the accurate requirements.
* ATDD is a technique used WITHIN BDD. They are not one and the same.

| Parameters    | TDD                                                                                           | BDD                                                                        | ATDD                                                                           |
| ------------- | --------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| Definition    | TDD is a development technique that focuses more on the implementation of a  feature          | BDD is a development technique that focuses on the system’s behavior       | ATDD is a technique similar to BDD focusing more on capturing the requirements |
| Participants  | Developer                                                                                     | Developers, Customer, QAs                                                  | Developers, Customer, QAs                                                      |
| Language used | Written in a language similar to the one used for feature development (Eg. Java, Python, etc) | Simple English using domain terminology                                    | Simple English using domain terminology                                        |
| Main Focus    | Unit Tests                                                                                    | Understanding Requirements                                                 | Writing Acceptance Tests                                                       |
| Tools         | junit                                                                                         | Gherkin, Dave, Cucumber, JBehave, Spec Flow, BeanSpec, Concordian, yatspec | TestNG, FitNesse, EasyB, Spectacular, Concordian, Thucydides, yatspec          |

### Links

* <https://www.myagilepartner.com/blog/index.php/2019/06/13/atdd-bdd-and-bdd/>
