User Acceptance Testing (UAT)
We have so far in our blogs looked at Unit testing, Integration testing and System testing in detail. In today’s blog, we take a look at User Acceptance Test or UAT for short. UAT comes after System testing.
Though the application has undergone these different tests, the customer (the king/queen) has not yet had a chance to use the application and deem it fit for his use. So, there is a need for this round of testing called User Acceptance Testing. UAT is the responsibility of the customer.
The testing objective or goal is to see how well the application meets the customer’s expectations, whether the product is fit for deployment, whether government , safety standards are met etc. So the goals can be different and this in turn has given rise to various types of UAT.
UAT is mainly a black-box testing activity like System testing. The Requirements specification is used as the test basis to develop the test cases. Typically scenarios and business flows are executed. It might not be as detailed as System Testing.
The many types of UAT are:
1. User acceptance testing (UAT)
Here testing is done by the customer and it can take two forms: Factory Acceptance Testing and Site Acceptance Testing.
Eg. Infosys develops a software called ‘AAA cars’ for Ford motors.
UAT of this product that is conducted by users(Ford representatives) at Infosys’s site is called Factory Acceptance testing.UAT of the product that takes place at Ford’s site is called Factory Acceptance testing .
2. Operational Acceptance testing
The Operations teams manage the live or production environment. Whenever a project has completed System Testing and UAT, the new version of the application is moved to the Pre-production environment before deployment to Production. In pre-production, System Administrators assess if the system is fit for deployment. Characteristics like Security, Failure and recovery, backup and restore etc are the main focus. This testing is called Operations Acceptance testing. Once this testing is complete, the application is rolled onto the Live or Production environment.
3. Alpha and beta (or field) testing
This is mainly done by Product companies to get feedback about the new product they are developing. After System testing, copies of the product are distributed to internal staff for feedback. This is called Alpha testing.
Copies can also be distributed to existing or potential customers for feedback, this is called Beta testing.
Eg. Microsoft has developed Excel. After System testing is complete, the application is given to some teams within Microsoft for feedback – this is called Alpha Testing.
MS Excel System is almost complete, gives it to an existing customer say Walmart for feedback. This is called Beta testing.
4. Contract and regulation acceptance testing
Regulation acceptance testing: in industries that need to meet government, legal or safety standards, testing is conducted to check conformance to the standards or regulations. Eg. Defense, Pharmaceuticals etc
Contract acceptance testing: Sometimes a tight contract is signed between the Service company and it’s customer and the criteria for accepting the system is documented in this document. Testing is conducted by the customer to check if these criteria have been met, this is called Contract Acceptance Testing.