User Acceptance Testing

Providing the essential elements that benefit the important stage of UAT in both traditional and Agile life-cyles

Session 1: Introduction to Software Testing

Importance of Testing

Shows that there can only be confidence in an assessment of software quality if the testing itself is of good quality. Describes three uses of software testing and highlights the importance of prioritising the tests.

Principles

Explains that looking for faults is the most effective approach to testing and that in order to have justified confidence in the quality of software it is necessary to try to break it. UAT should be predominantly confidence based, but faults will be found during UAT.

Causes of Error

Describes a number of common causes of error and, although they cannot be eliminated, shows ways in which their numbers can at least be reduced.

Session 2: The need for User Acceptance Testing

Models for testing

Looks at the waterfall, V-model and Agile software development life cycle to explain the relationship between testing and development activities and describes how early test design can save time and reduce faults found in the field.

The testing process

Highlights a number of distinct activities within the testing process to show what can be done to improve effectiveness and efficiency.

Levels of testing

Describes the purposes of different levels of testing including unit, integration, system, acceptance and maintenance.

Aims and objectives of UAT

UAT is considered to be the final stage of validation. This section looks at some of the aims and objectives of UAT – together with some misconceptions.

Session 3: Key components of UAT

Planning and documenting User Acceptance Criteria

What constitutes good Acceptance Criteria? Documenting the requirements and User Acceptance criteria is one thing, keeping these up-to-date with changing requirements is another.

Setting up and maintaining the UAT environment Describes what goes into setting up and maintaining the UAT environment. The complexity of such an environment should not be under-estimated and how a poor environment can damage our testing.

Designing User Acceptance Tests

Explains what testing techniques are and the advantages of using them. This session explains the differences between white and black box techniques and how a few of the most common techniques can help in designing User Acceptance Tests in order to be more efficient and effective.

Using static test techniques for UAT

How walkthroughs, reviews and inspections can help with UAT.

Session 4: Setting up the UAT team

The tester profile

What makes a good tester? Can anyone test? A questionnaire is used to give a personality profile of different people who together can make a good test team. We are all different and we need to assess the strengths we have within our teams and how to manage the teams effectively.

Building a strong UAT team

Highlighting the key components in building a strong UAT team. A look at some of the ‘rights’ and ‘responsibilities’ of a UAT team.

Working with Development

In many organisations testing is an us-versus-them mentality. This can be particularly noticeable during UAT. Building relationships is key – and an understanding of key problems from both sides is required.

Session 5: Monitoring the UAT process

Monitoring & Control

Discusses what should be monitored in testing, and what actions can be taken when actual figures diverge from the plan. Explains the powerful technique of S-curves and discusses how to gain control of the testing process.

Assessing Risk

Risk assessment is a continuous process throughout the lifecycle but becomes more important for UAT. This session will look at assessing risk both at the start of UAT.

Documenting UAT reports

This session highlights key components which make up a good UAT report. Recognising the target audience and the relevant information required is essential.

Fault Tracking

Characteristics of a good fault or defect tracking system. Pitfalls to be aware of.

Session 6: Measuring the Value of UAT

Measuring Test Effectiveness

A simple but powerful measure of the quality of the testing process. Enables a prediction of future test effort and corrective maintenance, and a way to monitor changes to the testing process. Requires metrics about bugs found during and after User Acceptance Testing.

Action Plan

The course concludes with an opportunity to set an agenda for putting your own testing and test management improvements in place. Feedback will be given on practicalities and priorities.