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.
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.
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.
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.
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.