Guide to cloud application testing
A comprehensive collection of articles, videos and more, hand-picked by our editors
Cloud-based testing tools have taken the software development industry by storm, offering advantages such as mobility, scalability and flexible pricing models. Test groups are also jumping on the bandwagon (or riding the jet plane?), but before investing in cloud testing tools, here are four tips to take into consideration.
Recognize the risks and challenges
Though the cloud offers up many benefits, it's not without its risks and challenges. One of the biggest issues with moving any of your organization's infrastructure to the cloud is the increased need for security. Accessing data or internal applications through a VPN or firewall will have to be configured appropriately so that sensitive data is properly protected. Understanding the sensitivity of your test data will be a consideration when making decisions on vendor options. You will also have to be aware of any interoperability the application under test will require and whether or not that might expose additional security vulnerabilities. Understanding your availability requirements, performance needs and scalability needs are also important when preparing to use cloud testing tools.
Doing a careful upfront analysis of your needs is important when choosing a solution to suit your organization. Planning ahead so that your team has a good idea of your sizing and scaling needs throughout the test cycle will help optimize your use of resources so that you're getting the biggest bang for your buck.
Choosing the right set of services
The three primary types of cloud services are Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS), with each of these offering more features than the one before. IaaS vendors provide the server, disk and network stack, but not the operating system or applications. The advantage of IaaS is that it frees the organization from concerns of provisioning many physical or virtual machines. PaaS offerings support the platform runtime and related application services; the cloud provider manages all the hardware and operational aspects of the platform. With SaaS, you basically rent an entire application a vendor offers.
Testing as a Service (TaaS) is a subset of a SaaS offering, allowing groups to outsource their entire test effort. With this model, even the manpower and expertise required to execute the test is provided. This type of cloud testing might be an approach to be used for a specialized type of test, such as performance, mobility or security testing.
Public or private?
You also need to understand the implications of using a public versus private cloud provider when choosing a cloud testing tool. In Public vs. private cloud computing: Which fits your enterprise needs?, Drue Reeves, a VP and research director at Burton Group talks about the tradeoffs. You pay more for private clouds, but you also have increased security and control.
Public cloud services are most valuable for services that need to be run, but don't need to run all the time. Reeves likens consuming public cloud services to renting a car on a business trip to Miami. While the per-day costs of a rental are way above those of car ownership, people still rent cars when they're away from home. "The reason for that is when you're not in Miami, the bill is zero," Reeves said.
Understanding your SLA
Finally, it's very important when choosing a cloud testing provider to understand the service-level agreement (SLA). This document defines the responsibilities of both the vendor and the client organization. Because public providers serve a large population, there may be little or no flexibility with the terms of the SLA. On the other hand, a private cloud solution would allow for customization of the SLA.
In the article, Developing a cloud SLA: Key security and compliance issues, you'll find tips on developing a cloud SLA that takes into account confidentiality, integrity, and availability.
Whether or not you have the option to customize your SLA, it's important to understand the pricing model agreed upon between vendor and client so that your organization can be best optimizing your return on investment.
Moving your organization's testing environment to the cloud can offer some great advantages with scalability, mobility, and pricing, to name a few. However, it's important to do some homework before picking up cloud testing tools. Carefully consider your needs and requirements around your test organization's security, availability, and scalability. Understand the variety of options available in cloud vendors and choose one that's appropriate to your needs.