So far, we have managed to set up a pipeline that we can call continuous building. Each change we make to the code ends up being compiled, but we don't test it any further. Now it's time to introduce the practice of continuous testing. Testing on a low level will also act as a gating mechanism to automatically reject all the changes that do not satisfy requirements.
How can you check whether a given change satisfies requirements? This is best achieved by writing tests based on these requirements. One of the ways to do this is by following Behavior-Driven Development (BDD). The concept of BDD is to encourage deeper collaboration between the different actors in an Agile project.
Unlike the traditional approach, where tests are written either by developers or the QA team, with BDD, the tests are created collaboratively by the following individuals:
- Developers
- QA engineers
- Business representatives.
The most common way to specify tests for BDD is to...