The Definitive Guide To User Acceptance Testing
The Definitive Guide To User Acceptance Testing
Page. 01
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Page. 02
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Page. 03
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Cha pt er
What is UAT And Why
01 Is It So Important?
Page. 04
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Defining Of UAT
You wouldn’t trust the emission and fuel efficiency figures generated by
laboratory tests of a car, right?
These figures will differ widely for the same make and model depending on
variables like the driving style of the individual driver, the exact configuration
of aftermarket consumer comfort systems, driving conditions (rush hour
traffic vs. rural roads), degree of maintenance or weather conditions.
Regardless of how many functional tests they pass you will never know how
the system behaves unless it’s tested in real world conditions by actual users.
These tests are called User Acceptance Tests, and the process is called UAT.
Unlike functional testing, UAT takes both software performance and human
behavior into account.
Page. 05
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Page. 06
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Uncovers operational stresses that get Requires some upfront investment in terms
overlooked during the functional tests of setting up test environments and training
of the application. users for the tests
Saves the cost of remediating bugs with Needs well trained users and specific
potential to wreak havoc on the system expertise in design, planning, execution,
by a factor of 15x-100x and reporting for user acceptance tests
Shields the organisation from potential PR Unless well planned, could divert valuable time
nightmares and legal liabilities arising from of testers who would be otherwise engaged in
unpredictable software revenue generating activities
Helps users assess the capabilities of the system Might result in some short term delays in
in terms of compatibilities with existing business system rollout for fixing critical bugs uncovered
processes during the process
The pros of UAT outweigh the cons. That said, you will have to take
an informed decision on running UATs depending on whether your
organisation can support the process at a specific point of time.
Like most things valuable UAT requires upfront investment. But the gains
from a well run UAT program can deliver exponential returns on that
investment, especially when you consider the crippling reputation and
business costs associated with unreliable systems.
Page. 07
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Page. 08
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Set Up Plan
Implement Tests
Page. 09
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Report/Evaluate
Decision Making
Follow Up
Page. 10
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Because of the manual nature, UAT involves multiple stakeholders both within and outside
the organisation.
1. The Sponsor (i.e. the person or group who commissions the system or defines the
business goals).
Depending on the size of the company, the sponsor will be either the owner who signs the
cheques, or an executive who is accountable for outcomes of the project.
The sponsor will focus on identifying potential risks and barriers to success so that these can
be eliminated and a positive ROI realised in terms of revenue and profit. The sponsor will also
set the success criteria and and define test scenarios at a high level.
Based on the high level test scenarios outlined by the sponsor the business managers will
design tests which mimic the interactions of actual users over a realistic time period.
The UAT test results will also serve as a benchmark for performance of the new system.
Apart from business managers, other individuals in management roles might also be
involved, like quality managers (responsible for meeting quality standards of the new system)
and test managers (responsible for the planning and execution of the actual tests).
Page. 11
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
3. The End Users who will actually operate the system. Depending on the size of the
organisation or the context of use, there will be different types of end users.
For instance, consider the inventory management system at Amazon. That system will have
multiple users inside Amazon, and users at each of these suppliers who will need access to
the system to manage the shipments and fulfill the orders.
Because these two groups will have different expectations of the system, comprehensive
UAT would happen only if the users responsible for testing are drawn from various possible
user types. The end users are primarily responsible for designing the test cases and running
the tests.
While designing these tests the end users should also focus on identifying boundary
conditions using realistic data to test the resilience of the system.
4. The Developers responsible for supporting the entire testing process. They are
required for familiarising the actual testers with the features of the system and evaluating
data generated from the tests.
The outcomes of the entire UAT exercise will depend on how fast can the developers fix the
issues uncovered through these tests. Without the active involvement of developers, the
entire exercise is meaningless.
They are also responsible for setting up the test environment and keeping the system stable
and usable.
Summary
This chapter has given you a high level introduction into the basics of UAT. We
talked about the importance of UAT, the pros and cons and the workflow of a
typical usability test from initiation to completion.
More importantly, we talked about the people and the processes involved in the
exercise. In the next chapter we will talk about the preparation needed for the
UAT process to deliver actionable results.
Page. 12
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Page. 13
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Page. 14
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
The table below shows the number of incidents associated with transportation software.
These failures resulted in $455,451,946 (AUD) worth of damage to the economy, business
and customers.
AUTOMOTIVE
SPACE EXPLORATION
AVIATION
TAXI SERVICES
PUBLIC TRANSPORT
MARITIME
PARKING
# OF SOFTWARE FAILURES
The government sector has seen the maximum number of fails (for example: the Australian
Census blunder or the US Healthcare.gov debacle) this year, with far reaching impact for
millions of people who depend on public sector services.
Page. 15
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
ELECTORAL
WAR CYBER ATTACKS
ENERGY
SACE EXPLORATION
TAXES
EMERGENCIES
HEALTHCARE
PARKING
SECURITY
DEFENCE
BANKING
HUMAN RESOURCES
PERMIT
TELECOMMUNICATIONS
TRANSPORTATION
CIVIL WORKS
EDUCATION
INTERNET
PUBLIC TRANSPORT
# OF SOFTWARE FAILURES
On the whole, the cost of software failure has risen from 2015 to 2016 in terms of people
affected, assets impacted, and companies afflicted.
The seeds of software failure are sown early in a project, when business requirements are
not managed properly (CIO magazine found the numbers of failed projects to be as high as
71%) or when the end user doesn’t have a say in the design and execution.
Page. 16
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
So if you want to set up your project for success you will have
to focus on getting your requirements right. In the context
of UAT, the sponsor is in charge of setting the business
requirements which will then be made into test cases.
Page. 17
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
When you get your UAC right you will be laser focused on
your testing processes and not embark on a wild goose
chase.
Page. 18
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Acceptance Criteria 1
Steps:
Steps
Page. 19
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Steps
Page. 20
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
If you were to use a decision tree, this is what it would look like:
Acceptance Criteria
Scope Of UAT
UAT isn’t about testing whether the radio buttons on a particular form function properly.
These tests fall in the entry criteria of UAT, which also include:
Summary
This chapter walked you through the preparatory stages of UAT,
including collecting of business requirements, acceptance criteria of
the tests and what’s included (and not included) within UAT.
The next chapter will talk about how to set up the actual user
acceptance tests.
Page. 21
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Page. 22
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
If you have read through the previous chapters, you will have
an idea of the preparatory steps needed before you jump into
the actual process of testing.
Page. 23
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
If you want to complete UAT as efficiently as possible you will need to implement two key
processes first: the FTP (Fundamental Test Process), which lays out the right sequence
of activities done during testing, and the Test Development Process, which ensures that
you design the right tests to get a clear idea about whether the system meets business
requirements and acceptance criteria.
Page. 24
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
1. Test condition
For example, if you want to test the secure login functionality of a system you can create
multiple test conditions, which all need to be true.
2. Test case
A test case is a set of inputs, preconditions or expected results developed for a test condition.
Some of the test cases for our secure sign in process could be:
Valid password
Outputs None
N.B. The preconditions and postconditions are needed for sequencing the tests so that they
make sense.
Page. 25
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
To execute the test cases which are generic templates with real data you will need test
scripts.
Every test case will have multiple test scripts. Here’s the test script for the Test case #1 from
the above example:
Preconditions User not logged into the system. Test account set up successfully.
Notes
Page. 26
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
1. Business requirements
2. Business processes
3. User expectations.
Page. 27
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
1. Tab order.
2. Required fields.
3. Data-type errors.
4. Save and delete confirmations.
5. Shortcut functionality.
Keep in mind that the system might meet every technical specification and still fail the UAT
process if it doesn’t comply with existing business processes or is hard to use.
Summary
Traditionally, UAT is done under time pressure as it’s often the last
step prior to release. To maximise the ROI and uncover the most
critical issues you test those requirements which represent the
highest risk to the system if they fail, and then work your way down.
This chapter covered the steps you have to follow to ensure that
your UAT is complete, introduced an approach to creating test cases
and laid out a framework to build an effective set of tests for UAT.
The next chapter will be about how to build a crack UAT team to
implement the tests.
Page. 28
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Chapt er
Building Your
04 UAT Team
Page. 29
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Stakeholders In UAT
Page. 30
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
The UAT team’s job is to plan and execute testing and provide
the stakeholders with enough data so that they can decide
whether or not to accept the system in the current state.
The UAT coordinator will create a plan for UAT and organise/
plan resources for testing.
They will ensure that the test environment replicates the real
world system as closely as possible.
They will also manage and track test incidents and, along with
the business analyst, recommend to what extent the system
requires changes or if business processes can be adapted.
Page. 31
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
UA Testers (In-house/
Outsourced)
Page. 32
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Depending on the size and complexity of the UAT project, other desired skills are:
Page. 33
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Training is essential for a team to run the UAT process efficiently so that the investment in
setting up the UAT environment isn’t wasted.
In many cases UAT training is when the team will experience the new system and meet the
other stakeholders.
You should consider these questions when you are designing a UAT training program:
Is the timing such that the participants can immediately implement the learnings?
Does the training teach the skills necessary for a single user to be successful?
Is there an opportunity to learn from other users or roles?
Is the system stable enough to support training?
Depending on the different roles in the team the UAT training content should at least cover
the following topics, apart from giving trainees a basic introduction to UAT:
Testers should be thoroughly trained on the key steps involved in executing a test script,
evaluating and logging of results, and reporting test incidents.
Summary
While UAT execution starts towards the end of the development
process, preparation starts much earlier. It’s never too late to start
building a UAT team and preparing the groundwork for successful
testing in terms of training. This chapter gives you some ideas on
how to move ahead with this process.
The next chapter will tell you how to actually plan and implement the
tests.
Page. 34
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Chapt er
How To Plan And
05 Execute The Tests
Page. 35
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Page. 36
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
These questions will help all stakeholders think about the tradeoffs and the compromises to
be made before the system is deemed release-worthy.
Your product roadmap will change based on the core acceptance criteria. If you’re focused on
the delivery date you might have to release the product by fixing critical bugs while pushing
certain features to be completed at a later date.
Conversely if you decide that the acceptance criteria is zero defects, you will have to push the
release date back.
Page. 37
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Page. 38
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Each test condition represents one component of a feature that can be assessed as either
true or false, and the feature can be considered as correctly implemented if all the conditions
are true.
Creating the test conditions is a crucial stage in the test design process, especially when it
comes to complex system functionality.
In such scenarios it’s helpful to create a test condition matrix which might look like this:
You can populate this table by cross referencing the business requirements and working
with your team to come up with different conditions. This matrix can be extended both
horizontally and vertically based on the complexity of the system, and makes it easy for all
stakeholders to understand the test conditions and sign off on the process.
You also need to run risk analysis to prioritise the test conditions in the event that there are
too many of them.
Page. 39
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
You will now need to schedule all the tests to achieve the test strategy and assess the system
against the acceptance criteria while maintaining control over the testing process.
Your test schedule will depend on your UAT strategy. For a risk based strategy, for example,
the tests with high level risks will be run first.
Test schedules will have to take into account a number of factors, like:
Priority of tests;
Availability of test environment;
Availability of testers
Page. 40
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
The UAT testing lifecycle can be depicted using this block diagram.
UAT Planning
Complete
Is The No
Environment Reschedule
Ready
Yes
Test
Test Failed Begin Testing Incomplete
Resolve
Bug Test Passed
Review
Begin
Regression
Testing
Page. 41
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
The test schedule can help you save time by streamlining the tests based on whether the
preconditions and postconditions of different tests match up with one another or on the
basis of how the different modules deal with data input and error handling.
Sequence # v
Requirement #
Module
Test Case #
Input
Expected Output
Test Script ID
Tester
Process
Date Of Completion
Page. 42
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
You will need to assign activities from the detailed test schedule to individual testers and
ensure that they have the necessary test scripts and test environments in place. Testers then
set up and run their tests according to the test script.
Tests may be allocated on a ‘first come, first served’ basis where any available tester takes on
the next scheduled test script, or test scripts may be annotated for execution by testers from
a particular speciality.
All testing activity is entered into the test log which starts out as the copy of the test schedule.
The test log will have to be continuously updated, and will have the records of the following:
Page. 43
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Issue #
Test-script ID
Tester
Step #
Date Raised
Module Tested
Defect Desccription
Repeated
In-scope (Y/N)
Assigned To
In the event that a test doesn’t give the expected output you will need to raise an incident
report. The format of the report can be something like this:
Incident Date/Time
Repeatable? : Yes
Page. 44
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
The test log can look like this:
The test schedule and the test logs will tell show you the
rate of progress of the UAT.
Date:
Overview: (Outline of tests performed since last report)
Summary Assessment:
Tests Planned
Tests Run
Tests Passed
Tests failed
Tests blocked
Incidents reported
Incidents resolved
Progress To Date
Page. 45
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
% tests complete
Schedule Slippage
Schedule status
Tests outstanding
Blocked tests
Regression tests outstanding
% tests complete
%requirements coverage achieved
Defects outstanding
Critical
Serious
Routine
Recommendations
Signature Date
Summary
In this chapter we took a look at how to plan and execute the UAT
testing process. You now know how to set testing goals, determine
acceptance criteria and entry criteria, manage the test controls,
identify test conditions and lay out the process behind creating a test
schedule.
And finally, after you have completed this chapter you will find out
how to report your results.
This chapter also has a number of templates that you can download
for identifying test conditions, filling out a test schedule, completing
a test log, and summarising the results in a status report.
The next chapter will deal with evaluation of test results.
Page. 46
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Chapt er
Evaluating The
06 Test Results
Page. 47
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Page. 48
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Page. 49
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Introduction
Purpose of the document
Identification of the system under test
Scope of UAT
Overview
Outline of test processes, testing activities,
environment, time taken, participants etc.
Acceptance criteria
Identify individual criteria and acceptance levels.
Constraints
Any constraints on testing related to environments,
availability of resources etc.
Overall Assessment
Overall assessment of all acceptance criteria against
required levels.
Recommendations
Recommendations related to release or risk reduction.
Appendices
Detailed Test Results
Test Incident Reports
Page. 50
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Summary
This chapter has walked you through a range of possible scenarios
at the end of the UAT process, and given you a framework for
determining when to stop testing and how to evaluate the test
results by working with acceptance criteria. It also gives you
recommendations for dealing with risks.
The UAT process is now officially over. But your job isn’t done yet.
Page. 51
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Cha pt er
After UAT,
07 Now What?
Page. 52
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Support Summary:
Technical Support
Business Support (help)
Recommendations:
End User Training
User Guides
Help System and FAQs
Technical Support Issues
Implementation Planning
Risk Assessment
Business Evaluation
Signature Date
Page. 53
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Depending on the size and geographical spread of the organisation, there might be a range
of possible strategies, from putting the system on every desktop at once) to a series of pilot
releases.
If there are high defect rates in UAT you might want to go with a smaller initial pilot
In case of user interface problems, you can launch the pilot project with support until
kinks are ironed out.
You can test workarounds, help guides etc. in an initial pilot.
If there are fewer UAT problems than anticipated you can roll out the system ahead
of deadline.
Page. 54
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Depending on feedback from UAT, the required levels of technical support and business
support (help desk), can be estimated during implementation of the system.
Post implementation, some defects will emerge from the increased level of usage. Some of
these defects will need to be corrected urgently, while others will be placed on the prioritised
list of changes to be made over time.
In the early post-implementation period defect correction might require a new release of the
system at a smaller scale. You might have to run a mini-UAT as part of your risk reduction
strategy.
You can start measuring desired business benefits when the system is completely rolled out
across the organisation by analysing the data to identify expected changes.
This process will take some time as you will need to account for the common factors present
before and after the UAT exercise.
Because the UAT team has extensive experience with the new system they can help measure
the business benefits by running the experimental data through the system before the
changes are released and then running the same data after the system is rolled out.
Summary
This chapter will help you figure out how to roll out a tested system
into service, and how to fix the flaws which the UAT process will
throw up.
It also gives you ideas on what you can do to maximise the insights
you have gained from the UAT process.
Page. 55
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Cha pt er
Converting
Manual Tests To
08 Automated Tests
Page. 56
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Cost and time factors are one of the major reasons why
organisations don’t test as extensively as they should.
Page. 57
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
More Time
End
to End
Tests
Integration
Tests
Unit Tests
Higher ROI
Once your expectations are set, here’s how you can calculate the ROI of automated testing
If a tester on average costs $50 an hour and if a senior tester who creates automated tests
costs $75 an hour, that would cost about $400 and $600 respectively per day per tester.
Now, consider a team of 10 testers, five senior-level and five entry-level, with a monthly
loaded cost of $105,000 (for 168 hours per month). You would get a total of 1,350 hours
costing $78.00/ hour (this is assuming each tester realistically works 135 hours per month
due to breaks, training days, vacations, etc.). If you automate testing, the cost of labor
would remain the same, but for the effort of 3 test automation engineers, you would
achieve 16 hours a day of testing and will run 5x more tests per hour.
This results in the equivalent of 5,040 hours per month of manual testing created by the
three test automation engineers. Then, consider the rest of the team doing manual testing
(7 people x 135 hours/month). That amounts to 945 hours more, ending with a combined
total of 5,985 hours of testing at $17.54/hour ($105,000 divided by 5,985 hours).”
Page. 58
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
But most people don’t achieve these returns and end up mothballing their automated testing
project.
That’s because they’re approaching test automation the wrong way. They assume that setting
up an expensive test environment and writing a bunch of test scripts is all there is to the
process.
That’s like Elon Musk boring tunnels under every road in Los Angeles to solve its apocalyptic
traffic problem.
Instead, he would start by surveying traffic data to find out the busiest routes, and figure out
how to connect these areas without disrupting existing utility lines or risking the foundations
of heritage buildings.
Page. 59
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Before automation, start with manual tests so that you can understand the capabilities and
limitations of the system. After you have run through the first iteration of manual tests you
will get a feel for different test cases and the workflows associated with these tests.
If you can convert the workflow to a given-when-then or arrange-act-assert you can convert
these into test scripts, load them up in your test tool, and press enter.
Here are a few points to keep in mind as you automate your tests:
Understand what feature you are trying to test. As noted in the previous section,
automated testing isn’t going to work in the context of, say, UX.
Document how you can automate certain tests, in plain English or in pseudocode.
Share that document with your team and other stakeholders to get their input.
If an automated test fails don’t take it at face value. It might be a false positive because
you might not have understood the requirements well.
Instead of tests which just tell you whether a system is working or not, write tests which
can isolate a specific issue.
Because writing tests is writing software, keep an eye on the costs. You will have to
allocate resources to maintaining the test environment.
Manual testing should not be put off till the very end, but should be regularly run during
the development process.
Summary
Incorporating automation to your testing process can result in more
reliable systems.
Page. 60
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Watch on as professional testers race against the clock to dramatically improve your app or
website. Six hours is all it takes to conduct deep functional, usability, user experience, or user
acceptance testing for key user journeys.
During your Bugwolf challenge, you’ll receive severity-ranked video reports that make it quick
and easy to replicate and resolve bugs.
It’s not uncommon for Bugwolf to uncover one hundred or more bugs in a single six hour
challenge. Our process and experience helps you to condense test cycles from weeks into
days, achieve a +500% return on investment, and significantly reduce costs.
“Every digital leader has a responsibility to ensure their organisation doesn’t become the next
software testing disaster story. We still encourage people to optimise their in-house teams,
however, it’s time to go a few steps further. That’s where Bugwolf comes in.” Ash Conway,
CEO & Founder of Bugwolf.
Page. 61
Bugwolf | The Definitive Guide To User Acceptance Testing (UAT)
Bugwolf Is The
World’s Only Gamified
UAT Solution
We Help Accelerate Test Cycles, Bullet-Proof
Software Releases And Prevent Catastrophic
Software Event