What Is Business User Acceptance Testing?


User Acceptance Testing is an important area in ensuring the readiness of products and services for use. Being able to get a thorough understanding into what business user acceptance testing really means is an important first step.

What is Business User Acceptance Testing? Business User Acceptance Testing or UAT for short, assesses whether the product or service is acceptable to use by the customer and works as they expect. This phase will involve the product or service being used, as how a typical customer would use the product or service and determining whether the customer finds the product or service acceptable.

What is UAT phase?

Generally towards the end of a project, the UAT phase is started, where tests are carried out to ensure the product or service meets the needs of the people or services intending to use them.

User Acceptance Testing phase is an important part of the testing process, as it gives a level of confidence that the product or service being delivered is of an acceptable standard for those who will be using it.

The tests are not exhaustive tests, that is, they don’t test every facet of the product or service. Instead they only test a small section of features.

Pilots

Many organisations can refer to user acceptance testing as a ‘pilot’, where a selection of users who may eventually use the product or service, use the product or service for a defined period.

So for example, a company develops a new vacuum cleaner and to find out whether the vacuum cleaner works as expected, they conduct a series of trials by using potential customers.

Several vacuum cleaners are given to a small group of cleaners, to try out for a period of two weeks.

After two weeks, the cleaners are asked whether the vacuum cleaners worked as they expected and are acceptable for them to use.

In essence the cleaners have piloted the vacuum cleaners in a real environment, using the vacuum cleaner as they would use it regularly.

They have not used every feature of the vacuum cleaner or tried to test the vacuum cleaner to fail, instead they have used it, in the manner they would use it on a day to day basis.

Other examples of UAT can include:

a customer visits a car showroom and as part of their ‘User Acceptance Testing’, they take the car for a test drive.

a mobile phone manufacturer, conducts a series of User Acceptance Tests, to see if the phone can be used to make calls, send messages and access the internet in the way a typical user would be accustomed to.

The phone manufacturer would not necessarily have to do this, but it could be seen as a prudent move, as users may not like the way the mobile phone must be used, ultimately affecting sales.

Again, it’s important to appreciate that this is not a functional test but merely a test to prove the phone is capable of being used for a series of common uses, as would be expected by a typical phone user.

What is the role of UAT Tester?

A typical UAT tester role can involve determining how a typical customer uses a product or service and ascertaining whether the product or service is being used as expected by the customer.

To determine how the customer uses the product or service involves liaising with the customer and capturing how they use the product or service.

Capturing involves documenting the steps they use, so for example, if they are a customer for a new remote control, then the UAT person’s job will be to see how the customer is expected to use the remote control and then document the steps they use.

The steps captured can then be applied by other customers to see if they too can consistently use the product or service as expected.

The steps involved do not have to be all the steps possible in using the product or service, but instead a set of steps for commonly used or agreed functionality of the product or service.

Summary

 • User Acceptance Testing’s goal is to give a level of confidence that the product or service being tested is acceptable

 • A pilot is a user acceptance test where users use a product or service for a short period of time

 • UAT roles involve assessing how a customer uses a product or service

 • User Acceptance Testing assesses whether a product or service is acceptable for use by the customer.

 • User Acceptance Testing is not a full on functional test but a test based on commonly used functionality

How is UAT testing done?

Take an everyday device like the Remote Control, when the manufacturer produces a new Remote Control model, it is probably tested by users to see if it is acceptable.

Otherwise there would be little point in manufacturing difficult to use remote controls, as the complaints and potential bad press generated by frustrated customers could be bad for sales.

Developing user acceptance tests for a remote control is quite straightforward, so let’s take a simple remote control, as shown in screenshot below.

To switch on television the Standby button is used, as circled in red in the screenshot below.

To change the channel a number is pressed, as circled in red in the screenshot below.

To change the channel upwards, press the button, as circled in red in the screenshot below.

To change the channel downwards, press the button, as circled in red in the screenshot below.

To change the volume higher, press the button, as circled in red in the below.

To change the volume lower, press the button, as circled in red in the screenshot below.

These acceptance tests could be expanded to include interactive features of most modern day televisions with digital services.

For the next example, a multi-feature remote control with DVD facilities is used.

So to play a DVD on a multi-feature remote control, would involve pressing the play button, as circled in red in the screenshot below.

To stop a DVD, press the button as circled in red in the screenshot below.

To Fast Search a DVD, press the button, as circled in red in the screenshot below.

To Reverse Search a DVD, press the button as circled in red in the screenshot below.

Summary

 • User Acceptance tests are just a series of steps of how a product or service is used

UAT Test Scripts

UAT Test scripts are required to make sure an effective testing approach is undertaken, where tests are repeatable, that is, the testing done by one person, is the same as that done by many people. If testing is not repeatable then the results produced are not reliable.

