4. Performance Testing
Performance Testing is a type of testing to ensure software applications
will perform well under their expected workload.
The focus:
● Speed
● Scalability
● Stability
What is Performance testing ?
4
5. Performance
Testing
Why Performance testing ?
Loss of revenue
If your application doesn't perform, what could be the damage:
Loss of customers
Loss of productivity
Backlog of work
Damage to your brand
5
7. Performance Testing
Difference between Load & Stress test
Load test:
To verify application behavior under normal and
peak load conditions
Stress Test:
To determine or validate an application’s behavior
when it is pushed beyond normal or peak load
conditions
7
11. Performance Testing
Application Server
Database Problems
Web Server
Network Server
● Memory leaks
● High CPU usage
● Database deadlocks
● Insufficient Indexing
● Fragmented Database.
● Poor server design
● Memory problems
● Firewall throughput
● Load balancers
Performance Symptoms and Issues
11
12. Install JMeter tool
Create a scenario & run script
Get result & Analysis report
Overview Apache JMeter
12
13. Performance Testing
➔ JMeter is a software that can perform load test,performance-oriented
business (functional) test, regression test, etc., on different protocols
or technologies.
➔ JMeter is a Java desktop application with a graphical interface that
uses the Swing graphical API
What is the Apache JMeter ?
13
15. Performance Testing
❖ It is an Open source tool
❖ Perform automated and functional testing for your application
❖ Can load and performance test server types: Web(HTTP, HTTPS),
Web Services (SOAP/XML-RPC), Database via JDBC, FTP Service,...
❖ Test results format like report, Graph, Aggregate report, Results in
tree and Results in Table
Why JMeter ?
15
19. Performance Testing
Test Plan
➢ Used for containing the test
➢ Describe series of steps JMeter will execute
➢ A test plan must have at least one Thread Group
JMeter basic elements
19
20. Performance Testing
Workbench
➢ Provide a place to temporarily store test elements while not in use
➢ To copy/paste purposes or any other purpose you desire
➢ Your WorkBench can be saves independently
JMeter basic elements
20
21. Performance Testing
JMeter basic elements
Thread Group
- Setup number of thread
- Setup ramp up period
- No. of times test executes
Timer
- Delay next request for
certain amount of time
Listener
- Graph Result
- View Results Tree and
many more
Controllers
- Sampler (Send Request to
Server)
- Logical Controller
21
22. Performance Testing
JMeter basic elements
Assertions
- To assert fact about
responses received from
HTTP request
Pre-Processor
- Execute prior to sample
request
Post-Processor
- Execute some action after
sampler request
Configuration Elements
- To configure setting
22
26. JMeter Plugins
A plugin of JMeter, lots of great features (https://jmeter-plugins.org)
● PerfMon Metrics collector
● Response Times Over Time
● Stepping Thread Group
● Non-GUI console Status Logger
● Webdriver Sampler
● ...
JMeter Plugins
26
27. JMeter Plugins
Use selenium for performance testing
● Use real Browsers : Firefox, Chrome, Internet Explorer (IE)
● Write your WebDriver script as usual: Java, JavaScript, BeanShell, ...
JMeter Real Browser
8 GB, 4 core machine = 1000 users 8 GB, 4 core machine = 4-12 users
27