BDD - alexdaube/My-Software-Engineering-Guide GitHub Wiki
Behaviour Driven Development(BDD)
requirements in a testable way
- To understand client's needs
- To communicate the needs
- to collaborate with the help of examples
- To produce something of value
- Uses natural language
A good Acceptation Test
- Client's view
- High level
- Uses Domain Specific languages (DSL)
- Short and sweet
- Easy to maintain
- Up to date
Each acceptation criteria is translated to at least on test case
How?
- Given, When, Then
- Emphasize on the behaviour
- Concret but more general
- Declarative over imperative
- As abstract as possible. Should only express the essential
- No Markup (Css, HTML)
- Test cases should not need to change if the internal code is changed
Used in the ATDD