What is Acceptance Criteria?
Acceptance Criteria are conditions which a software application should satisfy to be accepted by a user or customer. It mentions the defined standards of a software product must meet. These are a set of rules which cover the system behavior and from which we can make acceptance scenarios.
Acceptance Criteria is a set of statements which mentions the result that is pass or fail for both functional and non-functional requirements of the project at the current stage. These functional and non-functional requirements are the conditions which can be acceptance. There is no partial acceptance in acceptance criteria, it is is either passed or failed. In Agile, it defines the boundaries of a user story and thus it is used to see whether the user story is complete and working as it should be. It is also known as test completion criteria and fit criteria. It should be mentioned is a very simple language like a user story which a customer can understand. It should have the expected result or the outcome written clearly without any ambiguity. The acceptance conditions and non- acceptance conditions should be clearly mentioned in the acceptance criteria. The Acceptance Criteria should be a high level document and also provide details to understand and useful.
It should include:
- Functional Criteria: Identify the functional and business tasks of the project. For example : the user would be able to update his profile
- Non functional Criteria: It constitutes the non-functional specs like the designs requirements are met. For example: the edit and delete buttons comply with the page design.
- Performance Criteria: It is measure of response time of a user story. For example: to retrieve the results it takes 2 seconds for the query.
Example of Acceptance Criteria:
User Story: Creation of orders in online shopping cart
Criteria: 1. User should be able to selects multiple items and add to shopping cart.
- The user should be able to see the items in the shopping cart.
- The user should be able to purchase items using their local currency.
- The user should be able to see an order number when the payment method is made.
Other examples of Acceptance Criteria can include:
- The user would not be able to submit a form if all the mandatory fields are not entered.
- Modes of payments can be selected, like payment by credit card, debit card.
- An automatic email is sent once the payment is made and confirmed.
What is Acceptance Tests?
Acceptance Tests are examples of software application behavior from one or more user point of views. Acceptance tests are created from user stories. It is a formal test conducted to determine whether the software application satisfies its Acceptance Criteria and also help the customers to decide whether to accept the system or not. The customer implements the acceptance tests to check whether the user story is completed and correctly implemented. An application can have many acceptance tests to be sure that the functionality of software works. These are black box approach tests. Acceptance tests are different from Unit tests in the way that the acceptance tests are written by the customer and not modeled while the unit tests are written by developers and are modeled.
These are detailed specification of the software application behavior for all scenarios which are present for the current state of software and to find its correctness. Acceptance Tests are also called Customer Tests and Customer Acceptance Tests. Acceptance tests are first class requirements artifacts because they describe the criteria by which the stakeholders will determine whether the system meets their needs.
Example of Acceptance Tests:
The customer screen allows user to perform search on first and last names
- Add few customer names in the database.
- Display customer search button
- Enter the name to be searched.
- Hit Search button.
- Expected results should be displayed
Difference between Acceptance Criteria Vs Acceptance Tests:
|1. Set of conditions which need to be met to accept story as complete||1. Scenarios derived from acceptance criteria.|
|2. Acceptance Criteria requires minimal amount of documentation||2. Here we require detailed documentation.|
|3. It is a created prior to development phase, in planning phase.||3. It is implemented during the development phase.|
|4. It states what needs to be done||4. It states how it needs to be done.|
|5. Acceptance criteria is written by the product owner or the business analyst before the development phase.||5. Acceptance tests can be added anytime by the customers or a specific testing team.|
|6. Definition of acceptance criteria is more difficult for a stakeholder than acceptance tests||6. It is more easier for the stakeholder to explain the acceptance scenario than criteria|
|7. It ensures that the team knows when they are completed with the user story.||7. It ensures that the system is behaving as expected.|
|8. It is made through joint effort of developers, testers and stakeholders.||8. Here it is implemented by developers and testers.|
Over to you:
Today’s article will definitely help to understand the “Difference between Acceptance Criteria Vs Acceptance Tests”.
However, this difference list is neither exhaustive nor complete and may not cover many points that you thing those must have been there in the list. This list is just to set the stage to get you in the groove.
Please share your thoughts in comments which you thing that should be added in the list to make it comprehensive. we wish this difference would helpful to our tester professionals.
If you are not regular reader of this website then highly recommends you to Sign up for our free email newsletter!! Sign up just providing your email address below: