Software Testing
What is Continuous Testing in DevOps? Definition, Benefits, Tools
Continuous Testing Continuous Testing in DevOps is a software testing type that involves testing...
User Acceptance Testing (UAT) is a type of testing performed by the end user or the client to verify/accept the software system before moving the software application to the production environment. UAT is done in the final phase of testing after functional, integration and system testing is done.
The main Purpose of UAT is to validate end to end business flow. It does not focus on cosmetic errors, spelling mistakes or system testing. User Acceptance Testing is carried out in a separate testing environment with production-like data setup. It is kind of black box testing where two or more end-users will be involved.
Need of User Acceptance Testing arises once software has undergone Unit, Integration and System testing because developers might have built software based on requirements document by their own understanding and further required changes during development may not be effectively communicated to them, so for testing whether the final product is accepted by client/end-user, user acceptance testing is needed.
In VModel, User acceptance testing corresponds to the requirement phase of the Software Development life cycle(SDLC).
Following are the entry criteria for User Acceptance Testing:
UAT is done by the intended users of the system or software. This type of Software Testing usually happens at the client location which is known as Beta Testing. Once Entry criteria for UAT are satisfied, following are the tasks need to be performed by the testers:
One of the most important activities in the UAT is to identify and develop test scenarios. These test scenarios are derived from the following documents:
The UAT test plan outlines the strategy that will be used to verify and ensure an application meets its business requirements. It documents entry and exit criteria for UAT, Test scenarios and test cases approach and timelines of testing.
Identify the test scenarios with respect to high-level business process and create test cases with clear test steps. Test Cases should sufficiently cover most of the UAT scenarios. Business Use cases are input for creating the test cases.
It is best advised to use live data for UAT. Data should be scrambled for privacy and security reasons. Tester should be familiar with the database flow.
Execute test cases and report bugs if any. Re-test bugs once fixed. Test Management tools can be used for execution.
Business Analysts or UAT Testers needs to send a sign off mail after the UAT testing. After sign-off, the product is good to go for production. Deliverables for UAT testing are Test Plan, UAT Scenarios and Test Cases, Test Results and Defect Log
Before moving into production, following needs to be considered:
UAT Tester should possess good knowledge of the business. He should be independent and think as an unknown user to the system. Tester should be Analytical and Lateral thinker and combine all sort of data to make the UAT successful.
Tester or Business Analyst or Subject Matter Experts who understand the business requirements or flows can prepare test and data which are realistic to the business.
Following points needs to be considered to make UAT Success:
There are several tools in the market used for User acceptance testing and some are listed for reference:
Fitness tool: It is a java tool used as a testing engine. It is easy to create tests and record results in a table. Users of the tool enter the formatted input and tests are created automatically. The tests are then executed and the output is returned back to the user.
Watir : It is toolkit used to automate browser-based tests during User acceptance testing. Ruby is the programming language used for inter-process communication between ruby and Internet Explorer.
Continuous Testing Continuous Testing in DevOps is a software testing type that involves testing...
Practically, due to time and budget considerations, it is not possible to perform exhausting...
What is Agile Methodology? AGILE methodology is a practice that promotes continuous iteration of...
Grey Box Testing Grey Box Testing or Gray box testing is a software testing technique to test a...
What Is Agile Methodology? Agile methodology is a practice that helps continuous iteration of...
Project Summary This project will put you in a corporate setting. You will be testing a demo...