ACCEPTANCE TESTING Group members: Hira khan Maryam sultana What is Acceptance Testing? Acceptance testing is a formal testing conducted to determine whether a system satisfies its acceptance criteria Types of Acceptance Testing There are two categories of acceptance testing: User Acceptance Testing (UAT) o It is conducted by the customer to ensure that system satisfies the contractual acceptance criteria before being signed-off as meeting user needs. Business Acceptance Testing (BAT) o It is undertaken within the development organization of the supplier to ensure that the system will eventually pass the user acceptance testing. Acceptance Criteria ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ The acceptance criteria are defined on the basis of the following attributes: Functional Correctness and Completeness Accuracy Data Integrity Data Conversion Backup and Recovery Competitive Edge Usability Performance Start-up Time Stress Reliability Acceptance Criteria ◦ ◦ ◦ ◦ ◦ Maintainability Timeliness Compliance Upgradability Documentation Why Acceptance Testing is Important? Acceptance testing is important because it helps to reduce the number of defects in software. This is done by performing a number of tests on the software to see if it meets the requirements of the customer. With acceptance testing, it is easier to find out if there are any bugs in the software before releasing it. Why Acceptance Testing is Important? Acceptance tests do two things for a software development team: They capture user requirements in a directly verifiable way, and they measure how well the system meets those requirements. They expose problems that unit tests miss. Capturing Requirements We agree that understanding user requirements is critical to the success of a project. If your system doesn’t do what users want, it may be technically elegant but practically worthless. The problem is in assuming, as many methodologies do, that exhaustive specifications will help. Benefits of Acceptance Testing Acceptance Testing encourages collaboration between developers and end-users. Acceptance tests create alignment between clients’ and developers’ expectations. Acceptance Testing eliminates or reduces the risks of defects emerging in production. Brings a better understanding of whether the product satisfies the customer’s needs.