Automated Acceptance Tests

Automated acceptance tests check if the system conforms to its specified behavior. This behavior is often described using a Given-When-Then structure. Tools like SpecFlow turn Given-When-Then scenarios that are written as natural-language constructs into automated acceptance tests. Since each scenario is a specification that also executes the automated acceptance tests, they are also called “executable specifications”- see an example.

Automated acceptance tests are an essential element for Continuous Delivery. Ideally, the whole team is responsible for keeping acceptance tests running and passing (instead of having a separate QA team lagging behind).