Acceptance Testing

    Acceptance Testing

    ACCEPTANCE TESTING is a level of software testing where a system is tested for acceptability. The purpose of this test is to evaluate the system’s compliance with the business requirements and assess whether it is acceptable for delivery (or writing that big check).

    ISTQB Definition

    • acceptance testing: Formal testing with respect to user needs, requirements, and business processes conducted to determine whether or not a system satisfies the acceptance criteria and to enable the user, customers or other authorized entity to determine whether or not to accept the system.

    Analogy

    During the process of manufacturing a ballpoint pen, the cap, the body, the tail and clip, the ink cartridge and the ballpoint are produced separately and unit tested separately. When two or more units are ready, they are assembled and Integration Testing is performed. When the complete pen is integrated, System Testing is performed. Once System Testing is complete, Acceptance Testing is performed so as to confirm that the ballpoint pen is ready to be made available to the end-users (students, poets, lovers, and so on).

    Method

    Acceptance Testing normally uses the Black Box Testing method and is executed manually. Mostly, the testing does not follow a strict procedure and is not scripted but is rather ad-hoc.

    Tasks

    • Acceptance Test [Execute >> Re-execute]

    Test Plan and Test Cases are seldom prepared or followed though it is advised specially for Internal Acceptance Testing. 

    When is it performed?

    Acceptance Testing is the fourth and last level of software testing performed after System Testing and before making the system available in production for actual use.

    Types

    Acceptance Testing can be categorized into two types (Internal and External):

    Internal Acceptance Testing

    This type of Acceptance Testing, also known as Alpha Testing, is performed by members of the organization that developed the software but who are not directly involved in the project (Development or Testing). Usually, it is the members of Product Management, Sales and / or Customer Support.

    External Acceptance Testing

    This type of Acceptance Testing is performed by people who are not employees of the organization that developed the software.

    Customer Acceptance Testing

    This type of Acceptance Testing is performed by the customers of the organization that developed the software. They are the ones who asked the organization to develop the software. [This is in the case of the software not being owned by the organization that developed it.]

    User Acceptance Testing (UAT)

    This type of Acceptance Testing, also known as Beta Testing, is performed by the end users (either existing or potential) of the software. They can be the customers themselves or the customers’ customers or the general public.

    Note

    In a sequential software development model, Acceptance Testing is only conducted at the end of the life cycle whereas in an iterative and incremental development model, it is conducted at the end of each iteration / increment, which helps in boosting the level of confidence in the software at an early stage.

    Last Updated on September 13, 2020 by STF