Automation Testing tool that can be used in software engineering course Ran Shi 04/29/2011
Why use automated performance testing tools? There is no way to manually test the way a Web application performs under the stress of hundreds of users until it is deployed on a public Web server. However, there are some tools that can help.
Automated Performance Testing Tools Commercial - LoadRunner, Rational Robot, QALoad, SilkPerformer Open Source - Apache JMeter, OpenSTA LR-HP; Rational-IBM; silk-borland
Apache JMeter Apache JMeter is open source software, a 100% pure Java desktop application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has expanded to other test functions.
What can it do? It can be used to simulate a heavy load on a server, network or object to test its strength or to analyze overall performance under different load types. Users can use it to make a graphical analysis of performance or to test their server/script/object behavior under heavy concurrent load.
Apache JMeter Features It can test many different server types; Complete portability and 100% Java purity; The full multithreading framework allows concurrent sampling by many threads and simultaneous different functions sampling by separating thread groups; Its careful GUI design allows faster operation and more precise timings; Caching and offline analysis/replaying of test results. Web-HTTP, HTTPS; SOAP; Database via JDBC; Mail-POP3
Adding Users Thread Group
Users Thread Group (cont.) Thread Group tells JMeter the number of users that want to simulate, how often the users send requests and how many requests they send. Number of Threads: the number of users. Ramp-Up Period: how long to reach the maximum test stress. Loop Count: how many times to repeat the test.
Adding Default HTTP Request Properties It’s time to define the tasks they will perform.
Adding HTTP Requests Add HTTP Request elements which use some of the default settings.
Apache JMeter Graph Results
Apache JMeter Graph Results (cont.) Samples: the number of requests. Sample= Number of Threads * Loop Count. Average: the average response time Median: 50% users response time Throughput: the number of Requests/Minute the server handled.
Apache JMeter Graph Results (cont.) The Graph Results listener generates a simple graph that plots all sample times. Users can increase the number of threads to discover their server’s maximum throughput.
Spline Visualizer
Spline Visualizer (cont.) The Spline Visualizer provides a view of all sample times from the start of the test till the end, regardless of how many samples have been taken.
Summary Advantages Open source and free Detailed tutorial from Apache Unlimited Load generation Disadvantages - In specific unicast scenarios, such as repeatedly downloading very large files, the ability of agents to generate load falls off abruptly due to memory issues.
Further Tutorial or Information Apache Jakarta Project provides detailed tutorial for using Apache JMeter http://jakarta.apache.org/jmeter/usermanual/index.html