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”.

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).