Functional Testing Services updated e1467258070323User Acceptance Testing (UAT)

Accept and release with confidence

What’s the most important aspect of your software development lifecycle? While it’s critical to produce clean code, ensure promised functions are delivered and address cross-platform compatibility, acceptance by end users remains a key indicator of software success. If staff, executives and customers find your software cumbersome or complicated — or if they feel it doesn’t address specific business needs — you’re left with an expensive problem rather than a viable investment. The solution? Purpose-built user acceptance testing (UAT) to ensure delivery meets expectations.

What is User Acceptance Testing?

User Acceptance testing is the final Q&A step emulating real-world usage conditions before a software application is released to end users. These tests are not usually focused on identifying simple problems such as spelling errors and cosmetic problems, nor show stopper defects such as software crashes which should have been fixed during earlier testing phases. Acceptance tests are black box system level tests whereby each test represents some expected result from the system given a predefined set of test scenarios with documented expected results combined with pass/fail criteria.

Acceptance testing can be done by the system/software provider, but are usually performed by an independent 3rd party, clients, or end-users (customer) prior to accepting transfer of ownership satisfying contractual obligations and may also be required for payment.

Any acceptance testing is done with acceptance criteria. Acceptance criteria, usually evaluated as pass or fail, can apply to each individual test, a group of tests or the system as a whole.

Acceptance testing provides confidence that the delivered system meets business requirements and is the final quality check where any defects not previously detected are be uncovered.

Acceptance testing is generally not part of the regression testing or beta testing cycles.

User Acceptance Test Plan

With the number and type of end users rapidly expanding both across platforms and departments, many companies have turned to in-house user acceptance testing tools — since local users regularly leverage the application; why not incorporate their feedback?

Most companies, however, understandably have limited experience designing a user acceptance test plan, and local staff may not be equipped to provide actionable feedback based on the testing results. As such, organizations often benefit from expert third-party assistance when it comes to designing a user acceptance testing checklist and implementing user acceptance testing best practices. By combining in-house expectations, any requirements from your software development vendor and a framework of common user interactions, companies get the dual benefit of rapid UAT and reliable, actionable results.

User Acceptance Testing – An Example

XBOSoft worked with a client on User Acceptance Testing for a healthcare patient portal. In this case, any user acceptance testing would comprise of testing from an end user point of view to determine if you “ACCEPT” the software or not. Usually, acceptance is done by or on behalf of an end user or end customer for whom you are developing software. Sometimes, a development organization may ask a small group of users who have deep domain knowledge to do acceptance testing as well. In any case, the UAT environment should be established from the end user point of view for stories or use cases that they would execute frequently.

If you want to do a User Acceptance Testing (UAT) for a patient portal, what would be the top scenarios that a user would do on the portal. Some user stories that we have run across in our experience in healthcare user acceptance testing include:

  1. Notification to patient – A patient receives notification through either their email or the mobile app that they have a message, results or other information regarding their account.
  2. Look up test results – A patient goes into the portal and checks their mail or looks at recent test results. This could include results from the lab or other tests, or just an email from their doctor.
  3. API for test results – Although not from a patient point of view, data from various systems needs to get into the portal for the patient to access. This could include x-rays, blood test results, electrocardiograms and any other information captured.
  4. Input or update billing information – A patient must enter or update their credit card or bank account information for automatic payment.
  5. Correspondence – Simple messaging back and forth between the doctor or nurse and the patient with records kept for a predetermined amount of time.
  6. Make an appointment – A patient needs to make an appointment with a variety of specialists or their primary care doctor. Sometimes they can make an appointment directly or perhaps need a referral from their primary care physician.
  7. Cancel or edit an appointment – Patients often need to cancel or edit and reschedule an appointment. The doctors must be notified if this interferes with the normal care process.
  8. Fill or check a prescription – A doctor must first input the prescription for the patient, and then the patient can pick up or submit to outside pharmacy.
  9. Inputting vitals – Information such as temperature, blood pressure, glucose levels etc. are input by a technician either manually or through automatic interface via the equipment used.

Going through typical scenarios such as those listed above would constitute the Healthcare User Acceptance Testing for a patient portal. Special attention is needed when considering the end user. Sometimes it is the doctor, nurse or patient. Each has different usage patterns. These are by no means exhaustive, but as you can see, there are many variations as well as negative patterns that need to be tested as well. Any UAT environment should be designed so that the testing results provide actionable data.

Improved UAT Process With XBOSoft

XBOSoft’s acceptance testing is provided as an independent third party to ensure that the delivered system meets your business requirements and/or the requirements set forth in your contract with your software development vendor. To deliver maximum value and results, our user acceptance testing process relies on a four-step methodology:

  • Test Strategy and Plan — XBOSoft’s experts derive a strategy, UAT test plan and guidelines for acceptance criteria using either your requirements specification or the existing contract with your vendor. This allows us to determine ideal testing types with a keen eye for risk aversion.
  • Determine Acceptance Criteria and Tests — Based on pass/fail criteria guidelines, we develop test scenarios with entry/exit and pass/fail criteria. To “accept” or “not accept” is defined for each test and the system as a whole, in turn producing UAT results that encompass both specific feature sets and the business value of the entire solution.
  • Develop and Execute — All test cases executed with expected versus actual testing results are documented against criteria and combined with defects and/or issues found.
  • Sign Off — Upon successful completion of the User Acceptance Testing and resolution of the issues, we provide a recommendation on the acceptance of the system.

By using our developed acceptance criteria and UAT testing methodology with pass/fail definitions, XBOSoft’s User Acceptance Testing ensures quality for your end users from their point of view.

What’s next? Contact us — discover how XBOSoft can empower your UAT testing program to deliver clear and actionable results.