An effective method of capturing the results from the tests is also required, so tests can be assessed to see if they have been successful or not.

There are no hard and set rules for how test scripts are developed, with different organisations using different in-house standards, to develop UAT scripts.

Simple UAT Test Scripts

Simple UAT test scripts involve just a series of instructions, so a simple test script for user acceptance testing a television remote control could be,

1. Press the ‘Standby’ button;

2. Press the ‘Channel’ button 5 times;

3. Press the ‘Volume +’ button 4 times.

These are just a simple set of instructions and it’s these instructions which form the steps of the User Acceptance Tests.

After each step or series of steps, the expected result should be listed. That is, after step 1, above has been carried out, for example, what is the expected result?

Well, it’s for the television to switch on, so if this is what does happen, then the test can be construed as being successful. If the television fails to power on, then the test can be construed as failed.

The results from the tests can be recorded, using a simple form or even a list, as shown below.

1. Passed;

2. Passed;

3. Failed.

Advanced UAT Test Scripts

Many organisations use a slightly more advanced approach to test scripting for user acceptance testing. Whereby, they develop test cases, which include the test tasks, that is, the steps to take, the expected results and whether the test has passed or failed.

In some cases, the test tasks can be picture, showing the product or service under test along with what the step involved is, as for example, as done previously using the remote control, where the buttons to be pressed were circled in red, as shown in the screenshot below.

This approach makes it easier for the user acceptance tester, as they have a visual instruction to what steps to take and in many cases, the user acceptance tester may not be an expert user of the product or service being tested, so any assistance, visually can be hugely beneficial, with the likelihood of the accompanying testing being far more accurate and quicker.

UAT Test Case Development

It’s important in any organisation to document how things are done, that is, the processes, so these can be standardised and used uniformly across the organisation.

Likewise, with any testing including Acceptance Testing, a level of documentation is required to ensure the value of acceptance testing is realised.

By developing test cases, the actual tests and the sequence in which they are run can be captured. Once tests are captured in test cases, a structured way of testing can be conducted, where results can be captured consistently across all tests.

Every test case requires a name, along with a series of tasks which make up that case. The test case must also include details of whether the test to be run from it, has passed or failed the test case.

Test case development is not rocket science, it is a simple, easy and effective way to conduct acceptance testing.

Calculator User Acceptance Test Script

One of the simplest applications to use, is the Calculator on Microsoft’s Windows operating system. Other operating systems such as those by Apple, Linux and so on, also have simple, easy to use calculator applications, which can be used for this introduction into developing a user acceptance test.

First let’s look at what a calculator can do. Some of the things a calculator can do are listed below:

 • Add two numbers together;

 • Subtract a number from another number;

 • Divide a number by another number;

 • Multiply two numbers together;

 • Store a number in memory;

 • Clear the memory;

 • Partially clear a calculation;

 • Cancel a calculation;

 • Determine the square root of a number;

 • Determine a percentage of a number.

There are of course many more features available, however in a UAT, we will only test a subset of these features, typically focussing on the common ones.

So let’s focus on a few tests which can be used for User Acceptance Testing.

(i) Add two numbers together.

A UAT test case to add two numbers together would be,

Whilst there are many different ways of adding numbers, there’s no need for a User Acceptance Test to come up with all or many combinations such as 3+4+1+6=14

(ii) Subtract a number from another number.

A UAT test case to a number from another number would be,

(iii) Divide a number by another number.

A UAT test case to divide a number by another number would be,

(iv) Multiply two numbers together.

A UAT test case to multiply two numbers together would be,

(v) Store a number in memory.

A UAT test case to store a number in memory would be,

(vi) Clear the memory.

A UAT test case to clear the memory would be,

(vii) Partially clear a calculation.

A UAT test case to partially clear a calculation would be,

(viii) Cancel a calculation.

A UAT test case to cancel a calculation would be,

(ix) Determine the square root of a number.

A UAT test case to determine the square root of a number would be,

(x) Determine the percentage of a number.

A UAT test case to determine the percentage of a number would be,

Calculator User Acceptance Test Cases

Now these tests can be documented into test cases, which can also be caused script, as it’s a script of instructions.

Don’t get confused with the word ‘scripting’ in the UAT context, as it does not necessarily mean writing technically orientated software.

On the following pages, the Calculator UAT tests have been documented as Test Cases. The steps involved in each test, are known as ‘Actions’.

(i) Add two numbers together.

A UAT test case to add two numbers together would be,

(ii) Subtract a number from another number.

A UAT test case to subtract a number from another number would be,

(iii) Divide a number by another number.

A simple UAT test to divide a number by another number would be,

(iv) Multiply two numbers together.

A UAT test case to multiply two numbers together would be,

(v) Store a number in memory.

A UAT test case to store a number in memory would be,

(vi) Clear the memory.

A UAT test case to clear the memory would be,

