Javatpoint Logo
Javatpoint Logo

Acceptance testing

Acceptance testing is formal testing based on user requirements and function processing. It determines whether the software is conforming specified requirements and user requirements or not. It is conducted as a kind of Black Box testing where the number of required users involved to test the acceptance level of the system. It is the fourth and last level of software testing.

However, the software has passed through three testing levels (Unit Testing, Integration Testing, System Testing) But still there are some minor errors which can be identified when the system is used by the end user in the actual scenario.

Acceptance testing is the squeezing of all the testing processes that have done previously.

Acceptance Testing

Reason behind Acceptance Testing

Once the software has undergone through Unit Testing, Integration Testing and System Testing so, Acceptance Testing may seem redundant, but it is required due to the following reasons.

  • During the development of a project if there are changes in requirements and it may not be communicated effectively to the development team.
  • Developers develop functions by examining the requirement document on their own understanding and may not understand the actual requirements of the client.
  • There's maybe some minor errors which can be identified only when the system is used by the end user in the actual scenario so, to find out these minor errors, acceptance testing is essential.

Steps to Perform Acceptance Testing

Acceptance Testing

Requirement Analysis:

In this step, the testing team analyzes requirement document to find out the objective of the developed software. Test planning accomplished by using requirement document, Process Flow Diagrams, System Requirements Specification, Business Use Cases, Business Requirements Document and Project Charter.

Test Plan Creation:

Test Plan Creation outlines the whole strategy of the testing process. This strategy is used to ensure and verify whether the software is conforming specified requirements or not.

Test Case Designing:

This step includes the creation of test cases based on test plan documents. Test cases should be designed in a way that can cover most of the acceptance testing scenario.

Test Case Execution:

Test Case Execution includes execution of test cases by using appropriate input values. The testing team collects input values from the end user then all test cases are executed by both tester and end user to make sure software is working correctly in the actual scenario.

Confirmation of objectives:

After successful completion of all testing processes, testing team confirms that the software application is bug-free and it can be delivered to the client.

Tools used in Acceptance Testing

Acceptance Testing can be done by using several tools; some are given below:

done by using several tools; some are given below:


Acceptance testing uses this tool for the execution of automated browser-based test cases. It uses Ruby language for the inter-process communication.

Fitness tool:

This tool is used to enter input values and generate test cases automatically. The user needs to input values, these values used by the tool to execute test cases and to produce output. It uses Java language for the inter-process communication. This tool makes it easy to create test cases as well as record them in the form of a table.

Advantages of Acceptance Testing

  • It increases the satisfaction of clients as they test application itself.
  • The quality criteria of the software is defined in an early phase so that the tester has already decided the testing points. It gives a clear view to testing strategy.
  • The information gathered through acceptance testing used by stakeholders to better understand the requirements of the targeted audience.
  • It improves requirement definition as client tests requirement definition according to his needs.

Disadvantages of Acceptance Testing

According to the testing plan, the customer has to write requirements in their own words and by themselves but

  1. Customers are not willing to do that; it defeats the whole point of acceptance testing.
  2. If test cases are written by someone else, the customer does not understand them, so tester has to perform the inspections by themselves only.
  3. If the process is done in this manner, it destroys the existence of the Acceptance Testing.

Help Others, Please Share

facebook twitter pinterest

Learn Latest Tutorials


Trending Technologies

B.Tech / MCA