User Acceptance Testing
Need
an information management user acceptance testing checklist and want
practical suggestions to ensure rapid project delivery?
What is quality assurance
testing?
The
objectives of the quality assurance testing phase is to ensure that all
software components meet requirements and are ready to transition to
production.
What is a test plan?
A plan is a communications tool, which clearly sets testing expectations for all team members. The plan
should identify:
- Test
strategy;
- Test
plan;
- Test
data
strategy;
- Test
deliverables;
- Resource
plan;
- Training
considerations; and
- Test
schedule.
What is user acceptance
testing (UAT)?
The objective of user acceptance testing is to certify that a release
meets user expectations and is ready for production.
User acceptance test checklist
Scope
UAT
testing should focus on testing a set of requirements (that is expected
to move to production as a Production Release) to ensure that the
release meets user expectations.
UAT testing should certify that the
requirements meet user expectations.
Entrance Criteria
The following entrance criteria should be verified before UAT commences:
User
acceptance testing testing should commence upon approval of the user
acceptance Test Lead, Quality Assurance Test Lead and Data
Architect/Project Manager who shall ensure that UAT test entrance
criteria have been met.
A configuration management process has
been established and documented to handle requested changes to project
documentation
The code migration process has been
documented and arrangements made to accommodate testing.
A turnover package has been prepared
and all code changes are identified in and made available
to the Requirements Manager and test team. This includes database
changes, changes to install
scripts and instructions, structure changes, etc.
Code to be tested is locked-down and
ready to be moved into the test area.
A user acceptance testing environment
baseline has been updated with the release baseline. (i.e. the
code and program versions in the UAT test environment "mirror" the
production environment).
UAT test team members have been
involved in project meetings since the requirements analysis phase.
At least one UAT test team member is
on all applicable project communications lists.
The requirements specification has
been base lined, is under configuration
control, and has been made available to the UAT team for review.
All design documentation has been base
lined, is under configuration
control, and has been made available to the UAT team for
review.
A business systems analyst has been
identified and assigned to support the testing effort and is listed in
the Test Plan.
Independent code reviews &
review/checkpoints have been completed and documented.
Unit testing results have been
documented and reviewed by the testing team.
Unit test defects have been fixed,
validated or otherwise properly finalized, and documented.
Integration testing results have been
documented and reviewed by QA Test Team.
Integration test defects have been
fixed, validated or otherwise properly finalized, and documented.
Quality assurance testing results have
been documented and reviewed by the UAT Test Team.
Quality assurance test defects have
been fixed, validated or otherwise properly finalized, and documented.
A development team representative from
each subject area has been
identified and assigned to support the UAT testing effort (and is
listed
in the Test Plan).
A QA Test team team representative has
been
identified and assigned to support the UAT testing effort (and is
listed
in the Test Plan).
All required support files (such as
account lists, flat file inputs,
ini files, etc.) have been documented in the UAT Object Migration Plan.
The UAT defect management process has
been documented and implemented.
The UAT team has been trained in and
have appropriate access to the defect management tracking tool.
A Defect Manager has been identified,
allocated, and trained.
Test Plan(s) have been completed and
approved.
UAT test cases and scripts have been
completed and approved.
Test cases have been traced to the
requirements specification through a Requirements Traceability
Matrix (RTM).
A unique UAT test environment has been
reserved and under Configuration Management control.
The UAT environment has been verified
as accessible and functioning including connectivity to all applicable
systems.
All applicable test tools have been
installed, verified as functional, and user guide/documentation
up-to-date.
Proper user ids and permissions
required for testing have been obtained and verified.
Test data has been received and
pre-tested for validity.
Deployment and installation
instructions have been successfully executed and validated.
Contacts have been assigned for their
various component responsibilities and are listed in the Test Plan.
All applicable service level
agreements are in place and updated if needed, including clear
ownership of Incident Resolution.
Any training required by the UAT Test
Team has been completed.
Any waivers or exceptions to the above
have been documented and approved.
A release schedule has been
established and documented. This schedule
must include periodic planned builds for defect fixes while in test.
Test Cases
End users should create user
acceptance testing test cases with support from the Quality Assurance
test team.
The
Test Lead shall ensure that UAT test cases are recorded in the test
management tool e.g. Rational Test Manager or Test Director.
One or more UAT test cases shall be
created for each requirement included in the release and shall specify:
- The steps needed to execute the test; and
- The expected results of the test.
Test Scripts
Repeatable test scripts should be
created by an assigned resource, stored in test management tool and
used by the UAT Tester.
Test scripts should be retained for
regression test purposes.
Test Execution
UAT testing shall be performed in the
user acceptance testing environment by UAT team members assigned from
the end user team.
Test Data
UAT test data should be created as
part of the test data acquisition plan.
UAT test data should be based on a
sub-set of production data, produced by the production support team.
The
UAT testers should not augment this data as it is should be assumed
that QA testing has certified that the release meets specifications.
Defect Management
User
acceptance testing “defects” shall be identified, and recorded in
the defect management tracking tool, e.g ClearQuest, by the UAT
Test Lead (on behalf of the UAT Testers).
Defects should be identified as:
- Requirements Defects i.e. functionality meets
approved requirements but the requirements do not meet user
expectations; or
- Functional Defects i.e. functionality does not meet
approved requirements as determined by the users
Defects should be assigned to the
project manager who should:
- Determine impact on project deliverables;
- Approve/reject change; and
- Create and manage Change Requests as appropriate to
ensure that
requirements are changed, reviewed, and approved before commencing
technical analysis design, build, test and deploy.
Defects shall follow project
methodology e.g. analysis, design,
build, review/checkpoint process before defects are certified ready for
re-testing in the UAT Test Environment.
Defect resolution should be monitored
by the Project Manager.
Test Results
UAT test results should be stored in
test management tool , by the UAT Test Lead, as an “attachment” to the
UAT test.
UAT Test Exit Criteria
UAT
testing shall be considered complete upon sign-off and approval of the
Production Support/Release Manager, Project Manager, UAT Test Lead and
business owner who shall ensure that UAT test exit criteria have been
met.
Any updates to test documentation have
been completed and are under Configuration Management control.
UAT Test Cases has been executed
according to the test plan and any deviations documented and approved.
All required test types have been
completed.
All defects have received a final
disposition (i.e. open, closed, postponed, invalid, duplicate).
All closed defects have an assigned
defect root cause.
Sign-off has been obtained from
designated stakeholders indicating test completion.
Other test completion and validation
conditions, as specified in the Test Plan, have been met.
Summary...
User acceptance testing should focus on testing a set of requirements
(that is
expected to move to production as a production release) to ensure that
the release meets user expectations.
The project test plan should identify UAT roles and responsibilities,
tasks, deliverables and entrance/exit criteria.
|