Earlier we have learned System testing in detail and in this article, we will learn Acceptance Testing and the following concepts
What is Acceptance Testing?
Acceptance testing is also known as pre-production testing.
It is done after System testing and it is the last phase of the Software Testing process.
It is a black-box testing technique done by the end-users along with the testers to validate the functionality of the application to make sure the product meets the specified acceptance criteria.
This phase of software testing allows the users, customers, or other authorized entities to decide whether to GO or No-GO with the product developed.
Usually, companies handover the application to the customer to perform the acceptance tests only after the system testing is completely done and is signed-off.
The Acceptance testing environment should be similar to the production environment. We call this a Staging environment or UAT environment or Pre-Production environment or Fail-over environment.
After a successful acceptance testing environment. Formal testing conducted to determine whether an application is developed as per the requirement. It allows the customer to accept or reject the application.
When Acceptance Testing is performed?
Acceptance testing is the fourth level of testing and it is performed in the following conditions
- Done after completion of System Testing
- Done before making the product available for actual use
Who performs Acceptance Testing?
Acceptance Testing is performed byCustomers, Customer’s Customers, Testers from the organization, Business Analysts, and Subject Matter Expertise.
Attributes of Acceptance Criteria
Usually, acceptance tests are derived from user stories. Acceptance tests are based on the acceptance criteria. Following are the attributes of the Acceptance criteria
- Correctness and completeness of the functionality
- Data Integrity & Conversion
- Confidentiality and Availability
- Installability and Upgradability
Types of Acceptance Testing
The following are the types of Acceptance Testing
- User Acceptance Testing (UAT)
- Business Acceptance Testing (BAT)
- Contract Acceptance Testing (CAT)
- Regulations/Compliance Acceptance Testing (RAT)
- Operational Acceptance Testing (OAT)
- Alpha Testing
- Beta Testing
All these types of acceptance testing are done to gain confidence in the product and to ensure that the product is ready to release in production.
#1. User Acceptance Testing (UAT)
User acceptance testing is the last step in software testing that verifies whether the software is fulfilling the initial goals according to user requirements.
Requirements that are used by the end-user quite often are mostly picked for the testing purpose. Here in UAT the term ‘User’ implies the end-users so this testing is also known as End-User Testing.
Must Read: User Acceptance Testing Complete Guide
#2. Business Acceptance Testing (BAT)
Business Acceptance Testing is performed to validate the product against business needs and requirements or not. Testers who perform BAT should focus on user stories as well as end-user behavior and should have a clear understanding of the customer’s business and the domain.
#3. Contract Acceptance Testing (CAT)
In Contract Acceptance Testing, the product is tested with all acceptance test cases within the contract period which is mentioned in the contract (Service Level Agreement (SLA)). The payment will be made to the company by the client only if the product passed all the acceptance use cases.
#4. Regulations/Compliance Acceptance Testing (RAT)
Regulations Acceptance Testing is also known as Compliance Acceptance Testing.
This type of acceptance testing is done to make sure the product doesn’t violate any rules and regulations that are set by the governing agencies of the particular country where the product is being released. Usually, products that are available all over the world should undergo this testing type just because different countries have different rules and regulations set by respective governing agencies.
#5. Operational Acceptance Testing
In STLC, operational testing or operational acceptance testing (OAT) is done to evaluate the operational readiness of a software application before releasing it to production. It ensures smooth system operation in its standard operating environment (SOE). It focuses mainly on compatibility, recovery, reliability, maintainability, etc., It is also known as Product Acceptance Testing.
Check our detailed guide on Operational Acceptance Testing here
#6. Alpha Testing
Alpha testing is done onsite in the developer’s test environment by the users outside the development organization.
Check our detailed guide on Alpha Testing here
#7. Beta Testing
Beta testing is done at the client-side by the real users or customers outside the development organization.
Check our detailed guide on Beta Testing here
Use of Acceptance Testing:
- To find the issues missed during the phase of functional testing.
- To find how well the product is developed.
- To get feedback from the end-users to improve the user experience and the performance of the product.
- To minimize or eliminate the risk of finding issues post-production.
Entry & Exit Criteria of Acceptance Testing
Like every other phase of Software Testing, Acceptance Testing also has entry and exit criteria.
Before moving forward to acceptance testing we have to verify the following
- User stories should be available and understandable
- Whether System Testing is done or not?
- Whether all the major bugs fixed or not?
- Whether all the major bugs retested and closed or not?
- Whether Requirement Traceability Matrix (RTM) is updated or not?
- An acceptance testbed should be available.
- System testing signoff approval to move to the acceptance phase.
Before signing off acceptance testing we have to fulfill the following
- All the acceptance tests should be executed and Pass.
- All the critical or major issues should be fixed and retested.
- Get the sign off approval from all the stakeholders.
Attributes of Acceptance Test Plan
The following are the attributes of the Acceptance test plan
- Acceptance Test Category
- Operation Environment
- Test Case ID
- Test Case Title
- Test Case Objective
- Test Procedure
- Test Schedule
Attributes of Acceptance Test Report
Following are the Acceptance Test Report attributes.
1. Report ID
2. Results summary of every test non-conformity
3. Results summary of every test failure
4. Test logs location
5. Testers name and the time the tests were performed
6. To-Do list summary
7. Approval decision