You are familiar with the testing templates for the quality assurance team. What will you do if someone asks you to produce a user acceptance testing template design? Will you use the same testing template or tweak it a bit to accommodate the difference of mindsets?
We believe in tweaking the user acceptance testing template.
In this article, we will explain user acceptance testing in detail. We will also look at the reasons and understand why user acceptance testing is important. Then, we will discuss the factors that shall be considered while planning and conducting UAT.
The essence of planning UAT lies in understanding the fact that user acceptance testing is ‘user-oriented’ who have got a handful of real world problems to be solved by your software. We will present user acceptance testing template and describe its elements.
At the end, we will see how to handle the feedback given by users after performing UAT.
User Acceptance Testing
User Acceptance Testing, UAT, refers to the process where software product is handed over to the client users; they use the application for a specific time period and approves or rejects the software product.The product is released for production, when it passes the user acceptance testing.
According to Techopedia, user acceptance testing can be defined as:
User acceptance testing (UAT) is the last phase of the software testing process. During UAT, actual software users test the software to make sure it can handle required tasks in real-world scenarios, according to specifications.
UAT is one of the final and critical software project procedures that must occur before newly developed software is rolled out to the market.
The term ‘users’ refer to the client and his staff or user group who has requested the software product. Note that the QA team of software development company takes part in UAT, only as a support if needed. The release is given to users for UAT, when the QA team approves the release of software product.
The main focus of UAT is to verify that the developed product meets the requirements and expectations of users. Users should feel comfortable to use the application and perform their tasks with it. After completion of UAT, users might report some issues, change requests or new functionalities. The product undergoes through Software Development Life Cycle, SDLC, to implement the functionality listed in the UAT feedback. The product is considered approved and ready for production, when users approve it after UAT.
Why User Acceptance Testing is Important
During software development life cycle, the software product undergoes through various types of testing by the developers and testing team. All this effort is carried out to ensure that the functionality works correctly. This team becomes so familiar with the application that they might become a victim of tunnel vision. They are fully aware of workarounds and may skip certain steps to do any process.
The users are naive of how the application works. They are focused on ‘How the application should behave?’ They use the application with a fresh mind and whether it is intuitive to follow or not. UAT is based on user stories and establishes how well it meets their requirements. Users do not use ‘Test to Break’ approach while doing user acceptance testing. Rather, UAT is a measure of how good your application performs in normal user scenarios.
There is also a chance that the software development team might have misunderstood the requirements or missed any requirement altogether. UAT helps to identify any such flaws in the system. Hence, user acceptance testing is important to determine whether users accept what has been developed or not.
How to Conduct UAT
You have seen the benefits and necessity of User Acceptance Testing. Now, let us look at the details of how we can intelligently design UAT template. You need to consider the following factors while planning and conducting UAT:
Identify User Roles
Users and user roles vary for every system. The first thing you need to do for UAT is to identify users and their roles in the system. Every user role has a different set of privileges in the system, if there are more than one role in the system. Your UAT shall contain test cases of how the system should behave when a particular user roles perform a specific action. It is often desired that same action on same system produce different outcome on the basis of difference in user roles. This means that you need to understand the users and the expected behavior of system for different users.
Use User Stories as Test Cases
Understanding business requirements is a prerequisite for testing. Clients can use numerous channels to describe their requirements. They can convey their requirements through email, meetings, understanding sessions and through user stories. This information is processed to produce a requirements specification document which is used by QA team to create test cases. However, users can simply use user stories to design most of the user acceptance test cases. This is due to the fact that users are more focused at how well they can use the application to complete their tasks and this information is already contained in the user
Use of Business Language
User acceptance testing is not performed by professional testers, but actual users. This difference is seen in the way user acceptance testing is performed. UAT is comparatively less organized and uses more business language. It would be unfair to expect from users that they can execute test cases and report the issues like our professional testers. It should be acceptable to you if they use business language in their defect logging and reporting.
Create UAT Template
Create a user acceptance testing template and give it to the users who are performing UAT. In the later section, we will see what information is required from the user in user acceptance testing.
You can make sure that UAT is conducted smoothly by offering hands-on training of the software application to the users. This would build their confidence and they will show more willingness to use the developed product.
Know when to perform UAT
As a manager, it is your responsibility to know when to perform UAT. The purpose of UAT is to make sure that your product is in accordance with the user requirements and acceptable to users. Note that it is possible that you implement all the required functionalities but the user finds application very complex to use. An intelligent move would be to determine the features to be included in an iteration and hand over application to users in an iterative manner.
User Acceptance Testing Template
We have kept these differences in mind and came up with the following user acceptance testing template. You can share this template with your UAT team.
Test Case Id
Each test case should have a unique test case id. It can be a numeric series. You can also establish a convention for assigning test case id.
Test case id convention: <Functionality Number>+’.’+<Sub functionality Number>+’.’+<Serial No>
Test case: 1.3.4
Group together your test cases on the basis of functional areas in your application.You might replace this column with ‘Module’ if you have different modules in the application. This makes your testing process more organized. If you have a very large system with subsystems, you may think of adding an additional column with appropriate name such as ‘Sub-functionality’ or ‘Sub-Area’.
Business Requirement Id
In this column,define the business requirement or id of business requirement. You can also mention the link to business requirement, if you are using any tool to log user requirements. The purpose of this column is to quickly and easily refer to the requirement which is to be tested.
This information is crucial from user’s point of view. Identify the user role from the user story or business requirement. In this way, user acceptance testing will be more realistic as all users will execute the test cases related to their user role only. They will focus on limited functionalities and are more likely to identify any loopholes in the application from the user point of view.
In the ‘Test Steps’ column, enter the sequence of actions that a user shall take to execute the test case. Note that test steps entered by business users can be very vague, described in business language. You might replace this column with ‘Test Scenario’.
This column contains details of the expected system behaviour when given test steps are executed. This column is similar to ‘Item Pass/Fail Criteria’.
If the software worked as you expected, you can simply write ‘Same as Expected’ in this column. If it does not work according to the anticipated behaviour, you need to mention details of what actually happened and how exactly did the software behave when you executed the test case. Attach a screenshot of the actual result so that the development team can see the issue.
As the name implies, it states whether the application or product has passed the test case or failed. If a test case fails, you raise an issue and report it to the software development team.
All business requirements have an impact on business but the severity differs. It is an important piece of information that should be included in your user acceptance testing template. This information can be used to set priority of tasks.
This column is reserved for any miscellaneous comments, information or reference about the test case.
How to Handle UAT Feedback
Users give their feedback after performing user acceptance testing. This feedback might contain positive and appreciative comments, bug reports or defects, change requests and new functionalities. As a manager, you need to take action for the following kind of feedbacks:
Bugs/Issues: Users might report any bugs after performing UAT. These issues are of high priority and need to be fixed asap, especially if the bugs are critical in nature. In this case, you also need to review your testing process and investigate how bugs of critical nature escaped the QA.
Change Requests: Sometimes the user becomes more clear about his requirements, after he has actually used the application in UAT. They might request you a minor change in system behaviour. Note that change request is not the same as bug. You can negotiate with client and buy more time to implement change requests.
New Functionalities: Users might also request for new functionalities. The difference between change request and new functionality is that change requests occur for functionalities which have already been implemented, but requires some tweaking. You can communicate with the users and find if the new functionality is needed immediately before the production or you can push the change to next sprint.
In this article, we discussed user acceptance testing and how to create a user acceptance testing template design. UAT is performed by users to verify that the application is capable to handle their real world problems. It is not performed with the aim of finding maximum defects rather UAT is focused to see how system is behaving as a response to user actions. UAT is very important to win client’s trust and in gaining the approval of application.
Although user acceptance testing has the term ‘Testing’ in it but it is not performed in the way of professional testers. It is ‘user-oriented’ so the person who conducts UAT needs to understand certain factors that are essential to smoothly conduct UAT. These factors include the identification of user roles, use of user stories, use of business language and use of user acceptance testing template. After user acceptance testing is performed, you will receive UAT feedback i.e. bug, change request or new feature request. You take appropriate actions according to the feedback, before the software is deployed on production.
Do you intend to use our user acceptance testing template design in your projects? Do let us know in the comment section below if we have missed anything?