Loading

Acceptance Criteria :Complete Guide


What is Acceptance Criteria?

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.

ThinkSys Advertisement
ThinkSys Advertisement

Acceptance Criteria Example:

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:

  • Search by the name of a book only.
  • Search by the publisher name, that shows all books belonging to the same category.
  • Restrict the search with the name of a website.

Other acceptance criteria examples are:

  • The user should not be able to execute the search if all the mandatory fields are not entered.
  • The user must see the sequence number of the book.

Acceptance Criteria Vs. Requirements:

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 Infographics


Writing Acceptance Criteria: Important Elements To Consider

Acceptance Criteria is composed of three parts:

  1. Input: An input may be something like entering a value or clicking on some button to trigger some action.
  2. Process: The task of evaluating computation. This is just to analyze whether our intended purpose is solved the way it should.
  3. Outcome: Outcome is the final result. The outcome of the acceptance criteria should be tested with the least complexity. Acceptance Criteria makes the task of finding out risks easier.

Acceptance Criteria Specifications :

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:

  • Functional Criteria: The user tasks, functions, and businesses process that should be in place.
  • Non-Functional Criteria: Non-functional conditions, like design elements.
  • Performance Criteria: Measure of the response time of a user story. It Is included if specific performance is critical for the acceptance of the user story.
ThinkSys Advertisement

Acceptance Criteria Types:

The types of acceptance criteria are numerous. However, the types that are most popular are:

  • Scenario-Oriented Acceptance Criteria:
    This type of acceptance criteria are in scenario form and illustrate each criterion. Moreover, these are popularly used by Agile teams, as it enables them to get across requirements, as well as use scenarios for the manual and automated acceptance test.
  • Rules-Oriented Acceptance Criteria:
    Unlike scenario-oriented acceptance criteria, the scenarios for rules-oriented acceptance criteria are in the form of a list.

User Acceptance Criteria Template:

Based on the above types of acceptance criteria, the templates followed by the team for preparing acceptance criteria are mainly of two types.

  • Template 1: Scenario Oriented Acceptance Criteria
    • Given: Defines some precondition or situation
    • When: The action performed by the user.
    • Then: The expected result.
  • Template 2: Rules Oriented Acceptance Criteria
    • Checklist: At times, the G/W/T format cannot fit acceptance criteria for various scenarios. It these cases, Rules oriented acceptance criteria or checklist format is followed, wherein the set of rules that define the behavior of the system/product are used to draw scenario.

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.

Advantages of Acceptance Criteria:

  • It helps the team to analyse the various aspects of the application, and think from an end-user perspective.
  • An acceptance criteria enables the testers to write test cases with precision, without much complexity involved in it.
  • Removes unnecessary or irrelevant information.

Acceptance Criteria Checklist:

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:

  • Document criteria before development.
  • The impact of a specific scenario on other aspects of the application should be specified.
  • All the negative consequences of implementing the functionality.
  • List the concerns related to the user interface.
  • Functional and non-functional criteria should be mentioned.
  • Issues regarding performance and specify guidelines to be followed.
  • What does the system suppose to do?
  • End-to-End user flow should be included.
  • At least one acceptance criteria should be associated with the user story.
  • Should be high level, but should provide enough detail to be useful.
  • Negative scenarios should be defined.
  • Must be written before the implementation to avoid reducing its advantages.
  • The focus should be the end result or the intent and not the solution.
  • Should be testable.

Difference Between Acceptance Criteria & Acceptance Testing:

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.

Conclusion :

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.



Advertisement:

ThinkSys Advertisement


LP

App development ad thinksys

Devops