User Acceptance Testing is done before Software goes live or is ready to go to the real environment. Means User Acceptance Testing is done at the last stage and this testing is done by client or real user who are going to use the software as in V-model first phase is Business requirements and corresponding testing phase is UAT testing. Means business requirement is taken as the input for this testing and check whether all documented business requirements satisfied by the software or not.
User Acceptance Testing is done at the last stage means it is done after unit testing, integration testing, System Testing then User Acceptance Testing is Performed. You may think that what is the need of the UAT testing? If we have performing unit testing, integration testing, system testing then why UAT testing is needed and one more thing we Testers are professionals we know how to test the software. But the aim of UAT testing is not to find the bugs but just check the software against the business requirements, business flow. And who can tell us better than the client itself.
Means the client and user check the software for Business flow. They check whether all business requirements are satisfied or not. While performing the UAT testing they neglect all small bug like UI bugs, spelling mistakes.
Why UAT is needed? Below are few points which tells us the importance of UAT testing?
Software Building process starts from requirements gathering, our companies business analyst goes to the client and listen the client requirements and write them down as per the business analysts understanding. There is a chances that the business analyst understanding and the actual requirements of the clients are May differs. And further process is totally based on requirement documents. This may affect the business requirements.
Even if the Business analyst documented the requirement properly then it is depends on developers understanding of the requirement, developer may misunderstand the requirement and develop the software. This is also interrupt the proper business flow of the Software.And same thing may happens with the testing team also. At the initial stage client may be confused about what he actually wants. So once client get some idea or when any requirements comes to his mind then client contacts to the organization and tells his requirement means clients sometime changes his requirements very frequently. And if those requirements are not communicated properly with developer then this may cause difference in business flow/ business requirements.
When to perform UAT Testing?
- At the last stage before the software goes live or made available for users
- UAT performs after Unit, integration, System testing.
- UAT testing is performed when all the measure bugs are fixed
- UAT Testing is performed when fully integrated and bug fixed software is available.
Types of User Acceptance Testing
There are two types of UAT testing
There are two types of UAT testing
1. Alpha Testing
Alpha testing is done at developer’s environment where developers are present during the Alpha Testing. Alpha testing is performed by real users / clients and developer or QA team may or may not involve in Alpha testing, when user are using the software then developer looks they activities and if user has some Queries then developer explain them. After the testing user gives feedback about the software. And suggest changes. If developer think any change is require then change that particular functionality to make it more user friendly and correct.
2. Beta Testing
After the alpha testing beta testing is performed. Main difference between the Alpha and Beta testing is Beta testing is performed at client’s side in client’s environment (which is the real environment). Few real user test the software in real environment without any help of developer. Means there are not any developer or QA member involve in Beta testing. It is fully performed by users. This testing is usefully to get market response of the software. And the issues that the user faces during beta testing is communicated with the developer and if needed they make the changes in the software.