|
 |
User Acceptance Testing
Background
User acceptance testing is normally the final stage of testing performed
on a system. It is usually planned to be a formality - a final confidence
building step for the users. It can however, become an exercise fraught
with problems.
The main problems can be summarised as follows:
- In a
new development, it is common for users to find serious faults in
software, which is assumed to have been t tested and be working well
- whether the system was written internally or by a third party.
- When
testing a package solution, the acceptance test may be the first and
last chance for uses to ensure the system meets their requirements
Mismatches between the package and the business may be expensive or
impossible to correct in time.
- There
is little point in handing over a system for testing to users who
have little time or adequate experience of testing. Without support,
users will not be able to test the system adequately, and a poor or
unusable system may be accepted.
Are Users
the best acceptance testers?
There are distinct advantages in getting users to acceptance test the
systems they are expected to use:
- They
are independent from the developers of the system and so are more
objective
- They
understand the business requirements, so can prepare tests and test
data, which are realistic
- They
define the context in which the system will be used so can better
assess its fitness for purpose
- They
have a vested interest in ensuring that the system is of high quality
and so are motivated to perform rigorous tests.
Users are
best placed to ensure that the testing is rigorous and covers the most
important areas. However, users are rarely expert in test specification
and preparation and yam by unable to execute comprehensive tests effectively
without support.
Learning
Objectives:
Upon completion of this course you will be able to:
- Understand
the relationship between testing and development and how important
acceptance testing is
- Define
the fundamental principles of testing and overall test process.
- Plan,
prepare and execute acceptance tests.
- Effectively
implement the essential disciplines of test management including prioritisation,
estimation and control of the testing.
Course Topics
|
Introduction
Agenda
Objectives
Workplan
Testing V's Development
System Development Lifecycle
Testing versus Development
Why do errors occur?
Testing and Errors
Cost of errors
Layered and Staged Testing
V-model of testing
Testing Principles
Purpose of Testing
Formal versus informal testing
Testing as a controlled experiment
Looking for Errors
Independence
Positive Testing
Negative Testing
Testing against a baseline
Expected results
Where to begin
Re-Testing
Regression Testing
Test Process Overview
Why a test process?
Scoping the test
Specifying the test
Preparing the test
Executing the test
Managing the test
Scoping the Test
Complex, Critical and Error Prone
Requirements-based testing
Business process-based testing
Design-based testing
|
Specifying
the test
Test cases and conditions
Techniques for selecting test cases
Equivalence partitions
Boundary values
Error-guessing
Preparing the Test
Business scenarios
Mapping scenarios to conditions
Test scripting
Expected results
Inputs and outputs
Test data
Test scheduling
Most important tests first
Executing the Test
Working as a team
Testing to the plan
Recording results
When you find an error...
Early frustrations Keeping going
Managing the Test
Estimation
Test environment
Support
Incident management
Prioritisation and severity
Reporting results
Releasing errors into production
Stopping testing
|
|
|