The Future of Testing: Cloud Computing

(Check out the on-demand webinar, The Future of Testing)

Has the Cloud changed everything? It would seem so. The way we work. The way we shop. The way we interact with key organizations. Cloud computing has enabled some revolutionary changes in our lives.

Hosted productivity and collaboration applications, including Google Apps, Basecamp, Salesforce.com and others, as well as free communications programs like Skype, have enabled millions of far-flung workers to join together in virtual teams. Even Microsoft has joined the party, enabling enterprises to allow their workforces to work anywhere with Office 365.

 


And according to a recent study conducted by Intuit, by 2020 more than 40 percent of Americans will be freelancers, contractors or temp workers. The report boldly states: “The brick-and-mortar office will be a thing of the past…working in the cloud will increasingly shift work lives away from corporate offices altogether and toward an in-my-own-place, on-my-own-time work regimen.”

 

Cloud computing is also enabling capabilities we never dreamed possible. Toyota is experimenting with intelligent cars that can measure your heartbeat and other vital bodily functions, and can send an alert if the driver’s health becomes unsafe and needs medical help.

How has cloud computing affected the IT department? Major application and infrastructure purchases have gone from being a capital expenditure to a monthly expense.

How Cloud Computing Is Changing Testing
The IT department has been affected by cloud computing in other ways as well. There are two important areas for consideration in testing as it relates to cloud computing.

The Cloud as Benefit to Testing: Infrastructure as a Service and Testing
To enhance your testing strategy, an Infrastructure as a Service (IaaS) model now provides alternatives to one of the most common problems in testing, infrastructure:

  • IaaS testing environments have reduced the high cost of dedicated environments and test servers. It has consequently solved the poor utilization of testing environments, which sometimes falls below 15%.
  • IaaS also enables instant access to IT infrastructure (e.g. load testing where the load drivers dynamically scaled in the cloud). Provisioning is no longer a manual process and is now fully automated.
  • Finally, IaaS enables parallel User Acceptance Testing, functional and performance testing, prototyping, IT user training, upgraded environments, and OS and vendor patches (functional testing where many systems are available to try configurations, enabling every tester their own hardware and avoiding the famous all-on-one-system test problem)

The Cloud as a Test Target
The growth in cloud computing has also presented new testing challenges for IT departments. Testing for your cloud computing environment should consider the following:

  • SaaS automation tools to perform load and performance testing from the locations where your organization’s applications will be used
  • SaaS for mobile, automation, and security testing
  • Additional testing considerations, including performance, security, availability & confidentiality, functionality, legislation and regulations to mention a few
  • SaaS Crowdsource Testing

But there are also areas for concern. Softtek thought leader and Information Security Practice Manager Leonel Navarro considers the following to be the main areas to consider:

1.       Security
Organizations still do not completely understand how security works in the cloud. It’s important to keep in mind that your organization, as owners of applications and data, are fully responsible to protect them. You need to fully understand security implications when using the cloud.

 2.       Privacy
In addition, it’s essential to understand the nature of the applications and data that will be tested in the cloud. You don’t want to use a public cloud to create your testing environment while using real personally identifiable information (PII) or credit card data in your staging environment. You must have a clear understanding of what you want to replicate in the cloud and ensure no sensitive information or intellectual property is exposed.

3.       Virtual Machines
As you increase the use of virtual machines for different testing purposes, it gets difficult to track them all and know which VMs are used for which purpose. Also, when many VMs used for testing employ the same physical machine, performance begins to take a hit.

 4.       The Cloud Also Goes Down
Keep in mind that the cloud also goes down, so it’s important to understand your cloud service provider’s Disaster Recovery Plan and support SLAs to ensure you’re covered. You don’t want to experience downtime exactly when you really need to perform regression testing.

Conclusion and Next Steps
The Cloud has brought us many benefits: location independence, efficiency, cost savings, and much more. It has also benefitted testing – IaaS testing has reduced resource costs and sub-utilization, and enabled instant provisioning.

But there’s also a learning curve and mindset change to be adopted when it comes to testing our cloud environments, especially considering security and privacy concerns.

What’s next for testing? Watch our recorded webinar, “The Future of Testing,” to learn more about testing for Mobile, Cloud Computing, Agile Development, Automation and Exploratory Testing. And stay tuned for our next blog post on the Future of Testing for Agile.