(vii) Partially clear a calculation.

A UAT test case to partially clear a calculation would be,

(viii) Cancel a calculation.

A UAT test case to cancel a calculation would be,

(ix) Determine the square root of a number.

(x) Determine a percentage of a number.

A UAT test case to determine the percentage of a number would be,

Wordpad User Acceptance Test Script

Now let’s move to a slightly more complex application called Microsoft WordPad.

This application WordPad comes with the Windows operating system. In older Windows versions this simple word processor is called Windows Write.

(i) Start WordPad.

Click the ‘Start’ button and select the ‘All Programs’ option, as shown in the screenshot below.

Click the ‘Accessories’ folder, as shown in the screenshot below.

Click the ‘WordPad’ option, as shown in the screenshot below.

The WordPad application will now open, as shown in the screenshot below.

(ii) Select new paragraph.

Right click anywhere on the blank WordPad document and select the ‘Paragraph’ option, as shown in the screenshot below.

(iii) Define paragraph details.

Enter the left and right paragraph indentation, click the ‘OK’ button, as shown in the screenshot below.

(iv) Type text.

Type text into the WordPad document, as shown in the screenshot below.

(v) Highlight paragraph.

From the top of the first paragraph, hold the left mouse button and drag the cursor to the end of the second paragraph, as shown in the screenshot below.

(vi) Select paragraph font style.

Select the ‘Courier New’ font, as shown in the screenshot below.

(vii) Highlight single word.

Position the cursor at the start of the word and whilst holding down the left mouse button, move the cursor to the end of the word, as shown in in the screenshot below.

(viii) Change font style for single word.

Click the ‘B’ option for bold text, as shown in the screenshot below.

(ix) Highlight multiple words.

Position the cursor at the start of the word and whilst holding down the left mouse button, scroll to the end of the words, as shown in the screenshot below.

(x) Change font style for multiple words.

Click the ‘I’ option for italic text, as shown in the screenshot below.

(xi) Save document.

Click the icon to save the document, as shown in the screenshot below.

Wordpad User Acceptance Test Cases

(i) Start WordPad.

A UAT test case to Start WordPad would be,

(ii) Select new paragraph.

A UAT test case to select new paragraph would be,

(iii) Define paragraph details.

A UAT test case to define paragraph details would be,

(iv) Type text.

A UAT test case to type text would be,

(v) Highlight paragraph.

A UAT test case to highlight paragraph would be,

(vi) Select paragraph font style.

A UAT test case to select font would be,

(vii) Highlight single word.

A UAT test case to highlight word would be,

(viii) Change font style for a single word.

A UAT test case to change font style for a single word would be,

(ix) Highlight multiple words.

A UAT test case to highlight multiple words would be,

(x) Change font style for multiple words.

A UAT test case to change font style would be,

(xi) Save document.

A UAT test case to save document would be,

Summary

 • User Acceptance Tests can be a series of pictures, highlighting the steps involved

 • Test cases can be developed, highlighting test dates, steps, expected results, actual results and whether the test passed or failed

Business Applications

Business Applications also known as Line of Business or LOB applications for short, are terms used to describe applications used in business.

Typically businesses develop specific applications or highly customise off the shelf applications for their own use.

Examples can include a customer relationship management business application which keeps details of customers and interactions with these customers.

How about a specialised investment bank trading application for their traders to use?

There are many examples of in house developed applications that is, the business have their own development facilities and coders to create the software, or use a third party for developing software according to their requirements or maybe it’s an application which has already been developed and is being customised by a software supplier or again using their own development people.

Application complexity can be immense but for user acceptance testing, understanding how commonly used functionality is used, can make acceptance testing these complicated applications much easier.

Business Application User Acceptance Testing

In the case study below, a train company has developed its own application to work out ticket costs for train journeys and hopes to deploy this application to their regional ticket offices in the Birmingham area.

Case Study: Second City Railways Birmingham or SCRB for short, run the major ticket offices in the city of Birmingham. They have four ticket offices in the city and have developed a ticket pricing application, which they believe is quick and easy to use.

The testers job is to determine the User Acceptance Tests which can give confidence to the board of SCRB that the application is capable of delivering what is expected of it and prove to the ticket clerks who will be using it, that the application is quick and easy to use, ultimately providing a better customer service all round.

The tester has to develop UAT scripts of how the application is going to be used, this is generally done by working with a user, who knows what the intended users need to do. By documenting how this user uses the application allows us to develop our UAT script. Once an agreed script has been developed, the intended users can UAT the application.

This may not always be the case, as prior use case modelling may have been done by business analysts. This would make the UAT persons job even easier, as they could take a few of the use cases (steps involved in using the application) determined as common tasks and transpose them into their own UAT scripts.

For this case study, we will assume, we have to work with a user to script the common tasks done using this application.

(i) Select departing railway station.

