logo for information-management-architect.com
leftimage for information-management-architect.com

User Acceptance Testing

Improve quality with David Bowman’s information management guidelines for user acceptance testing

This site is designed for Information Technology professionals who need to improve quality and require guidance and direction to help teams consistently produce error free results.

It provides information management guidelines for user acceptance  testing.

What is a User Test?

A user test 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.

Scope
  • Should focus on testing a set of components that is expected to move to production as an integrated release to ensure that the release meet expectations; and
  • Should ensure that user documentation is complete and correct.
Entrance Criteria

Configuration Management Area Responsibilities
  • Should ensure that a configuration management process has been established and documented to handle requested changes to project documentation;
  • Should ensure that a code migration process has been documented and arrangements made to accommodate testing;
  • Should ensure that a release schedule has been established and documented;
  • Should ensure that the release schedule includes periodic planned builds for defect fixes while in test;
  • Should ensure that a turnover package is documented and that all code changes are identified and made available to the release management and test team;
  • Should ensure that the turnover package includes database changes, install scripts/instructions, structure changes, etc;
  • Should ensure that code to be tested is locked-down and ready to be moved into the test area; and
  • Should ensure that the testing environment is base-lined and updated with the release baseline i.e. the code and program versions in the test environment should equal the production environment.
Project and Business Area Responsibilities
  • Should ensure that test team members have been involved in project meetings since analysis;
  • Should ensure that at least one test team member is on all applicable project communications lists;
  • Should ensure that the requirements specification has been base-lined, is under configuration control, and has been made available to the test team for review;
  • Should ensure that all design documentation has been base-lined, is under configuration control, and has been made available to the test team for review;
  • Should ensure that a business analyst has been identified and assigned to support the testing effort and is listed in the test plan; and
  • Should ensure that subject matter experts have been identified and assigned to support the testing effort and are listed in the test plan.
Development Area Responsibilities
  • Should ensure that independent code reviews and review checkpoints have been completed and documented;
  • Should ensure that quality assurance test results have been documented and reviewed by the test team;
  • Should ensure that quality assurance test defects have been fixed, validated or otherwise properly finalized, and documented;
  • Should ensure that quality assurance test results have been documented and reviewed by the test team;
  • Should ensure that quality assurance test defects have been fixed, validated or otherwise properly finalized, and documented;
  • Should ensure that a development team representative from each subject area has been identified and assigned to support the testing effort, and is listed in the test plan; and
  • Should ensure that all needed support files e.g. account lists, flat file inputs, ini files, etc. have been identified and documented in an object migration document.
Defect Management Responsibilities
  • Should ensure that the defect management process has been documented and implemented;
  • Should ensure that all user acceptance testing team members have been trained in, and have appropriate access to, the defect tracking tool; and
  • Should ensure that a defect manager has been identified, allocated, and trained.
Test Area Responsibilities
  • Should ensure that test plans are completed and approved;
  • Should ensure that test cases and test scripts have been completed and approved; and
  • Should ensure that user acceptance test cases have been traced to business and system requirements through a requirements traceability matrix.
Support Area Responsibilities
  • Should ensure that a unique test environment has been reserved and is under configuration management control;
  • Should ensure that the test environment has been verified as accessible and functioning, including connectivity to all applicable systems;
  • Should ensure that all applicable test tools have been installed, verified as functional, and that user guides and documentation are up-to-date;
  • Should ensure that proper user id's and permissions needed for testing have been obtained and verified;
  • Should ensure that test data has been received and pre-tested for validity;
  • Should ensure that deployment and installation instructions have been successfully executed and validated;
  • Should ensure that points of contact have been assigned for their various component responsibilities and are listed in the project test plan; and
  • Should ensure that all applicable service agreements are in place and updated if needed, including clear ownership of incident resolution.
General Management Responsibilities
  • Should ensure that any training required by the test team has been completed;
  • Should ensure that any waivers or exceptions to the above have been documented and approved; and
  • Should certify that testing may proceed based on a  recommendation by the test lead.
Test Cases
  • Should be created by the user acceptance testers;
  • Should be recorded in the project test management tool e.g. HP Quality Center;
  • Should ensure that one or more test cases are created for each component included in the release; and
  • Should specify the steps needed to execute the test and the expected results of each test.
Test Scripts
  • Should be created by a test script developer;
  • Should be stored in the project test management tool;
  • Should be used by the user acceptance testing team; and
  • Should be retained for regression test purposes.
Test Data
  • Should be created by a production support development team;
  • Should be extracted from production data;
  • Should be a sub-set of production data;
  • Should not be augmented by the test team as it is assumed that system and integration testing has tested negative scenarios;
  • Should be retained in the staging environment so that the same data can be re-used as new components are developed; and
  • Should be based entirely on pre-approved test data i.e. testing should be based on production data but should not involve testing with live production data.
Test Execution

Should be performed by testers in the the user test environment.

Defects
  • Should be identified, and recorded in the project defect management tracking tool, e.g ClearQuest;
  • Should be identified as requirement i.e requirement was not clear; design i.e. design did not fully address requirement; build i.e. feature was not correctly delivered; testing related i.e. defect caused by a bad load of test data; cosmetic i.e. verbiage or format changes; and not applicable i.e. the tester's issue was not really a defect but due to user not understanding functionality;
  • Should ensure that functional defects, are assigned to the solution architect who should determine impact on project deliverables, and manage defect resolution;
  • Should follow the project solution delivery methodology e.g. analysis, design, build, and review checkpoint process, before they are are certified ready for re-testing in the test environment; and
  • Should be monitored by the test lead to ensure defect resolution.
Test Results

Should be stored in the project test management tool as an attachment to the test case.

Exit Criteria
  • Should ensure that any updates to test documentation have been completed and are under configuration management control;
  • Should ensure that test cases have been executed according to the test plan and any deviations have been documented and approved;
  • Should ensure that all required test types have been completed;
  • Should ensure that all defects have received a final disposition i.e. open, closed, postponed, invalid or duplicate;
  • Should ensure that all closed defects have an assigned a defect root cause;
  • Should ensure that sign-off has been obtained from designated stakeholders indicating test completion; and
  • Should ensure that other test completion and validation conditions, as specified in the project test plan, have been met.
Summary...

A user acceptance test 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.

This site provided information management guidelines for user acceptance testing.