Today, DevOps teams are under constant pressure to release faster, improve quality and keep costs under control. With cloud-based testing tools, organisations can solve these challenges head-on. Cloud based test automation tools bring several benefits over traditional on-prem based tools.
The cloud, and the flexibility it provides, is now established as a necessity for nearly every business; from the backroom start-up to the very largest blue chip corporate.
Cloud computing has helped organisations significantly streamline and improve processes in many areas, with low (or no) maintenance costs, better security and the ability to gather, store and share information quickly.
So, with cloud adoption now not an ‘if’ but a ‘when and a how’ for most, businesses are turning their attention to where cloud services can make most impact. And for many, quality testing is an area where the cloud can provide significant benefits.
Indeed, cloud- based testing has become a viable and popular addition to on-premise solutions, often replacing on-premise test strategies entirely.
I believe the move to the cloud in this area is inevitable, providing competitive advantage those who do it well and threatening to leave behind those that don’t.
More than 90% of our customers have either moved wholly to the cloud, are in the process of doing so, or have some cloud testing capabilities.
Simply put, the immense (and growing) popularity of cloud-enabled performance testing is based on the fact that it helps to overcome the limitations of a test strategy that relies entirely on on-premise performance testing.
But, of course, there’s lots to consider when embracing a cloud strategy; what are the benefits of cloud computing in the testing sphere and how can QA specialists prepare for cloud-based testing?
What the cloud can do that on-prem can’t
Faster results is perhaps the most obvious reason to move testing to the cloud. Cloud-based software tests run faster than those that are hosted on local hardware for a couple of key reasons.
The first, and perhaps the most significant, is that a cloud-based test grid enables you to run as many tests in parallel as you want.
Simply put, when you don’t have to wait for one test to complete before you have infrastructure available to run the next one, you get much faster results.
The ability to execute more tests in the cloud comes because the capacity of the cloud infrastructure is virtually unlimited.
If you have a particularly resource-hungry test to run, you won’t have to sacrifice completing other tests at the same time – if it runs in the cloud.
And in a hyper-competitive digital landscape, where it’s vital to bring high quality products and services to market more quickly than the competition – but while still ensuring quality – we all know that fast results make the difference.
For us, cloud services in testing go hand-in-hand with test automation. Already a watchword of development and testing, automation helps developers find any problems much earlier in the development cycle, speeds up the Software Development Life Cycle (SDLC) exponentially and improves quality at every stage.
Cloud-based testing enables teams to manage the pace and demands that come with test automation: it allows teams to perform tests on multiple versions, on multiple devices, and in multiple use case scenarios – supporting the need for optimum test coverage, without having to set up or maintain infrastructure.
In contrast, using an on-premise scenario presents many limitations – and the most fundamental factors, like WiFi availability, have the potential to significantly impact the quality and velocity of testing.
Testing across multiple versions is hard on-prem. Once you’ve upgraded the operating systems of the devices you’re testing on, there’s no going back to a previous version.
Another challenge is testing across multiple carriers. On-prem you’re tied to your cellular network provider and being able to quickly test for, and develop for, new devices as soon as they hit the market is difficult.
If you’re using on-prem testing, your ability to perform tests on real devices as opposed to using simulators on a local grid will almost always be limited, as most organisations can’t afford to purchase and maintain hundreds of different devices for hosting tests, let alone procure the latest and greatest on an ongoing basis.
In addition, when you own your own devices lab, when a new version of a testing framework debuts or you need to add tests for a new type of device or operating system, configuring a local test grid to support the change will require a significant investment of time.
You may also need to acquire new hardware to support these changes.
Conversely, with a cloud test grid, updates happen automatically, new devices are added as they appear on the market, and cloud test vendors handle software updates for you.
Cloud based testing benefits for all
So, if it’s such a no brainer, then why isn’t all testing performed in the cloud? The answer is that it will be!
It is an inevitable next step in testing. Agile methodologies and DevOps simply can’t succeed without the support of cloud services.
The cloud is the only way to enable disparate teams, in disparate locations, work seamlessly on the same projects – helping them to automate and analyse test results daily, or even more frequently.
But, whilst cloud based testing is likely to be ubiquitous soon, the truth is that we’re not quite there yet – and some, albeit unfounded, concerns remain. For example, we know that ‘the cloud’ as a concept often generates security fears.
But, the perception that data is less secure in the cloud dissipating as even the biggest enterprises are relocating business critical functions to the cloud.
Today, many cloud vendors offer the most stringent security measures – more so than any on-prem method.
Some are concerned that they will have to change processes, but this is a concern which can be mitigated by using the right provider.
Perfecto support all standard automation services – Appium, Selenium etc., meaning that there is no interruption or change in service when you adopt the cloud; and that all of your assets, scripts and processes remain unaltered.
And, without any changes, your tests will be executed faster with more coverage – with all the results stored automatically in a cloud-based analytic tool.
For me, the crucial tenet of success, and how to overcome any lingering misconceptions, is rooted in choosing the right technology vendor.
There’s a lot of choice in the market, so this means working with trusted partners, evaluating providers and tools against your objectives, and perhaps even looking at hybrid options to fit your needs.
And importantly, this must be an ongoing process, where you are able to evaluate and re-evaluate systems and providers, to ensure that they’re always able to take advantage of new developments.
I’d encourage companies to ask vendors tricky questions around uptime, security, speed and scalability. For example, are they able to provision for new devices and for new operating systems in the cloud as soon as they’re available (on the same day as release)?
For major releases like the iPhone X this is important – enabling firms to deliver applications and services which have been properly tested, quickly.
The starting point to success
So, by now I hope that I’ve made the case for migrating your testing to the cloud. But I know that every organisation has different goals, and the methods they use to achieve those goals differ from firm to firm.
And so, which cloud services you need, and when you need them, is down to you.
However, I believe that there are there are five essentials to consider when adopting a cloud-based testing strategy.
The foundations of success are:
- Scale. The solution should be able to scale rapidly as business needs evolve
- Availability. An online solution must be available 24/7 and guarantees about uptime and disaster recovery / system continuity must be made
- Quality. Can your cloud provider ensure that your test quality goals are met, and are any lingering security fears addressed?
- Speed. Cloud testing is much quicker than on-prem. Look to leverage this speed in your testing strategy
- Cost. The cloud naturally has cost savings – but remember, the cheapest solution isn’t always the best or most comprehensive.
And of course, it’s also crucial to look at the underlying tools that you have to work with in your cloud-based testing environment.
For example, if you don’t have the right analytics tools to gather information about your executions and to optimise results, then you simply won’t be able to make the most of the automation process.
Analytics can help pinpoint the highest-risk areas of your product, app or service for regression testing and validate your initial assumptions and concerns.
It can help you spot issues and fix them quickly – and can even help you prioritise the devices or browsers most used by your customers.
So, in testing, just like in every other aspect of commercial industry, cloud computing is big business.
And whilst goals of traditional and cloud-based testing are similar, the cloud approach is significantly better. It’s more scalable, it’s faster, it’s more adaptable and it’s more cost effective.
And whilst local on-premise software testing may make sense if your testing needs are very small or temporary, cloud testing offers a number of clear advantages for organisations that have serious tests to run on a recurring basis as part of continuous delivery pipelines.
You could get the job done with a local test grid, but tests will take longer to complete, they will be harder to interpret, analyse and troubleshoot, and your test coverage will not be as large or as comprehensive as with cloud-based solutions.
There are, of course, some companies that have yet to embrace cloud. These late adopters may be companies in highly regulated industries such as healthcare or government services, or very small organisations with limited testing needs.
And so, for us, while some concerns may remain, we believe that any late adopters should take advantage of the lessons learned by early adopters, harnessing advice from those pioneers experienced on their journey.
And then, simply put, everyone is a potential winner – from the companies that can bring better quality applications and services to market more quickly, to the consumer who buys and uses them.
Uzi Eilon, CTO America at Perfecto