Acceptance Testing

Professionalqa acceptance testing image

Software products are developed on the basis of specified business and end user requirements to meet their intended needs and expectations. Acceptance of the product by the user would fulfil the purpose & goal of software development. Thus, evaluation of the developed product by the user itself may help in gaining confidence in the product’s readiness and in its functioning.

What is Acceptance Testing or User Acceptance Testing (UAT)?

Acceptance testing is one of the last types of testing performed over software application by the pool of targeted user to ensure the readiness of the system from user's perspective in order to meet their needs and expectations.

acceptance testing or UAT

The main goal behind acceptance testing is to check that whether the developed software product passes the acceptance norms, defined on the basis of business and user requirements so as to declare it acceptable or non-acceptable for its use by the users. Acceptance testing is also referred to as red box testing.

When to go for Acceptance Testing?

Generally, it begins with the completion of system testing and before the deployment of software product for its actual use.

when to perform acceptance testing

However, this type of testing may be applied to other levels, like in smoke testing, which ensures the acceptance of the software build based on its stability for further testing.

Working of Acceptance Testing

Acceptance is a formal type of testing which follows the black-box testing strategy to execute tests on software product. It means that the acceptance testing is performed without having any prior knowledge of the software's internal working and involves feeding of inputs to observe and evaluate the response of the system. Generally, this type of testing involves multiple executions of test cases including following activities.

acceptance testing working

  • Preparation of test cases, on the basis of combined requirements of both business and end-users.
  • These test cases are executed on the software product.
  • Results are recorded and compared with the expected results, in accordance to specified acceptance criteria, for meeting the requirements.
  • Number of pass or fail of these test cases decides the software suitability for getting accepted or rejected.

Types of Acceptance Testing

Broadly, there are two main types of Acceptance Testing

  1. Alpha testing

    It is an on-site acceptance testing executed at developer's site usually by the group of skilled testers. This is carried out at the end of the software development process and before the handing over of the software product to clients/users. The feedback or the collected result from the alpha testing is significantly used to fix bugs or defects, and it is feasible to improve the usability of the product.

    Explore more of this testing in our article Alpha Testing.

  2. Beta testing

    Also known by the name field testing, beta testing is an off-site acceptance testing, carried out at client's site by the stakeholder or the end-users. This testing involves the evaluation of the software in the real environment by its potential users before its actual release in the market.

Apart from above, acceptance testing can also be classified as under:

  • User Acceptance Testing: It involves initial testing of the software application by the employee(s) of the development organization itself before passing it for the final testing, to be carried out at client site by the users.

  • Operational Acceptance Testing: It is done to ensure the readiness of operational features of the software product by checking the procedures, required for using and maintaining the software product.

  • Contract Acceptance Testing: Involves the testing of acceptance criteria & requirements that were evolved during the contract and before the delivery of software product.

  • Regulation Acceptance Testing: This testing is done to ensure that software product abides the rules, regulations, laws and safety standards of the government.

What are The Best Practices for User Acceptance Testing?

acceptance testing practices

  • Make a checklist.
  • Always make a UAT plan before proceeding.
  • Setting of expectation and scope of UAT should be clear.
  • Try to avoid system tests and do test end to end business flow.
  • Try to test the application relevant to real world scenarios.
  • Think like a stranger or a newcomer to the system.
  • Usability testing
  • Meetings and feedback sessions are important before production.

It is expected from every software product that it should function based on the needs of the end users to meet and satisfy their desired demands & expectations, and which can be guaranteed through acceptance testing along with gain of confidence in its user-acceptance, prior to its market release.