Loading...
Flash Player 9 (or above) is needed to view slideshows. We have detected that you do not have it on your computer.To install it, go here
Performance Testing With Jmeter
These are the slides I used to introduce students in my Testing Project course (http://adam.goucher.ca/?page_id=306) to Performance Testing and the JMeter (http://jakarta.apache.org) tool. Of course I cannot upload the hour long walkthrough of the tool as we created a Test Plan for the project but the slides are better than nothing.
2623 views | comments | 0 favorites | 248 downloads | 3 embeds (Stats)
More Info
This slideshow is Public
Total Views: 2623 on Slideshare: 2587 from embeds: 36
Most viewed embeds (Top 5):
More
Slideshow Transcript
- Slide 1: Performance Testing
with JMeter
Adam Goucher
http://adam.goucher.ca
adam_goucher@hotmail.com
- Slide 2: Lecture Objective
Give students an introduction to
performance testing concepts and
implementation using JMeter.
- Slide 3: Definitions
- Slide 4: Performance Testing
Performance testing determines or validates
the speed of the AUT (X per T)
- Slide 5: Load Testing
Load testing identifies the maximum
operating capacity of an application as
well as any bottlenecks that might interfere
with its operating at capacity
(Or, when does it blow up?)
- Slide 6: Stress Testing
Stress testing is focused on determining an
application’s robustness, availability, and
reliability under extreme conditions
• heavy loads
• high concurrency
• limited computational resources
- Slide 7: Scalability
Scalability testing determines or validates
whether adding another Y resource
(database, memory, disk, CPU, etc)
increases speed of X proportionally
- Slide 8: Pre-testing Activities
- Slide 9: Design Review
The cheapest performance issues to
address are ones that are never put into
the code.
Testers should review the application design
to see if there are any obvious potential
performance problems.
- Slide 10: Environment Prep - Network
Performance testing is often a network
intensive activity which can affect others in
the organization
Testing should be done on a separate,
segregated network.
- Slide 11: Environment Prep - Hardware
Depending on what your goals are for your
testing, different hardware is appropriate
for both the AUT and load generators.
Testers should acquire and configure the
correct hardware.
- Slide 12: Environment Prep - Software
Generating load is not as easy as it sounds.
Testers should acquire or create load
generators and configure them for their
desired goal
- Slide 13: Mission
Performance testing without a Mission is just
throwing load at a server to see what is
going to happen.
Testers should determine Why they are
doing their testing.
- Slide 14: Audience
Determining who you are generating
numbers for, will largely dictate what you
do
• Development
• Marketing
• Operations
- Slide 15: Metrics
Performance testing is all about numbers
and metrics.
Testers should determine which metrics
they are concerned about and how to get
them.
- Slide 16: Give Warning
Let anyone who might be affected by your
testing advance warning.
- Slide 17: Generic Testing Steps
1. Create / Record Test
2. Add measurement hooks
3. Data drive script
4. Add logging
5. Build workload profile
6. Execute test
- Slide 18: JMeter
- Slide 19: JMeter
JMeter is a free, open-source performance
measurement tool written in Java
- Slide 20: Thread Groups
The Thread Group is the basic element of a
JMeter Test Plan
Each thread represents a user setting a
thread group to 1000 simulates 1000
users
- Slide 21: Samplers
Samplers do the actual work in JMeter and
interact with the server you are loading
There are a number Samplers in JMeter by
default. For web testing, use ‘HTTP
Request'
- Slide 22: Listeners
The information produced by Samplers is
consumed by Listeners
Popular listeners are:
• Graph Results
• View Results Tree
• Simple Data Writer
- Slide 23: Logic Controllers
Logic Controllers determine the order that
Samplers are processed
More complex scripts will make use of
• Loops
• Interleave
• Random
• If
- Slide 24: Assertions
A test isn’t a test unless it checks
something. Assertions are what do the
checking
For web applications, these are the useful
ones
• Response
• Duration
• HTML Assertion
- Slide 25: Configuration Elements
Configuration Elements set default values for other
parts of the Test Plan as well as configure
variables
• CSV Data Set Config allows you do to DDT
within JMeter
• HTTP Cookie Manager will automatically
intercept and sent cookies with requests
• HTTP Request Defaults saves you time when
doing lots of HTTP Samplers
- Slide 26: Variables
In JMeter, you can reference variables as
such
${VARIABLE}
- Slide 27: Batch
JMeter can run in a non-gui mode to save
resources on the load generating
machines
- Slide 28: Recording
There is a way to record tests (as in
LoadRunner) but I find it easier to build
scripts one element at a time