StarDust Testing Blog : a blog about user acceptance testing for mobile & website

A Quick Guide to Operational Testing

Written by Jordan Medard | May 25, 2018 10:00:00 AM

Operational Testing or Operational Acceptance Testing (OAT) is a form software testing for digital services like websites, apps, software, smart devices or Internet of Things (IoT), and more before they hit the market.

Executed after the user acceptance testing (UAT) phase, an operational test scores the operational readiness of an app, for example, to make sure it is ready to be released to the public based on its performance, recoverability, accessibility, stability, maintainability, and other important measures.

Operational Acceptance Testing: Penguin Edition

 

The Importance of Operational Testing

In 2007, Microsoft launched Windows Vista. With hundreds of millions of dollars invested in new OS, Microsoft and its users had high expectations. Unfortunately, a ton of problems affecting its performance and compatibility plagued Windows Vista contributing to its failure. Nonetheless, Microsoft and other software companies learned an important lesson; do not launch until the product is 100% ready.

Since your digital products do not exist in a bubble, it is essential to test them in real-world settings to ensure they hold up in a variety of conditions and perform according to your expectations. 

Without OAT, a software solution or IoT could go to market with significant defects that hinder its performance, security, reliability, or stability. In the end, significant defects or software bugs can result in the commercial failure of any product or service. 

When it comes to mobile apps, operational testing can be used to evaluate the app’s performance, stability, and much more when the app is interrupted by an incoming phone call, alarms/timers, or even notifications from other apps.

Bugs that affect the stability and maintainability of the app can result in the user having to shut down the app after it is interpreted, which can frustrate the users and prevent them from using it in the future.

For IoT's, operational testing can evaluate the product’s performance, security, accessibility, stability, maintainability, and more while it is connected to and interacts with other devices. 

Infographic: IoT's: A Question of Quality 

Testing IoT's is extremely important considering the fact that by 2022 $10 billion will have been spent recalling smart devices that are plagued with software defects.  

The Benefits of Operational Testing

There are number of benefits to executing an operational testing campaign. Overall, these benefits provide assurance that the digital product is ready to launch without the fear that major bugs will cripple it. Here are some of the benefits:

  • Failover: In the case of a failover, the failback is capable to managing the system until the primary system is backup and running. This helps to ensure redundancy is working.
  • Capacity Management: Verify the capacity of different system limits by simulating hundreds or thousands of requests or interactions.
  • Back and Restore: Ensure that the system can be backed up and and restored to protect data.   
  • Alerts and Monitoring: Evaluate the system’s ability to generate alerts and recommendations that result from components failures.
  • Implementation Testing: Confirm changes to the production environment can be successfully integrated and that such changes do not negatively affect the production service.

Establishing an Operational Test

While they are many different approaches or types of operational tests, it is important to pick the tests that are relevant to your needs. First, what are the different testing approaches?

Automated Testing

Automated tests are executed with the help of a software solution that can pre-programmed to launch the test on a given date and time. In addition, a software solution can compare the results of the test with the expected or desired results in order to highlight any anomalies.

White Paper: An Automated Testing Guide 

Implementing an automated test does require additional time to plan and create the test. Nonetheless, an automated test campaign is more efficient in the long run when there is a need to repeat tests over numerous sprints, test using a large volume of data or a plethora of configurations, etc.  

Manual Testing

Manual tests are executed by a person, like an experienced tester, who will manually assess your app, website, etc. The tester will also approach your digital product from the perspective of the your future users. In general, manual tests can be executed in two different manners : exploratory or scenario-based methodology.

In the grand scheme of manual testing, the exploratory and scenario-based methodologies go hand in hand.

Using a scenario-based test, the tester follows a precise testing script ensuring the test is executed in a specific manner.

With an exploratory methodology, a lack of a testing script requires testers to approach the test methodically assessing the entire site or app, for example, including testing functionalities, the customer or buyer’s journey, overall performance, design aspects, ergonomics, and more. As a result, this method is likely to reveal a plethora of bugs.

Operational Test Steps 

  1. Resource check: Do you have qualified staff that can plan and execute a test campaign? Do you have the time to needed to create a quality testing script? Do you have enough or the right testing devices? Externalizing your QA campaigns may be a solution if any of the above questions poses a challenge.
  2. Write a test script (for a scenario-based test): A QA analyst precisely details the test scenarios through a testing script. This can be a simple document or a series of steps entered in a bug tracker like BugTrapp, for example.
  3. Execute the test phases: As we’ve seen, an exploratory or scenario-based test can be automated as well as executed manually in a testing lab or via a crowdtesting community.
  4. Follow-up bug fixes: Having a list of bugs that  are detailed and documented will help your developers understand how to fix the bugs more efficiently. Likewise, having the ability to organize the bug fixes between project managers, developers and testers is important. Here again, a management tool can be effective for processing bugs. Check out the video below to discover these workflows. 

 

Finally, a test campaign inevitably generates data that needs to be collected and analyzed in order to get into a continuous learning cycle. 

Conclusion

To learn more about the importance of QA testing, please do not hesitate to check out our various publications.