The software was extensively tested. Next, it gets delivered i.e., is rolled out to different environments in different countries with people starting to use it. Meanwhile, first feedback is coming in. It is a disaster. To clarify, it was unusable, every action took a bazillion times longer than with the old software. To sum it up, a story based on real-life experience.
This can happen to cloud solutions as well as on-premise installations. If you have not experienced one of those rollouts that did not quite work as expected, you can feel extremely lucky. Most of us still remember the feeling after this happened for the first time. Everything is prepared for the magic go-live and then, a few hours later, hell breaks loose.
Sometimes it is because of a faulty go-live decision in the first place, but other times we signaled green, as all tests are passed, nevertheless the customers (internal or external) experience a mess – from their point of view. Till the point the call it “unusable”.
This blog post describes a modern approach to solve this problem: Remote testing.
After the go-live everybody complained
What went wrong in this delivery example? Testing was limited to a single location! After you have the short answer, let us dig a bit deeper in this real-life example. The whole CRM system is cloud based and all tests were successfully passed.
The tragedy started at the time the test plan was defined. It was a global rollout of the CRM and testing was split in functional, performance & usability testing. Functional tests were executed on-premise in the headquarter, usability was accepted by the managers and performance testing was passed with tremendous success.
After the go-live everybody complained. Everybody but our users in the headquarter. While everything worked for our little shiny world, the headquarter, exactly where it was tested, it did not work for the rest of the world. Small latency problems caused by accessing a central system hosted in the headquarter summed up and made it, and I use the term of the customers, unusable. Some examples: It took the salesman 5 minutes to open the “create new lead” form, a search took more than a minute to return results, reports where generated overnight because they took too long.
How do you test? Did you consider that your code might access central infrastructure from different places? Did you think about log uploads or central crash prevention system? How do you run these tests from different places?
Your software is cloud based or uses cloud services? You need remote testing
Remote testing solves these problems instantly without additional effort.
To clarify, almost any modern piece of software has attached some sort of online service. Sadly, the testing has not changed since the 1980s. Which means, testing the software on the testers Laptop.
Or more advanced, multiple testers test it. Even one step further, the testing is already automated. The general schema stays the same: The software is tested in a non-scaled fashion, i.e., it is tested locally to the group that oversees testing.
Remote testing changes that. It is executing your existing test cases from all locations that you plan to deploy your software to. This means your functional tests automatically uncovers performance problems, in case they exist. If you have performance tests even better, you can run them from any site as well. Just to confirm that performance is top-notch.
Firstly, every location executes all your tests. Later, your TestResults.io Dashboard, controls centrally all those tests. Bear in mind, this happens independently, if you run your tests in China, New Zealand, Switzerland, Brazil, or South Africa nothing changes for you.
All you do to execute all tests in all locations: Press “Execute” in your portal, select the targets you want to run your tests on, done! Now, all test reports are all centralized. Moreover, they are easy accessible in your dashboard, as well as, from around the world.
Home office workers love it
Think about all test systems being available on your fingertip from anywhere in the world. You write your test cases locally, upload them to your personal TestResults.io portal and execute them on any environment. Completely independent of where you or the test environments are.
In short, this is testing for the home-office, for the remote worker and for digital natives, a like.
Start with Remote Testing today
For remote testing to work you need to have a de-centralized test execution structure with a centralized control. Which is not easy to setup and maintain with most of today’s test automation tools.