Automation Testing tools that can be used in software

Download Report

Transcript Automation Testing tools that can be used in software

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
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.
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
Adding HTTP Requests
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/in
dex.html