Updated: Nov 30, 2020
After the application is developed and approved by the engineering team the application is now available to be delivered to the customer for UAT that will help him establish confidence in it prior to purchasing it OR as a first field deployment before moving to the next ring of Beta testing.
The main goals of UAT
Allow the customer to validate that the system is compatible with his environment.
Allow the customer to gain confidence in the application.
Allow the customer to validate that the application is developed based on his preliminary requirements and specifications.
Who can run the UAT?
There are a few common scenarios that will work:
The client with a predefined list of tests that were provided by the company.
The company users get the application and send the feedback for review.
The UAT team executes the tests, the client approves the results.
The client with the assistance of the UAT team/support.
The basic phases of the UAT process
Planning and strategy.
Build the ATP team.
ATP Execution and Documentation.
Comparing the actual Vs client expectation
Defects Fixing and re-Testing (If Needed).
Acceptance Test Review Checklist
Testing that is made to validate that the developed system meets the client requirements.
Phase 1: Entry Criteria (Examples)
The application code was fully developed and tested by engineering teams (R&D/QA).
All bugs are fixed and verified (Blockers, Critical, and major).
Client business requirements are available.
The client environment is ready for tests.
Exit criteria for the testing process were met.
Cosmetic/minor bugs can be approved.
All risks are examined and removed.
The testing cycles provide a full Code coverage (Besides the sections that were not tested as part of the Risk Assessment process).
Phase 2: Preliminary Investigation
Prepare a timetable that will contain the ATP (ATP phases, ATP Review, ATP sign-off, etc.).
What is the testing level that the user asks to run before approving the application?
Prepare time estimations for releasing the ATP.
In any case that the user will test the system without the team, is there any Step-by-step test instruction that the client can use?
Who will validate that the client has the relevant systems to support the testing process (System requirements and specifications)?
Have you defined the process for reporting errors or any other issues that the client may have during the testing process?
Are there any other 3rd party applications that the client needs to install before the implementation of the application?
Phase 3: UAT Team
Make sure that the UAT team understands the responsibilities during the UAT process.
Validate that the UAT will verify the performance of the business's main process.
Ensure that the UAT team will document every input/results of a test case.
Make sure that the UAT team understands the expectations of the client.
Determine the people that will be part of the UAT team.
Determine test team training (if required).
Make sure that the UAT team understands what are the tests to be executed and what are the expected outcomes will satisfy the client.
Make sure that the UAT team has the knowledge to take any required action for each defect that was identified during the test execution.
Validate that the UAT team has a support team that can advise and resolve any issue during the process of test execution.
Phase 4: Test preparation
Validate that the test plan includes the main Use cases that were requested by the client.
Make sure that the test plan covers all possible interactions with the client environment.
Has acceptance criteria was defined regarding the complication of the test plan?
Validate that the test plan is compatible with the client time expectations.
Has the test plan for the UAT process was sent to review?
What tests will be executed manually/automatically?
Has the test plan for the UAT process was approved?
Validate that the team agreed to the test cases that are intended to run on the client environment can cover the main aspects of the application.
Validate that the test plan documentation is good enough, so both the stockholders and the client can review and understand.
Phase 5: Test Execution & Test Analysis
Validate that the team will execute the tests without a deviation from the original test plan.
Validate that the application is not causing any downtime/Failures on the client site.
Validate that all phases of the testing process are documented.
Validate that the test results reviewed by the client.
Validate that all defects are identified and resolved.
Validate that the test results are documented.
Validate that all defects are documented.
Validate that you analyze the testing process (What was wrong? How can you improve the future process?).