Web Application Performance Testing
Maintaining optimum web application performance is a top priority for application developers and administration. Load testing enables them to do this in several ways, such as follows;
* By predicting the performance of the web application through intensifying the load artificially
* By predicting future capacity shortcomings
* By determining the most cost-effective way to upgrade the application in order to overcome performance problems and to cope with increasing workload demands.
Proactive load testing during the design phase is a highly effective way for web application designers to minimize the time needed to bring a reliable product online. Using load testing scripts, a tester can describe and simulate expected workloads during the entire web application development cycle, detecting and correcting weaknesses early in development and making important decisions about the web application architecture quickly and efficiently.
Load testing is also a powerful method for the ongoing analysis and turning of existing web applications. By capturing traffic between a web browser and an existing web application, a tester can build a database of real world interactions between users and the site to be tested. This reported traffic could then be assigned to hundreds or even thousands of virtual users, along the application to be tested under extremely realistic conditions.
Finally, once a web application has been deployed, performance testing is a very effective way to determine the precise impact new features and technologies, if added, would have on the system performance.
Limitations
Load testing is a powerful and cost-effective technique for analyzing web application performance. Even the most carefully constructed load-testing environment cannot reproduce the real world perfectly.
Some of the limitations include:
* NETWORK IMITATION: Load tests are executed in a LAN. Real-world traffic, on the other hand, is sent over a WAN, and can encounter many kinds of problems from network latency to traffic surges.
* USERS SIMULATION: Virtual users are only simulations of real users. There is no way to make their behaviors and actions perfectly mimic the human idiosyncrasies. Real users at actual browsers exhibit the infinite variety of human behaviors that no software tool can reproduce.
* BROWSER EMULATION: Web browsers are very complex programs that use event more complex technologies like multi-threading and document caching. If browsers are not emulated accurately, the amount and types of requests virtual users send to the web application being tested will not correspond to real-life traffic.
* MEASUREMENTS: A truism in the sciences says that the act of observation alters the thing observed. When monitoring a web application, care must be taken not to slow down the application and so influence its behavior.
* RANDOM NUMBER GENERATOR: To simulate real users as accurately as possible, a load test requires the generation and assignation of random qualities. This is can be an issue, since even well-known random number generators have been known to have problems.
Source : “Software Testing – Effective Methods, Tools and Techniques“ book authored by our director, Mr Pradeep Oak and published by McGraw Hill.