---
title: "User acceptance testing"
subject: "Software Engineering"
chapter: 8
key: "semester_5/software_engineering:user-acceptance-testing"
source: https://www.bctengineer.com/q/semester_5/software_engineering/user-acceptance-testing
site: BCT Engineering
---

# User acceptance testing

Software Engineering · Chapter 8: Software Testing and cost Estimation

- Asked in: 2070 Chaitra (old course), 2+6+2 marks
- Video: [Software Testing Process Guide: What is User Acceptance Testing - UAT?](https://www.youtube.com/watch?v=sGwm4p9sGPI) — Online PM Courses - Mike Clayton
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_5/software_engineering/user-acceptance-testing
- Whole chapter: https://www.bctengineer.com/md/semester_5/software_engineering/chapter-8

## Question

What is user acceptance testing? Explain the different testing in user acceptance testing. Why is it necessary?

## Short answer

User acceptance testing is the final stage where customers/end users test the complete system with real data to decide acceptance. Its types include alpha, beta, contract, regulation, operational, and business acceptance testing. It is necessary to validate real needs, find remaining defects, provide a basis for sign-off, and reduce risk.

## Answer

#### What is user acceptance testing

**User acceptance testing (UAT)** is the final stage of testing in which customers or end users test the complete system, usually with their own real data, to decide whether it meets their requirements and is ready to be accepted and deployed. It is a validation activity: the question is "Is this the right system for us?", not just "Does it match the specification?". It is black-box and based on business scenarios.

```text
Define acceptance criteria -> Plan acceptance testing
 -> Derive acceptance tests -> Run acceptance tests
 -> Negotiate test results -> Accept / reject system
```

#### Different types of testing in user acceptance testing

1. **Alpha testing**
   - Done by selected end users at the **developer's site**, with developers watching and recording problems.
   - Controlled environment; errors are fixed quickly.
   - Example: hospital staff try a new patient-record system in the developer's office.

2. **Beta testing (field testing)**
   - Done by real users at **their own sites** in the real environment, without developers present.
   - Users report problems and suggestions; used for products sold to many customers.
   - Example: a mobile app released to a limited group as a beta version.

3. **Contract acceptance testing**
   - The system is tested against the **acceptance criteria written in the contract** between customer and developer.
   - Payment or sign-off depends on passing these tests.
   - Example: a government payroll system must process 10,000 employees in under one hour, as stated in the contract.

4. **Regulation (compliance) acceptance testing**
   - Checks that the system follows **laws, regulations and standards** such as banking rules, tax rules, data protection or safety standards.
   - Example: a banking app checked against central bank (Nepal Rastra Bank) security guidelines.

5. **Operational acceptance testing (OAT)**
   - Done by system administrators or operations staff to check **operational readiness**: backup and restore, recovery after failure, installation, user management, security, and maintenance tasks.
   - Example: checking that the database can be restored from last night's backup within 30 minutes.

6. **Business acceptance testing (BAT)**
   - Checks that the system meets **business goals and workflows**, such as correct reports, billing rules and process flow, from the business owner's view.

A sample acceptance test case for a college fee system:

| Field | Value |
|---|---|
| Scenario | Student pays semester fee online |
| Steps | Log in, select semester, pay through e-wallet |
| Expected | Receipt generated, fee ledger updated, SMS sent |
| Acceptance criterion | Works for 500 payments per hour without error |

These may be informal (users "test drive" the system) or formal (planned test cases run against acceptance criteria). In agile development, acceptance tests are written with the customer for each user story and run in every iteration.

#### Why it is necessary

- **Validates real needs**: developers may misunderstand requirements; only users can confirm the system is fit for their work.
- **Finds remaining defects** in real data and real workflows that system testing missed.
- **Basis for sign-off**: it gives the customer an objective reason to accept the system and release payment.
- **Reduces risk and cost**: problems are found before going live, when they are cheaper to fix.
- **Builds user confidence** and makes training and adoption easier.

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. What question does user acceptance testing mainly try to answer?
   A. Does every function match the code design?
   B. Is this the right system for the users, ready to be accepted?
   C. Is every statement of the code executed?
   D. Do the units pass with stubs and drivers?
   Answer: B. UAT is validation by customers or end users, asking whether the complete system meets their needs and can be accepted. (Key point: Purpose of UAT)

2. Which statement correctly separates alpha testing from beta testing?
   A. Alpha is done at users' sites without developers; beta is at the developer's site
   B. Alpha is done by developers only; beta by testers only
   C. Alpha is done at the developer's site with developers watching; beta is done at users' own sites without developers
   D. Both are done at the developer's site, but beta uses real data
   Answer: C. Alpha takes place in a controlled environment at the developer's site; beta (field testing) happens in the real user environment. (Key point: Alpha vs beta testing)

3. A tester checks that the database can be restored from last night's backup within 30 minutes. Which acceptance test is this?
   A. Operational acceptance testing
   B. Regulation acceptance testing
   C. Beta testing
   D. Business acceptance testing
   Answer: A. Operational acceptance testing is done by operations staff to check backup, restore, recovery, installation and maintenance readiness. (Key point: Contract and operational acceptance testing)

4. Why can UAT not be replaced by the developers' own system testing?
   A. Developers never test the system
   B. Only users can confirm the system fits their real needs, and it gives the basis for sign-off
   C. UAT is cheaper than any other test
   D. UAT finds all defects so no other test is needed
   Answer: B. Developers may misunderstand requirements; users validate fitness for real work and their acceptance supports sign-off and payment. (Key point: Why UAT is necessary)

## Related in Software Engineering

- [Failure after acceptance testing; integration testing](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Afail-after-acceptance) — Software Engineering, chapter 8

## Related in other subjects

- [Acceptance criteria of concrete strength](https://www.bctengineer.com/question.md?key=semester_5%2Fconcrete_technology_and_masonry_structure%3Aacceptance-criteria-concrete) — Concrete Technology and Masonry Structure, chapter 5, asked 5×
- [Light propagation; NA and acceptance angle](https://www.bctengineer.com/question.md?key=semester_6%2Fpropagation_and_antenna%3Alight-propagation-na-acceptance-relation) — Propagation and Antenna, chapter 6
- [Light propagation; define NA and acceptance angle](https://www.bctengineer.com/question.md?key=semester_6%2Fpropagation_and_antenna%3Alight-propagation-define-na-acceptance) — Propagation and Antenna, chapter 6
