Acceptance Testing in Software Engineering

Acceptance Testing

  • Acceptance level is a level of software testing in which entire system is tested to evaluate that the system meets the requirements or and software product is acceptable for delivery to the customer.
  • Acceptance testing is the fourth and last level of software testing. This testing is demanded by the customers when the system testing is completed and before actual use of the software.
  • A quality assurance team perform acceptance testing to ensure the software application meets business requirements and end-user needs.

  • This testing returns either a pass or fail result. If result is fail it means flaw is present in the software product and software is not ready for use.

  • This is a black box testing approach in which only the functionality is evaluated to ensure that system meets specified acceptance criteria. Acceptance criteria are defined on the basis of the following attributes :-

    • Performance
    • Scalability
    • Usability
    • Availabilty
    • Timeliness
    • Data integrity
    • Documentation
    • Installability 
Acceptance Testing

Objectives of Acceptance Testing :

  • This test is performed to find the defects in the software product.
  • It ensures that how well the application is created.
  • The main goal is to ensure that system meets the business requirements.
  • Acceptance testing is done to remove or minimize the errors when system is in use.
  • It provides feedback which helps to improve the system performance.

Process of Acceptance Testing :

  1. Create the test plan
  2. Design the test cases
  3. Execute test cases
  4. compare the system with the requirements
  5. obtain the result
  6. Re-testing  ( if required )

Types of Acceptance Testing :

There are various types of acceptance testing which is mentioned below :

  • User acceptance Testing

  • Business acceptance Testing

  • Alpha Testing

  • Beta Testing

Advantages of Acceptance Testing :

  • This testing is done to establish confidence in the system for use.
  • It provides security in the system.
  • This testing is less expensive.
  • It minimize or remove bugs in the system when use.
  • It is easy for the user to define the requirements
  • Test execution can be automated.
  • This type of testing involves end users.

Disadvantages of Acceptance Testing :

  • Software Developers are not involve in this testing.
  • It have low test coverage.
  • No capture and replay possible in this testing.