Cloud Testing – The Right Way!
In Indian Mythology Mahakavi Kalidas has introduced the word “Meghadoot” which means the cloud messenger and today we are seeing the live applications hosted on cloud which means that imagination has turned into reality.
How do we maintain the quality of applications hosted in Cloud? How using cloud for testing would be different from Traditional testing? These are some of the basic questions that I have tried to explain in my blog.
Cloud Testing is a testing process which involves cloud infrastructure i.e. (we do not need to manage hardware’s or any other resources locally and we can use the on-demand cloud infrastructure for our testing). By using cloud testing, it is easy to create testing environment and vary the nature of traffic on-demand by simulating thousands of users with different geographical location. This effectively reduces cost and time and lead to cost effective solutions. Also, with the number of applications and services moving to cloud it becomes very essential to develop the cloud testing strategy. Functional testing of both public cloud and private cloud applications can be performed using cloud testing. Effective unlimited storage, quick availability of the infrastructure with scalability, flexibility and availability of distributed testing environment reduces the execution time of testing of large applications and lead to cost-effective solutions.
Functional Testing
Functional tests ensure that the business requirements are being met.
System Verification Testing/Integration Testing: This ensures, whether the various modules function correctly with one another, thus making sure that their behavior is as expected and meets business needs
Acceptance Testing: Here the cloud-based solution is handed over to the users to make sure it meets their expectations.
Interoperability Testing: Any application must have the flexibility to work without any issues not only on different platforms, but it must also work seamlessly when moving from cloud infrastructure to another.
Test Automation
Non-Functional Testing
Security Testing: Security Testing is to ensure that the potentially sensitive information which traverses the cloud is safe and secure. Tools like Veracode, Nmap, Amazon Guard Duty, EIQ, Varonis is used to check security of cloud. Performing a drift detection operation is one way to secure the cloud environment.
Availability Testing: Availability testing is intended to test the availability of the application across the geographies. Tools like CloudWatch can be used for monitoring solution from AWS that can collect Virtual Private Cloud (VPC) flow logs to capture information about the IP traffic going to and from network interfaces in your VPC.
Performance Testing: Performance testing is most important in cloud testing as we must check the scalability of the system. We can also test the vertical and horizontal scaling in cloud computing using tools like Blazemeter and JMeter.
Types of Performance Tests that you can perform on the cloud include:
Stress Test
Load & Performance Test
Browser Performance Test
Latency Test
Failover Test
Capacity Test
Soak Test
Load and Stress Testing: Load testing of an application involves creation of heavy user traffic and measuring its response. JMeter and Blazemeter can be used for Load and Stress testing Also tools such as Neoload can also be used for load testing.
Latency Testing: Cloud testing is utilized to measure the latency between the action and the corresponding response for any application after deploying it on cloud.
Cloud Ability Testing
Compatibility Testing: Manual Strategy to test compatibility is to
Validate the compatibility requirements of the application under test system
Check browser compatibility in a cloud environment
Identify the Defect that might arise while connecting to a cloud
Any incomplete data on the cloud should not be transferred
Verify that application works across a different platform of cloud
Multi-Tenancy Testing: Multi-tenancy testing ensures that the multiple clients and organizations using on-demand services activated at a given time. Cloud service should be customizable for each client and provide data and security level to avoid any access related issues
Disaster-Recovery Testing: The cloud service provider has always preferred that his cloud services must be available all the time to end-users, but it is not achievable. There may be some chance of failure so the disaster recovery time must be low. Cloud verification must be done to ensure the service is back online with minimum adverse effect on business
Leave a Reply