The concept of cloud computing originated in the 1960’s and became broadly available in the 1990’s. It is considered as a major advancement in the field of information technology. It basically delivers hosted computing services through the internet as a utility or a service (Pay as you use model). Cloud Computing helps the companies in using the computer resources like storage, application, etc. externally, rather than setting up a whole computing infrastructure within the company. Though Cloud Computing can have plenty of advantages, the performance can sometimes be an issue. The areas of cloud performance include variation in response times, limitations of bandwidth, etc.
Cloud performance testing
As the concept of cloud is complex, it is important to test its performance in a well-organized manner. The main purpose of testing is to evaluate the computer application or software and identifying the issues that need fixing. A cloud environment has two platforms to it, a managed platform and a management platform. So it is ideal to create specific testing strategies for each.
Strategies for cloud performance testing
A non-cloud environment testing and a cloud environment testing are both similar in nature. Even though, both consist of a variety of tests that helps in analyzing different aspects of the computing system, both require different testing strategies. Before conducting the performance tests on a cloud, it is important to strategize the cloud testing system. Strategizing the test is crucial because there are plenty of performance tests that works only on a cloud-based system and some works only on a non-cloud set-up. For example, The response time taken in a cloud-based set-up could be different from that of a non-cloud based set-up.
In order to create successful cloud performance testing strategies, we must consider certain points:
1. Gather statistics on the load
Before the testing process begins, it is ideal to collect all the necessary information from the provider of the cloud on the load statistics. This separates it from the other customers who are sharing the same cloud. This helps in finding the response time that is expected. It is advised to perform these tests regularly when the load gets high so that the average response time can be calculated. This process will be very helpful in the actual testing process.
2. Perform stress test
In order to conduct a stress test, proper planning and execution is a must. This is applicable for public clouds as it is shared by more than one user. During the pressure and breaking points, the Stress test is done for all applications to monitor its behaviour.
3. Memory Monitoring
In order to study the virtual memory, volume tests need to be done. While testing the application, the volume tests will identify the scalability and capacity of the virtual field. There are several tools that are available for the purpose.
4. Scalability and elasticity checks
Scalability and elasticity testing are inevitable in a cloud-based set-up. This testing needs to be done to know if the performance is delivered according to the desired SLA’s. It also identifies whether it can be scaled up to an expected level. The elasticity tests are done mainly to examine the quantum of services that are used and to estimate the cost according to the use. This particular process requires cutting through their breaking point. The load can either be increased or decreased at this point. In such cases, The Boundary Value Analysis Method is proven to be quite beneficial.
Cloud performance testing methods
Once the testing strategy is planned, cloud performance can be tested. Testing the performance of a cloud can usually take up a lot of time and can be expensive. However, it is important to test the performance since it impacts the users experience directly. Some of the popular Cloud Performance testing methods are:
- Stress test
- Browser performance test
- Load and Performance Test
- Soak test
- Capacity test
- Failover test
- Targeting infrastructure test
- Latency test
Today more and more companies are adopting cloud computing due to its reliability and low cost. Performance testing is a crucial part of cloud computing and it needs to be done with proper planning. It has to be strategized according to the need for the project or application, that the cloud is based. Factors like employee skill set, resources, project environment, technology, etc. need to be considered while creating a strategy for testing.