..and how can you do it better?
At Original Software we’ve helped thousands of testing professionals and business users get software testing better and faster than they could do alone. Without a doubt, the greatest impact we’ve had is on user acceptance testing, or UAT.
Point is, we know a bit about UAT.
If you’re new to the software testing game (or you’re a business user who’s never taken part in UAT before), this blog will explain what UAT is. We’ll also cover the problems with the way lots of organizations are handling their UAT, and how they can do it better – so feel free to scroll ahead, UAT veterans.
A definition of UAT
User acceptance testing tests whether users will accept a piece of software. That’s right. It does exactly what it says on the tin.
Breaking that down a bit further, UAT tests two things:
- Does the software actually enable users to do their jobs?
- Is the software designed well enough that users can do their jobs well?
The first bucket is mission-critical, obviously. If something has changed which means users can’t do their jobs, the software can’t be launched. That second bucket, though, is still important. For instance, if a button has changed position, size and color in a program, then the user might still be able to do their job – but it takes them longer because they take ages finding the button. Fixing those sorts of issues (which, let’s face it, aren’t usually top of mind for a developer) can protect, or even boost, productivity and reduce the errors people make when working.
When does UAT happen?
UAT is normally the very last testing phase. The major reason for this is that it’s one of the most expensive testing phases, involving as it does a number of business users. With that in mind, it makes sense to do as much as possible to minimize the time UAT takes. Leaving it until the end gives an organization the best chance of weeding out as many bugs and issues as possible.
How long does UAT take?
Unfortunately, that’s a bit like asking how long a piece of string is. The length of time UAT will take depends on a few factors:
- How many tests need doing. If the software change in question touches multiple systems and processes, more tests will be needed to ensure that everything still works as it should. Given that, on average, 29% of applications used by an organization are integrated according to Mulesoft, it’s likely that the volume of tests that need doing in each test cycle will increase.
- The quality of your test design. There’s a lot of overlap between UAT and regression testing. Regression testing can be automated easily, and good test design takes that into account. The better you design your tests, the less time your business users spend testing.
- The availability of business users. At the risk of sounding obvious, business users have jobs to do outside of testing software. Getting them to sit down and do the testing around their other responsibilities can often be a challenge – especially if the testing process is painful.
- The speed and quality of feedback. If issues are discovered during testing, they need to be documented, passed to developers, fixed and retested. That process is often laced with opportunities for errors. Feedback can be so vague that developers can’t make sense of it, and they have to ask the business user to replicate the issue. Developers may fix an issue, but the retest gets lost in the schedule, dragging out the process. And on it goes.
- The ease of taking tests. If your testing software is difficult to use, slow, or your users haven’t been trained on it, then tests will take longer (and leave everyone more grumpy). This is possibly one of the most important factors to get right in UAT – your business users can make or break the whole operation, so it pays to make things as easy for them as possible.
- The ease of management. Most organizations have historically run UAT through emails, spreadsheets, screenshots, and hope. If the managers in charge of UAT can’t easily work out what needs to happen and when, everything will slow down.
What I can tell you is that our customers have been able to speed up test cycle times by as much as 50% – so no matter how long your UAT is currently taking you or how long you might worry it’s going to take, we can help you get it done faster.
Why is UAT important?
Other software testing phases are focused on functional testing: does the software behave as it should, does it break any other pieces of software, and so on. UAT is the only phase that focuses specifically on whether the software will actually do what the business needs it to do. It’s a subtle, but important, shift of focus. A piece of software might function perfectly well, but behave in a way that means work takes twice as long as it used to – or work can’t get done.
We’ve written lots about the consequences of that scenario. Businesses grind to a halt, customers can’t buy from you (or access their money, if you’re bank), your share price plummets, customers might even launch a lawsuit against you. Real doom-and-gloom stuff.
If you want to avoid that, you do UAT. And, if you really want to avoid that, you do UAT well.
Why is UAT difficult?
There are two main factors that are complicating UAT right now:
- Updates are coming thicker and faster than ever before. Partially due to the rise in cloud applications, and partly due to the increasing levels of integration between applications, the testing burden on IT teams has never been higher.
- The processes that most organizations use to run UAT are not equipped to deal with this increased volume. Test managers are making do with laborious and manual processes; as a result, cycles are taking longer, and the risk of errors getting through the process grows.
Those challenges lead to one of two outcomes. Either the organization delays releasing software updates to users, which eventually will start to hold the business back as users don’t have access to the latest features and functionality to do their jobs. Or, the software is released, but the risk of it containing bugs that cause serious harm to the business grows.
Don’t worry; it all gets more cheerful from here.
How do I do UAT well?
Fundamentally, the answer to this question is that you use software to manage your software testing. Rather than managing the process through emails and spreadsheets, gathering feedback through screenshots, you use an application that:
- Shows you all the tests you need to do – both manual and automated
- Monitors their progress.
- Enables business users to take tests quickly and easily, with tools that ensure consistent and meaningful feedback.
- Makes it easy to create and update automated test scripts for those elements of UAT that are just regression testing in disguise.
- Collates feedback from tests and makes it available to test managers for triage (or passes it directly to developers).
As you may have guessed, our software does all these things (and more, but we’ll focus on these for now).
Professional test management keeps UAT on track.
From a single dashboard, our UAT solution shows you all the tests you need to do, and gives you detailed information on where they’re up to. You can even see who is assigned to each test, in case you need to go chasing people down.
You can even drill down into each test to see feedback, including screenshots, giving you complete confidence that everything is where you need it to be.
We’ve also designed our solution to interface with popular dev tools like Jira, so you can pass issues to your developers quickly and effortlessly.
Testing tools your users will love
We know that keeping your business users on side during test cycles is vital. So our UAT solution includes testing tools that are at once light-touch and extremely powerful. While a user is taking a test, the software sits in the background watching everything – your user just has to get on with things like they normally would.
When something goes wrong, however, our tools step forward and help the user give quality feedback by annotating screenshots. All that information is available to test managers and developers, eliminating those tedious requests from developers to replicate the problem.
Powerful test automation.
If you find elements in your UAT that could be automated, that’s great. Our solution lets you create and manage automated tests with ease, so you can let your users focus on the elements that really need their attention.
Running UAT this way, as you can see, is far more scalable than manual processes – because everything is central, it doesn’t really matter how many tests you have on, because it’s so much quicker to find out where each test is at and take whatever steps are needed to keep things moving.
It’s also far more robust, as you can make sure no tests or feedback are forgotten. Any issues are flagged, triaged, and actioned – not lurking in your inbox somewhere.
And, as we’ve mentioned before, it’s far faster. Everything works like a well-oiled machine and hopefully keeps everyone happier while they’re doing UAT as a result.
At the end of the day, that translates to better software for your company, delivered faster, with less risk – and, actually, far cheaper. Our customers report that our software pays for itself after the first test cycle in terms of hours saved, so everything after that is icing on the cake.
Are U..AT ready?
If this blog has got you excited about the possibilities for your UAT programme, we’d love to talk and see if we can make those possibilities a reality. Just click below to get in touch – or have a browse around our website – we’ve got lots of content about UAT.