Purpose of acceptance criteria
Acceptance criteria define the specific conditions that a product or feature must satisfy to be accepted by stakeholders, including product managers, designers, engineers, and testers.
They provide a clear understanding of what successful implementation looks like, ensuring that everyone has a shared expectation of the functionality and quality of the product.
Acceptance criteria are a bridge between user stories and test scripts.
Guidelines for writing acceptance criteria
Align with user stories
Each set of acceptance criteria should be directly linked to a specific user story.
Be testable
Acceptance criteria must be testable, with measurable conditions.
Cover all scenarios, including happy and unhappy paths
Ensure that acceptance criteria encompass all possible scenarios related to the user story, including both happy paths and unhappy paths.
Include functional and non-functional requirements
Acceptance criteria should address both functional requirements (what the system should do) and non-functional requirements (how the system should behave), such as performance, security, and usability considerations.
Maintain traceability
Reference related documentation. This is to help give the context behind each criteria.