Blog

Proper user acceptance testing and solutions to 4 main challenges

In today’s post our team focuses on UAT and advises on solutions to overcome.
12 June 2017
Web app testing
The article by a1qa
a1qa

We’re about to do one horrible thing. Just imagine that you’ve developed the software. Secure, safe, and easily accessible software. It performs well across multiple devices and browsers and is localized for various cultural regions. It went live and massive adds among the target audience ensured its downloads and installations. However, weeks after the users quitted it and uninstalled the product. What went wrong?

There are many possible answers, but one of them, that is the topic of our today’s post, is the failure to meet user requirements. The best software in the world, with responsive design, vivid graphics, and rich functionality will have no value if it is not up to end users’ expectations. It’s 100% true and has no exceptions.

User requirements really matter

A user requirement is elicited by answering the following question: “What does the user need the software or product to perform?”

The only way to understand what makes a product easy to use is to elicit user requirements and answer such questions as:

  • In what manner will the users interact with the product?
  • What functions are important for users to accomplish their goals?
  • What are we trying to achieve with this or that functionality?
Requirements CategoryExamples
InterfaceInterface elements should be clear and easily understood by all users. The user should be able to make a purchase by sending a request from the ordering system to the warehouse management system.
PerformanceThe system must be able to process 200 transactions per second in peak load.
It must take more than 1 second to scroll one page in a 40-page document.
AccessibilityAll information included in the system can be perceived by a user with restricted or no vision or hearing.
For all accessibility features there should be instruction and description provided.
SecurityThe system should check all input data.
The system should identify any user trying to access the system.

However, too frequently, requirements turn out to be ambiguous, which leads to their loose interpretation by the IT team. Of course, it causes requirement errors occurring through the SDLC and growing into defects. And this is disastrous.

These defects will probably be detected after implementation, when the costs are 10 times greater to resolve defects. So it is imperative to elicit and define requirements concisely, so that the expected results are transparent, with no unexpected surprises after going live.

Professional approach to deal with requirements

Businesses are steadily relying on the expertise of requirements subject matter experts (SMEs) to lead them to product success, by eliciting and validating software requirements.

It’s a current tendency to allocate these responsibilities to business analysts who serve both the business and IT teams and help elicit clear and measurable requirements to satisfy both the stakeholders and final users. Based on the requirements, QA consultants design test cases leveraging concise requirements. Each test scenario has pre-defined acceptance criteria and simulates an aspect of functionality of the product by capturing all steps in sequence.

Once the software is developed according to all elicited and documented user requirements, there is only one step left before shipping the product – user acceptance testing (UAT).
If carried out competently, UAT will warn the IT team about the vulnerable gaps. If UAT is mismanaged, defects become extremely expensive to fix.

Sure thing, in UAT software is tested from user perspective or with users’ direct participation.

4 main UAT challenges to overcome

1) Offloading UAT to functional testers

Due to a lack of competent resources, customers often assign UAT to their functional test teams. However, in this case the whole idea of UAT is compromised. While functional testers will check the product proper functionality, business analysts will focus on the end users’ requirements and verify the product against them.

Solution: Assign a professional team with the domain knowledge to perform UAT.

2) Poor communication

It’s not a rare thing when communication between distributed teams is impeded. If software developers, testers, business analysts and other persons involved can’t discuss any issues in time, the smallest ambiguity in defect reports can delay fixing.

Solution: Proper communication is a must for team collaboration. Also, user-friendly tools should be used by UAT team to log defects and validate fixing.

3) New requirements from stakeholders

No one can restrict business from setting new requirements when the product is being tested. Sometimes, stakeholders ask testing time to consider new requirements in the upcoming release. Of course, they do not always take into account the time it will take.

Solution: Project management is to take timely decision on these last-second changes not to fail the release.

4) UAT planning

As we’ve already mentioned above, UAT takes place after the regression testing of the whole product is completed. It’s the last chance for the team to check whether the product fits the purpose of its development. Generally, it’s the most critical and vulnerable time period before the release. Delays (which are not rare) in testing or development will reduce UAT time.

Solution: Ideally, UAT planning should be performed during the requirements analysis phase. Firstly, real use cases have to be identified for further execution. Secondly, they have to be communicated to the QA team to help them prepare tests cases and set up proper test environment.

Bottom line

Any software project may let your effort and money down the drain if the requirements of the product fail to meet user expectations. If conducted properly by experts with deep knowledge of the project and its objective, UAT will help discover critical functionality and system vulnerabilities as well as decrease huge rework costs.

Over to you

How do you verify the quality of the product before release? What is your approach to UAT? Do you invite any real users to participate?

More Posts

7 January 2020,
by Performance R&D
6 min read
How to enhance performance of your web software product?
In this article, we are highlighting the aspects that can help get an objective picture of the performance health of your software product and make it more high-quality.
Performance testing
QA consulting
Web app testing
18 September 2019,
by a1qa
4 min read
Client-side performance: make your end users stay
Let's have a wider look at performance testing and discover how client-side testing can improve the customer experience of a software product.
Performance testing
Web app testing
26 October 2018,
by a1qa
4 min read
Slow website speed? Performance testing is not the only solution
Strive to deliver best possible user experience with your web solution? Consider client-side testing then.
Performance testing
Web app testing
9 August 2018,
by Pavel Novik
3 min read
Accessibility testing: the basics you would like to know
Do you want to increase your user base? Consider performing accessibility testing of your software. 
QA consulting
Web app testing
12 June 2018,
by a1qa
3 min read
Web application testing: short guide
What kind of testing suits your web project best? Check it out in the post.
Cybersecurity testing
Functional testing
Localization testing
Performance testing
Web app testing
11 May 2018,
by a1qa
3 min read
Testing point of sale: challenges and solutions
If the POS doesn’t function as expected it’s likely to cause significant troubles...
Functional testing
Web app testing
7 March 2018,
by Julia Ilyushenkova
4 min read
Parallel testing to ensure billing system migration quality
What needs to be considered and actioned as part of the planning and execution of a successful Parallel Testing for the Telecom industry.
Migration testing
Quality assurance
Web app testing
22 February 2018,
by a1qa
4 min read
Integration testing: real-life example
Websites, ERP, CRM, CMS systems... Smooth communication among them guarantees proper users’ requests handling, service delivery efficiency, and overall business success.
Quality assurance
Web app testing
29 December 2017,
by a1qa
3 min read
OWASP Top 10 2017: what’s new?
Aleksey Abramovich, Head of a1qa Security Testing department, comments on the recently published OWASP Top 10 Most Critical Web Apps Vulnerabilities.
Cybersecurity testing
Web app testing

Get in touch

Please fill in the required field.
Email address seems invalid.
Please fill in the required field.
We use cookies on our website to improve its functionality and to enhance your user experience. We also use cookies for analytics. If you continue to browse this website, we will assume you agree that we can place cookies on your device. For more details, please read our Privacy and Cookies Policy.