To book train tickets, we first need to select the railway station the customer will take the train from. By clicking the drop down box next to ‘From’, a selection of station names will be displayed. The SCRB application is shown in the screenshot below.

We will select Birmingham Moor Street as the departure station, from a choice of Birmingham New Street, Birmingham Snow Hill and Birmingham Moor Street, as shown in the screenshot below.

(ii) Select arrival railway station.

Now we the need to select the arrival station and this will depend on the choice of departure station selected, as different destination stations can serve different stations. We will select Solihull as the arrival station, as shown in the screenshot below.

(iii) Select Departure time.

Now we need to select a departure time, from the drop down box next to ‘Leave’, as shown in in the screenshot below.

(iv) Select Return time.

Now we need to select whether it is a return journey (single journey selected by default) by adding a return time. If a return time is not selected, the application will assume the journey is a single journey, as shown in the screenshot below.

(v) Select ticket Class.

Now we need to select the type of ticket, whether it is standard class or first class. The default is standard class, so if no selection is made the application assumes a standard class ticket has been selected, as shown in the screenshot below.

(vi) Select payment type.

The payment type will be selected from the drop down box next to ‘Payment’, with the ‘Cash’ payment type selected, as shown in the screenshot below.

(vii) Buy ticket.

The application will determine the ticket price and display it in the text field ‘Price (£)’, as shown in the screenshot below.

Click the ‘Buy Ticket’ button to buy the ticket and the ticket will be printed, as shown in the screenshot below.

Now repeating the ticket buying process with a season ticket purchase is shown in the steps on below and on the following pages.

(viii) Select departing railway station.

Birmingham Moor Street will be selected as the departure station, as shown in the screenshot below.

(ix) Select arrival railway station.

Solihull will be selected as the arrival station, as shown in the screenshot below.

(x) Select Period.

One month will be selected for the period the season ticket is valid for, as shown in the screenshot below.

(xi) Select Start date.

‘Today’ will be selected as the start date for the season ticket, as shown in the screenshot below.

(xii) Enter Travelcard number.

The customer’s travelcard number will be entered, as shown in the screenshot below.

(xiii) Select Payment type.

Cash will be selected as the payment type for the customer, as shown in the screenshot below.

The price of the season ticket will be displayed in the text box labelled ‘Price(£)’, as shown in the screenshot below.

Click the ‘Buy Ticket’ button and the season ticket will be printed, as shown in the screenshot below.

Business Application User Acceptance Test Script

Now the conversion of the what was done with SCRB application into a series of test cases, to document the tests and the results for user acceptance testing purposes can be done.

A series of test cases will be created so ‘Test Case #1’, for example, will be to select the departure railway station including the steps involved which will then be repeated for the rest of the SCRB application use.

(i) Select departing railway station.

A UAT test case to select the departing railway station would be,

(ii) Select arrival railway station.

A UAT test case to select arrival railway station would be,

(iii) Select Departure time.

A UAT test case to select departure time would be,

(iv) Select Return time.

A UAT test case to select return time would be,

(v) Select Ticket type.

A UAT test case to select ticket type would be,

(vi) Select Payment Type.

A UAT test case to select payment type would be,

(vii) Select Buy ticket.

A UAT test case to select ticket type would be,

The second part of the SCRB application involved season tickets and the test cases for selling season tickets is listed in the next few pages.

(i) Select departing railway station.

A UAT test case to select the departing railway station would be,

(ii) Select arrival railway station.

A UAT test case to select arrival railway station would be,

(iii) Select Period.

A UAT test case to select period for season ticket would be,

(iv) Select Start date.

A UAT test case to select start date would be,

(v) Enter Travel card number.

A UAT test case to Enter Travel card number would be,

(vi) Select Payment Type.

A UAT test case to select payment type would be,

(vii) Select Buy ticket.

A UAT test case to select ticket type would be,

Summary

 • The term Business Applications and also Line of Business (LOB) applications are used to describe applications used in business

 • Specifically developed applications and highly customised off the shelf applications generally require user acceptance testing to ensure they are acceptable for use

Related Questions

What is difference between SIT and UAT testing? A Systems Integration Test (SIT) is a comprehensive test of how a systems services work effectively including how they work with other services on other systems. UAT testing would not look at the nitty gritty interactions such as if scheduled batch jobs running late each night work but would look at the how the system is used.

What topics should User Acceptance Testing cover? User Acceptance Testing needs to cover the scope of testing, that is what’s been tested. The testing approach, that is how the testing is going to be done, is it going to be manual or automated for example. What user acceptance tests are to be done, how will these tests be created, the criteria for passing/failing, how the test results will be reported and how will determination of a successful user acceptance test be decided?

Bal Kang

Bal Kang is a technology expert based in the UK, with experience across a number of technology areas from phones, tablets, computers to gaming.

Recent Posts