[1] They examine externally visible effects, such as specifying the correct output of a system given a particular input.
They also can check the interactions with interfaces of other systems, such as shared databases or web services.
[1] They can be developed collaboratively by requirement requester (product owner, business analyst, customer representative, etc.
The terms then form a ubiquitous language that is shared between the customers, developers, and testers.
Acceptance tests usually follow this form:[1] Given (setup) When (trigger) Then (verification) Also, it is possible to add Statements that start with AND in any of the sections below (Given, When, Then).
For the example requirement, the steps could be listed as:The previous steps do not include any specific example data, so that is added to complete the test: Given: When: Then: Examination of the test with specific data usually leads to many questions.
An example test is "When the new library system is in production, the users will be able to check books in and out three times as fast as they do today".