Updated: Jan 19
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 before purchasing it OR as a first field deployment before moving to the next ring 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 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 primary 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 is made to validate that the developed system meets the client's 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 significant).
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 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 testing level does the user ask to run before approving the application?
Prepare time estimations for releasing the ATP.
If 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 the client may have during the testing process?
Are there any other 3rd party applications that the client needs to install before implementing 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 primary process.
Ensure that the UAT team will document every input/result 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).
Ensure that the UAT team understands what the tests to be executed are and the expected outcomes will satisfy the client.
Ensure that the UAT team has the knowledge to take any required action for each defect identified during the test execution.
Validate that the UAT team has a support team that can advise and resolve any issue during test execution.
Phase 4: Test preparation
Validate that the test plan includes the prominent Use cases requested by the client.
Ensure that the test plan covers all possible interactions with the client environment.
Have acceptance criteria been defined regarding the complication of the test plan?
Validate that the test plan is compatible with the client's time expectations.
Has the test plan for the UAT process been sent to review?
What tests will be executed manually/automatically?
Has the test plan for the UAT process been approved?
Validate that the team agreed that the test cases intended to run on the client environment could 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 client reviewed the test results.
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?).