User acceptance testing (UAT) helps determine if software works as described in the requirements, and if users can complete their tasks according to the workflow defined at the beginning of the project. However, while UAT focuses on the functionality of the software, user testing focuses on the experience the user had while completing their task.
“User acceptance testing (UAT) is the last phase of the software testing process. During UAT, end users test the software to make sure it can handle required tasks in real-world scenarios, according to specifications.” (https://www.techopedia.com/definition/3887/user-acceptance-testing-uat)
In my experience, UAT is frequently mentioned as an equivalent of, or replacement for, user testing. This seems to be based on the belief that the UX design work is completed once the product is shipped. In reality, the UX process should be an iterative cycle of user feedback and improvement.
On a recent project my team worked to develop a document storage enterprise application based on SharePoint. We created a screen to add notes to a document. The basic requirements were:
- User with permission group A can view and edit a note
- User with permission group B can view, edit, and delete the note
During the feature release process we observed a UAT session in which we encountered the following scenario:
- A user with permission group A logged into the application and navigated to the notes section.
- The user selected a note to edit.
- On the edit screen the “Delete Item” option is also available to the user:
However, users with permissions group A cannot delete a note, just edit it. The user clicked on the delete button. A message showed up:
The user clicked on the “OK” button and then sees this screen:
So what happened here?
From a UAT perspective, the testing was a success! User with permission group A cannot delete a note. Requirements were met, testing passed.
From a user experience perspective, however, this was a failure. The user is given an option (the delete button is there and even reacts to the user’s request by providing a message asking the user to confirm the deletion of the note) that does not match their permissions. And then the user is sent to a screen that not only implies something went wrong, but also does not convey the actual issue (that the user doesn’t have the required permissions for that action). This is where we lose a user’s trust.
Ultimately we addressed this issue, but the experience demonstrated an important lesson regarding the distinction between UAT and user testing: UAT is a great tool for verifying you built a functional application, but user testing is still also needed to verify that users can use the application without frustration and complete their tasks with ease.