User Stories are widely accepted in agile projects for the documentation of requirements. Written in ?Business? like language they describe the objective or feature that a person would like to utilise from the system. Acceptance Criteria go hand in hand with User Stories and are used to assess the delivered solution the users? requirements. Acceptance Criteria define the conditions that must be met for solution to be accepted by the end user. They also written in ?Business? like language. The below describes in more detail how Acceptance Criteria can be used to improve the quality of software solutions.
What do we want to achieve?
Quality application delivery with a simple way to assess and track quality/issue/bug.
How can we achieve this?
- Define test/acceptance criteria which closely represent requirements for each user story right after requirements are agreed and signed-off.
- Use simple test script format
As a new applicant, I need to provide my personal details so that I can be identified personally and more easily.
Given I am a new applicant
and I have filled in <Title>, <First Name>, <Middle Name>, <Last Name>, <Gender>, <DOB>
When I click “Continue”
Then I get <Result>?
|Title||First Name||Middle ?Name||Last Name||Gender||DOB||Result|
|NIL||NIL||NIL||NIL||NIL||NIL||Error. Title, First Name, Last Name, Gender and DOB are mandatory.|
|NIL||Test||NIL||Test||NIL||NIL||Error. Title, Gender and DOB are mandatory.|
|Sir||Test||test||Test||Female||1/01/1950||Error. Title and Gender do not match.|
|Mrs||Test||test||Test||Male||1/01/1950||Error. Title and Gender do not match.|
|Miss||Test||test||Test||Female||1/01/1900||Error. Date of Birth must be after 28/01/1901|
|Miss||Test||test||Test||Female||Today||Error. Age cannot be younger than 16 years old.|
|Miss||Test||test||Test||Female||1/01/1950||No error. Next step “Contact & Address Details” appears.|
Advantages of using Acceptance Criteria
- Simpler and more concise test script in a “Business” like language
- Suitable to be reused for automated testing
- Multiple test scenarios in one test script
- Pre-prepared test data to assist testing
- Easier bug logging