A criterion is a benchmark, upon which a team relies for assessing the progress of a subject in consideration. Acceptance criteria represent a condition that states whether the specified requirements are fulfilled or not.
Written in a very simple language, which could be easily understood by the users, Acceptance Criteria in testing is an evaluation technique that helps determine whether the intended product is working as expected. It adds a level of certainty to what the team is intending to build.
Once the team validates the criteria, with the assistance of acceptance criteria testing, the same is taken forward as an input to the next subsequent levels of software development.
Acceptance criteria have emerged as measurement criteria for assessing the functioning and thus verifying and validating the results. For example, it is based on the acceptance criteria that the software testing teams perform acceptance testing on the software product.
Let us take an example of a situation, where the customer requirements are, "I should be able to search the name of a book along with its details with the help of a universal search option on the front page of my library management system".
Considering the above option, the acceptance criteria could be set as follows:
Other acceptance criteria examples are:
Before we move on to understand acceptance criteria, let us comprehend what differentiates it from Requirements.
Acceptance Criteria and requirements may seem similar, but they are not, as each of them is useful at different ends of the software development life cycle (SDLC). One the one hand, requirements define what the development team is supposed to do, while acceptance criteria are the approved measures that term the software product as ready.
Requirements can be static throughout the development process, but acceptance criteria can vary whenever there is a change in condition. Moreover, when the development team only fulfills a few requirements, the product can pass the acceptance criteria and may also be termed as done.
Now that we know the basic differences between requirements and acceptance criteria, let us move on to discussing components of acceptance criteria.
Acceptance Criteria is composed of three parts:
The acceptance criteria should offer precise, yet concise details regarding the project’s other user stories and design documents. Moreover, it is necessary that the acceptance criteria includes the following details:
The types of acceptance criteria are numerous. However, the types that are most popular are:
Based on the above types of acceptance criteria, the templates followed by the team for preparing acceptance criteria are mainly of two types.
Though these two templates mainly cover all the requirements of the acceptance criteria, the project management team or the product owner can prepare a custom acceptance criteria template, based on the requirement of their project.
While defining the acceptance criteria, it is crucial for the team or product owner to consider various aspects that ensure it covers all the important aspects and delivers them with precision. This can be guaranteed with the assistance of the acceptance criteria checklist, like the one below:
Acceptance testing and acceptance criteria are another two commonly mistaken terms that are frequently used synonymously by testers. However, the objective and characteristics of both of these components of SDLC are poles apart. Therefore, here is a comparison of acceptance testing and acceptance criteria, to help you differentiate the two.
|Acceptance Criteria||Acceptance Testing|
|1.Prepared by the product owner, business analyst, or project manager.||1.Performed by the end user or customer.|
|2.Defines the behavior of the system.||2.Defines how testing needs to be done.|
|3.Requires minimum to zero amount of documentation.||3.Acceptance test requires detailed documentation & reporting.|
|4.Acceptance criteria can be termed as a validation process.||4.It is derived from the acceptance criteria.|
|5.Helps ensure a higher level of customer satisfaction.||5.Ensures software quality, reliability, usability, functionality, & performance.|
Find a detailed comparison of these two in our article, Acceptance Criteria vs. Acceptance Testing.
To get positive results, we must think of a way that is best to serve the desired objectives. Acceptance Criteria is simply a way of defining what are the tasks to be attained and the subsequent activities that need to be performed post the validation. It defines a set of parameters that helps the team to work within a boundary to achieve the expected outcome.