For many companies, cloud technologies provide an effective solution for optimising the use of hardware resources and the opportunity to move their capital expenses (CAPEX) to operational expenses (OPEX). Software testing requires environments that are available as and when required. This can be a challenge using physical hardware. In this article, we look at what testing types can take advantage of cloud testing and what solutions are already in place in Microsoft Azure.
Cloud computing has been in place for over a decade and has slowly made inroads into the enterprise community. For many companies, the advantages of cloud hosting are so compelling that they not only move some of their infrastructure to the cloud (IaaS), hosting websites on a cloud platform (PaaS), but also make use of ready‑made services (SaaS) such CRM, ERP, email, and so on. Cloud testing has the ability to leverage cloud computing for the need of software testing. The strong selling point is that you don’t even have to host your application in the cloud to take advantage of it. As long as your application is internet facing you and cloud test it, but even that limitation is due to be removed.
By using infrastructure as a service (IaaS), you can deploy nearly any system to the cloud as long as it is supported. IaaS allows you to install any operating system inside a virtual machine. It is then possible to install any software, including testing tools. So instead of deploying an on premise test environment, it is in the cloud. However, the benefits of cloud testing are most noticeable with load and performance testing.
When performance testing an application, it is advised to run three pieces of software: a monitoring tool such as Visual Studio, a test controller and one or multiple agents to generate the load and simulate users (i.e. virtual users). If you need to simulate thousands of virtual users, you will need to set up multiple machines with enough bandwidth, CPU processing, and memory. You will have to purchase the software and the rights to simulate so many users. Doing so requires a lot of CAPEX and the cost of your load test environment may not be utilised efficiently unless you are load testing fairly regularly. Alternatively, you can make use of load testing using a cloud service. This will provide several advantages:
Your test environment may not be constantly required. However, when you need one, it can take several days before IT infrastructure provisions and deploys the software. With the advent of DevOps, this is no longer acceptable. Environments need to be deployed automatically and this is becoming the norm. We now see machines and environments as a commodity where the lifecycle has become provision, use and tear down sometimes within a couple of hours. This approach can also solve issues such as testing various configurations or trying to address a client issue by reproducing their environment. Using cloud and DevOps automation, this can be achieved within minutes.
Another example where functional testing is simplified is by using cloud labs for mobile testing. Using Xamarin Test Cloud, it is possible to access over 2000 real devices. Having this capability on premise will probably be prohibitive for most companies.
For some, cloud is considered too risky as they cannot be controlled. Often this is for the following reasons:
With some much potential, cloud solutions are here to stay. Cloud testing provides a cost‑effective solution that does not lock down your CAPEX. Even if your company has not started using cloud services, it probably won’t be long before they realise that the risk is lower than the breadth of advantages it provides. Microsoft also offer a great way of trying before you buy via the free Azure time you get with an MSDN subscription. This is a monthly, use it or lose it, fixed amount of time that can be used as you please. A perfect way to dip your toes in the water before you get your head in the cloud.
This article was first written by Mr.Valéry Raulet, Chief Technology Officer at Testhouse, and appeared in the July 2016 issue of the Test Magazine.