Day 6: Acceptance Testing
Acceptance testing is the last phase of software testing, which typically involves a client’s stakeholders (management and end users) to guarantee that the software aligns with user needs and business requirements.
It typically involves:
1. User Acceptance Testing (UAT)
2. Business Acceptance Testing (BAT)
3. Contract Accepting Testing (CAT)
4. Regulations Acceptance Testing (RAT)
5. Operational Acceptance Testing (OAT)
6. Alpha Testing
7. Beta Testing
Let us take the example of an ecommerce store platform to explain the above terms.
1. User Acceptance Testing (UAT)
This involves testing whether the product is working correctly for the user. So, it tests whether the user can place orders, make payments, and track deliveries…
2. Business Acceptance Testing (BAT)
BAT is used to determine whether the product meets the business goals and purposes or not, This can include revenue reporting, inventory management, and customer data processing.
3. Contract Acceptance Testing (CAT)
This tests the developed software against certain acceptance criteria and specifications that are predefined and agreed upon in a contract.
4. Regulations Acceptance Testing (RAT)
RAT is used to determine whether the product violates the rules and regulations that are defined by the government of the country where it is being released. For example, if the software is being developed for use in countries that abide by the GDPR, it must include features like user data encryption, opt-in consent for cookies, and a “delete my account” option.
5. Operational Acceptance Testing (OAT)
OAT focuses on ensuring that the software is ready for deployment in the live production environment. It validates the system’s operational aspects, such as backup and recovery, security, performance under expected workloads, and system monitoring, ensuring that the system can operate smoothly in a production environment.
6. Alpha Testing
Alpha Testing is a type of acceptance testing performed in the early stages of software development. It is typically conducted in-house by the development team or a dedicated quality assurance (QA) team, often with involvement from the client or a limited group of users.
7. Beta Testing
Beta Testing is the phase of software testing where a nearly complete version of the product is released to a limited group of external users (the “beta users”) under real-world conditions.