How cloud-based testing can improve DevOps cycles
As organizations begin to fully embrace the “DevOps way,” the cloud enables everyone involved to work on the same code – writing, testing, conducting quality assurance, deploying and updating – at the same time, regardless of physical location. In this article, Eran Kinsbruner, Chief Evangelist at Perfecto discusses the advantages of cloud-based testing solutions and the challenges teams should prepare for when testing in the cloud.
For more than a decade, companies large and small have been talking about moving to the cloud. In my conversations with customers and prospects, about 90 percent have at least started the transition within the last couple of years. However, many find that it isn’t easy or realistic to move everything to the cloud at once. While jumping in with both feet and moving all functions isn’t always feasible, there are certain use cases that make sense for the cloud. Cloud-based testing is one of them.
What’s caused the shift to cloud-based testing solutions?
Years ago, on-prem testing was really the only viable option for dev teams; it was the only way they could test their software and applications to ensure they worked on the one or two brands of mobile devices or web browsers available at the time. Remember those days when all we had to think about was Internet Explorer and Mosaic? Back when simple tools and frameworks were more than sufficient enough to ensure quality?
Fast forward a few years and there is a never-ending supply of different platforms organizations need to test on. Most consumers today have anywhere from two to four different browsers operating on their computers at time (like Safari, Chrome, Internet Explorer and Firefox), and even more different options for mobile devices (iPhone vs. Android) and operating systems (iOS 11 vs. iOS 12 vs. iOS 12.1, etc.) – which means the combinations are nearly endless.
When you factor in how many devices developers must test on, the rate of release of new apps, OS updates, etc., and the high expectations of customers, on-prem solutions simply cannot keep up. They weren’t built to test more than a few devices or software versions at a time – never mind the 20-32 different devices and operating system combinations teams are testing at any given time today. For this reason, building a physical, on-prem lab for one organization isn’t feasible – or cost-efficient. The cloud, however, offers the best coverage for the many test combinations required today and in the future.
What’s more, for teams to truly embrace DevOps, they have to test on all of these devices and operating systems at all times – including the latest and greatest devices. When working on-prem, the most recent version of the iPhone or Galaxy isn’t available for testing until someone actually goes out and physically buys the new device. With the cloud, access to new devices and operating systems is almost instantaneous and can happen in parallel.
What are the advantages of cloud-based testing solutions
As organizations begin to fully embrace the “DevOps way,” the cloud enables everyone involved to work on the same code – writing, testing, conducting quality assurance, deploying and updating – at the same time, regardless of physical location. With this approach, no one has to wait for the code to be fully completed before testing – everything can be done in parallel. There’s also the added bonus of the cloud’s ability to run unattended, always-on automation scripts across devices and operating systems much more efficiently than its on-prem counterpart.
The cloud also makes it easier for teams to work on code regardless of their location. With on-prem solutions, businesses are required to have a lab in every location they work in – and for international businesses, that can be extremely costly when considering maintenance costs.
In terms of location, it’s also important to remember that all of these devices and operating systems are running across a number of different providers, which can have a massive impact on performance as well. With on-prem solutions, it’s very difficult to access all of the providers, their networks and signals in one place. Consider your own home: while one service provider’s customers may have great reception in your kitchen, a different service provider’s customers may not.
What challenges should teams prepare for when testing in the cloud?
It’s more about the perceived challenges when dealing with the cloud. Most notably, security has always been a sticking point for many organizations. However, at the rate the cloud is evolving, many enterprises prefer using the cloud because of how secure it is. Physical, on-prem test labs or server rooms can only be protected by physical layers of security surrounding the room or closet in which they’re held. With the cloud, on the other hand, dev teams can run private, segregated networks that run on individual VPNs for optimal security.
A second common concern among organizations when moving to the cloud is how to handle migration and replication issues. While both of these situations are typically thought to be a major challenge, the cloud simplifies and further automates these processes thanks in part to its ability to execute the same types of scripts and standards, such as XCUItest, Espresso and Appium, as on-prem.
What else should people know about testing in the cloud?
Testing is a top choice for organizations as they shift more to the cloud and bolster their current environments. Picking the right cloud is what’s important. When making the move, make sure you understand the benefits each cloud option can bring to your organization and ask questions such as: Which platforms do I need to support? Web? Mobile? IoT? A combination of two or all three? Lastly, it’s important to remember the key pillars of success for testing beyond the cloud – including execution at scale, maintaining an enterprise grade lab and operating advanced test analyses for the most informative results.
Finally, remember to keep the end goal in mind. With testing, you want to be able to quickly identify and remediate any bugs or glitches that could derail the customer experience. As such, make sure the cloud you choose is equipped with the right analytics tools to truly experience the advantages of the cloud – and ensure quality from start to finish.