According to Wikipedia, "cloud testing is a form of software testing in which Web applications that leverage Cloud computing environments ("cloud") seek to simulate real-world user traffic as a means of load testing and stress testing web sites. The ability and costs to simulate Web traffic for software testing purposes has been an inhibitor to overall Web reliability."
Why is Cloud Testing Important?
Comparing with current software testing, cloud-based testing has several unique advantages listed below.
- Reduce costs by leveraging with computing resources in clouds – This refers to effectively using virtualized resources and shared cloud infrastructure to eliminate required computer resources and licensed software costs in a test laboratory.
- Take the advantage of on-demand test services (by a third-party) to conduct large-scale and effective real-time online validation for internet based software in clouds.
- Easily leverage scalable cloud system infrastructure to test and evaluate system SaaS/Cloud/Application) performance and scalability. Studies have reported the experience on cloud testing in small business division, where a flexible and cost-efficient cloud-based development and testing environment is implemented, and cloud testing has demonstrated the following major benefits in.
- Reduce its capital and licensing expenses as much as 50% to 75% using virtualized resources.
- Reduce operating and labour costs as much as 30% to 50% by automating development and testing resource provisioning and configuration.
- Shorten its development and testing setup time from weeks to minutes.
- Improve product quality and reduce the detected defects by as much as 15% to 30%.
Types of testing that can be performed over cloud
Testing in cloud is different than traditional on premise testing where enterprise has to set up, maintain and verify the scenarios from end to end prospective in all aspects. Below is some of the testing required to perform once application is moved to cloud premises.
System integration testing (SIT) - Testing performed to verify that the cloud solution will work within the current infrastructure and environments, proving that the implementation of a cloud solution does not impact any existing systems.
User acceptance Testing (UAT) -Testing is done to verify the current provided cloud solution from the vendor meets the business needs of the organization.
Security Testing-Ensure that all sensitive and important information which are going to be stored in the cloud will be highly secure in nature. As privacy also a key area in cloud from the user point of view, it’s important to verify the privacy of the application users and associated information when maintained in cloud.
Performance Testing-Testing technique that measures the system performances in cloud - Verify the network latency and response time, Load balancing, peak request count by hosting subscription in different data centres across the globe. Adding to these, traditional load and stress testing are required to validate business scenarios in the cloud model in terms of varying dynamic load and stress on the application.
Disaster Recovery Testing-Verify the time it’s takes to recover from disaster in different scenario (system crashes under high load/volume of data, hardware failures, system failures, Network outrage, insufficient bandwidth) as per SLA. Also verify is there any data loss in this process and time takes to report failure.
Availability Testing-Cloud offering should be available 24*7 for the enterprise or end user. It’s the key responsibilities of the provider to maintain as per the SLA.
Scalability Testing-Ensure cloud provider is offering scale in/out functionality as per the demand from the user/organization.
Multi tenancy Testing- The concept of multi tenancy is to provide solution/offering from a single instance to multiple tenants(user/clients) .Cloud offering should be validated when more than one client is using the same instance in terms of security and Data
Interoperability Testing-Verify moving application from one cloud to alternate cloud provider should have the flexibility to run successfully. Basically there should not be any issue if business/user is migrating from one infrastructure to another one
Accessibility Testing -Verify user groups across different geographic location are accessible to the cloud at any point of time without any delay.
Automation Testing-Ensure that the automation suite can be created and executed with minimal changes in the cloud.