Addressing the big testing challenges - moving to the cloud

The so called ‘iron triangle’ looms large for many organisations. The tension between quality, time and cost - all vital aspirations within product delivery - causes significant pressures in software development. Organisations must be quick to market and ensure digital touch points engage and inspire loyal customers - but ensure that they’re bug free and - fundamentally - that they work properly.

This means that the testing process is increasingly vital. But it’s also increasingly challenging. As software becomes more mature, complexity normally increases, and end user performance can be impacted. And digital transformation requires a laser focus on the end-user; the devices they use and the conditions under which a product or service must operate.

Managing a test facility in-house

So, for many, setting up and managing an in-house testing environment has become insurmountably difficult. A lab is required to be operational 24/7, typically supporting multiple teams driving many daily build-test cycles as well as nightly full regression testing. And the need to mimic real user conditions means that the testing task, which includes audio connectivity, network virtualisation, network connectivity, virtualising connected peripherals - and much more - becomes infinitely more challenging.

The list of requirements for an in-house test environment is comprehensive. Companies have a swathe of responsibilities, from managing mobile devices; their contracts and maintenance – to overseeing IT infrastructure, including the cost of servers, software, OS and maintenance. And, as well as the physical hosting demands, increasing labour costs are also often prohibitive.

And, as organisations embrace DevOps - with developers, testers and operations - teaming together to support the entire lifecycle, from design through the development process to production support – teams face the additional challenge of working seamlessly and collaboratively together on often large and complex projects.

Migrating to the cloud

So, while it is possible to build a digital testing lab in-house, it’s a sad truth that most companies ultimately fail – apart from unicorns the likes of Facebook and Google. Testing labs often don’t receive the required attention from internal IT teams and the digital aspect introduces many factors which IT departments simply aren’t geared up for.

The good news, though, is that there is an alternative - and that’s the cloud. Cloud based test environments provide testers access to scalable and ready-to-use resources with the library of platforms, operating systems, test management and execution tools, backup and storage necessary for creating a test environment that closely mirrors real life scenarios.

And importantly - cloud testing offers scalability. Companies of all sizes can handle larger projects than they normally could - and development teams can obtain the infrastructure required when an extra testing push becomes necessary, rather than spending on resources which may only be used for a specific project or for a short amount of time.

In addition to scalability, cloud infrastructure enables continuous testing and monitoring of the production environment. Applications can be tested for the expected number of actual users. And broad testing for global applications is also possible. Internationalisation and localisation methods allow companies to detect where users are when they interact with an application and tailor the user experience accordingly.

Enhanced processes and better quality

The focus on transforming teams with DevOps principles is puts the spotlight on how efficient Dev-QA-Ops members use and share tools. Optimising the pipeline is an increasingly becoming an oft heard mantra. Many teams start their focus on implementing continuous integration. However, they quickly realise the unplugging the feedback bottleneck is a must solve challenge. Continuous testing – embedding quality practices thought the development pipeline - is the answer most embrace to achieve the fast feedback teams required to confidently deploy innovation to the market faster. Ultimately, teams begin attacking friction within the pipeline by striving to automate everything possible.

Numerous companies have reported that cloud-based testing significantly enhances quality assurance and code validations. When executed within the cloud testing environment, testing is streamlined and produces the most advantageous outcomes in product delivery.

As well as improving quality, cloud testing provides organisations with the ability to refocus effort (and resources) on testing itself, rather than maintaining an in-house lab. And the rewards are evident - experts have said that companies can nearly double test efficiency by embracing a cloud model - helping bring new products and services to market more quickly.

Finding the right service provider - asking the important questions

So, if cloud testing is such a compelling option, why is there still some reticence from organisations who haven’t yet made the move to the cloud? Well, with any third party relationship, the risk of outsourcing these mission critical services is pressing.

We believe that reassurance is required from the outset. Put simply, while cloud services can simplify your testing operations, and help re-direct resources to the things that really matter, you must trust your technology partners absolutely. When outages in service are no longer within your own ability to fix, or data leakages aren’t within your remit to control, then trust is paramount.

When selecting a partner, organisations must ask tricky but vital questions about redundancy, uptime, reliability and time to support the latest operating systems and devices – and make sure that robust disaster recovery procedures are in place should the worst happen.

Our own customers tell us that the search for a partner starts with the ability to fit within existing tools and practices. Tool chain efficiency is a primary objective as organisations focus on increasing delivery velocity. Efficiency implies support for desired automation frameworks, easy integration with continuous integration servers and defect management tools. Without these, it is difficult to advance the velocity objective.

Second up is whether the cloud based environment meets coverage requirements – having the right devices and in primary geographies, supporting the same carriers used by customers.

Making sure a vendor can support new devices and new operating systems within a reasonable time is also critical for staying on top of market needs. Requesting “same day” delivery of new OS versions or devices is necessary - and often vital - in the time to market for new applications or services.

Security requirements typically separate enterprise grade vendors from the rest. Like any other IT provider, a digital testing lab cloud provider must meet rigorous security requirements. And third is availability. While 24/7 is a mandatory requirement, making sure this is backed by SLA is important.

Support and migration - the final piece in the puzzle

So, like many other cloud migrations, moving testing to the cloud simply “makes sense”. Organisations don’t want to - and often can’t - manage an in-house digital testing lab to support Agile practices - and cloud testing presents a labour saving, cost effective solution.

But to make any migration successful the last piece of the puzzle is adequate support - to make the migration process simple. Agile teams require quick resolution for issues and any cloud vendor worth its salt should provide 24/7 expert support.

So, with the right provider in place, and support reliability and maintenance guaranteed, the future of testing is bright. Cloud-based testing, as a cost-effective, on-demand validation alternative to complex on-premises systems, provides a flexible and scalable solution to quality assurance demands. With cloud testing, Agile teams can accelerate development velocity by shrinking testing from days to minutes. Quality assurance can expedite testing; IT can more quickly and efficiently perform performance tests; and streamline test management procedures.

Carlo Cadet, product marketing director, Perfecto
Image Credit: Everything Possible / Shutterstock