Friday, July 29, 2016

Advantages and Disadvantages of Performance Testing over the Cloud

Performance Testing over the Cloud
Cloud computing is becoming more and more famous and mature with the time and its usage has been increased exponentially. Performance engineers setup the copy of the production system in cloud and deploy load injectors on different geographical locations over the cloud to effectively perform the load test.
Advantages
  • Cloud testing provides the flexibility of deploying the production system on discrete environment to conveniently test the application
  • It’s extremely simple to fix the defects and quickly configure the changes
  • It reduces the test cost due to its convenient rental models
  • It provides greater test control to simulate required user load and to identify and simulate the bottlenecks
Disadvantages
  • Security and privacy of data is the biggest concern in cloud computing
  • Cloud computing works on-line and completely depends on the network connection speed
  • Complete dependency on Cloud Service Provider for quality of service
  • Although cloud hosting is a lot cheaper in long run but its initial cost is usually higher than the traditional technologies
  • Although it’s a short-term issue due to the emerging technology and it’s difficult to upgrade it without losing the data

Performance Test Issues and Trouble-Shooting

Many differences are commonly found between the test and production systems after the proper validation of test system. A differently configured performance test environment will produce invalid results which can greatly mislead all the stakeholders and the application itself can fail in production. There can be a dozens of reasons why your test environment is not producing the required results and some of them are as follows:
  • Load Injectors overloaded: Check the load injector machines resource utilization. Quite often load injector machines consume more processor and memory and are unable to simulate the required number of virtual users. Run a small and simple test first and check the system resources consumption on these before running the detailed test.
  • Insufficient network bandwidth: Network bandwidth plays a vital role when you are conducting the performance test over the WAN. Test results can greatly differ on the basis of available bandwidth. So make sure that sufficient network bandwidth is available for starting the test. Moreover, you need two network interface cards (NICs) when web server and database server are on different layers, one NIC will be facing the clients and the other one will be used for database communication.
  • Improper test data: Improper test data can also create various issues in performance testing. It’s highly possible that a variable is not parameterized and same value is being submitted to the database for every user, which can lead to low processor activity due to artificial locking.