Similar presentations:
Performance testing
1.
PERFORMANCETESTING
2.
2Intro
I am Maksim
Petrov
QA automation engineer
3.
3Agenda
⊗ Introduction to performance testing
⊗ Performance testing fallacies
⊗ Collected metrics
⊗ Performance test tools
⊗ Example of performance test cases
⊗ Best practices
⊗
4.
1.INTRODUCTION
TO
PERFORMANCE
TESTING
5.
5What is performance testing?
6.
6What is performance testing?
⊗ Performance testing of defined as a type of non-functional
software testing to ensure software applications will
perform well under expected workload
⊗ The goal of performance testing isn’t to find bugs but to
eliminate performance bottlenecks
⊗ The focus of performance testing is checking a software
program’s
⊚ Speed
⊚ Scalability
⊚
7.
7Why do performance testing?
8.
Benefits of performancetesting
⊗ Improve optimization and load capability
⊗ Identify discrepancies and resolve issues
⊗ Measure the accuracy, speed, and stability of the
software
⊗ Validate the fundamental features of the software
⊗ Performance Testing allows keeping your users
happy
⊗
8
9.
When should you considerperformance?
5
Forecasting
4
3
2
1
Deploymen
t phase
Planning
and design
phase
Production
phase
Developme
nt phase
9
10.
10Types of performance testing
11.
11Types of performance testing
⊗ Load testing
⊗ Stress testing
⊗ Stability testing
⊗ Spike testing
⊗ Volume testing
⊗ Scalability testing
⊗ Capacity testing
⊗ Recovery testing
⊗ Failover testing
⊗ Configuration
testing
⊗ Compare testing
12.
12Types of performance testing
⊗ Load testing
⊗ Stress testing
⊗ Stability testing
⊗ Spike testing
⊗ Volume testing
⊗ Scalability testing
⊗ Capacity testing
⊗ Recovery testing
⊗ Failover testing
⊗ Configuration
testing
⊗ Compare testing
13.
Loadtesting
(maximum
load)
load
over max
max
med
min
at rest
time
13
14.
14Load
testing
load
over max
max
med
min
at rest
time
15.
15Stability testing
load
over max
max
med
min
at rest
time
16.
Stresstesting
& recovery
testing
load
over max
max
med
min
at rest
time
16
17.
17Configuration testing
load
over max
max
med
min
at rest
time
18.
Common performanceproblems
⊗ Startup time
⊗ Poor response time
⊗ Poor scalability
⊗ Bottlenecking:
⊚
⊚
⊚
⊚
⊚
CPU utilization
Memory utilization
Network utilization
Operating system limitations
Disk usage
18
19.
19Performance testing process
1
2
3
4
5
6
7
20.
20Performance testing process
1
2
3
4
5
6
7
21.
21Performance testing process
1
2
3
4
5
6
7
22.
22Performance testing process
1
2
3
4
5
6
7
23.
23Performance testing process
1
2
3
4
5
6
7
24.
24Performance testing process
1
2
3
4
5
6
7
25.
25Performance testing process
1
2
3
4
5
6
7
26.
26Performance testing process
1
2
3
4
5
6
7
27.
2.PERFORMANCE
TESTING
FALLACIES
28.
Performance testing fallacies29.
29Performance testing fallacies
⊗ Performance testing is the last step in
development
⊗ More hardware can fix performance issues
⊗ The testing environment is close enough
⊗ What works now, works across the board
⊗ One performance testing scenario is enough
30.
30Performance testing fallacies
⊗ Testing each part equals testing the whole
system
⊗ What works for them, works for us
⊗ Software developers are too experienced to
need performance testing
⊗ A full load test tells everything
⊗ Test scripts are actual users
31.
3.COLLECTED
METRICS
32.
Performance testing metrics:parameters monitored
⊗
⊗
⊗
⊗
⊗
⊗
⊗
⊗
⊗
⊗
⊗
Processor Usage
Memory use
Disk time
Bandwidth
Private bytes
Committed memory
Memory pages/second
Page faults/second
CPU interrupts per second
Disk queue length
Network output queue
length
⊗ Network bytes total per
second
⊗ Response time
⊗ Throughput
⊗ Amount of connection
pooling
⊗ Maximum active sessions
⊗ Hit ratios
⊗ Hits per second
⊗ Rollback segment
⊗ Database locks
⊗ Top waits
⊗ Thread counts
⊗ Garbage collection
32
33.
4.PEFRORMANCE
TEST TOOLS
34.
34Performance test tools
35.
5.EXAMPLE
PERFORMANCE
TEST CASES
36.
36Example
37.
6.BEST PRACTICES
38.
38Best practices
⊗ Test as early as possible in development
⊗ Follow a devops approach
⊗ Consider users, not just servers
⊗ Understand performance test definitions
⊗ Build a complete performance model
⊗ Define baselines for important system
functions
⊗ Consistently report and analyze the results
39.
7.AUTOMATION
40.
40Say hello to automated
performance testing
41.
41Why you should automate
⊗ Avoid launch failures
⊗ Avoid bad user experiences
⊗ Avoid performance degradation
From here we get:
⊗ Shifting performance testing left
⊗
42.
42Challenges
⊗ Long wait to validation performance or
get feedback of fix done
⊗ No continuous integration or version
control support to load testing
⊗
43.
Know your goals44.
Create test cases45.
Pass/fail criteria46.
Integrate with CI47.
Version control48.
Pre-production test environment49.
Reports & notifications50.
Example51.
51JENKINS
TRIGGERS
PIPELINE
SCRIPT
LOADER
APPLICAT
ION
SERVER
GATEWAY
ESB
WEB
CONTAIN
ER
52.
52JENKINS
TRIGGERS
PIPELINE
SCRIPT
WEB
CONTAIN
ER
APPLICAT
ION
SERVER
GATEWAY
ESB
WEB
CONTAIN
ER
53.
53Pipeline stages
54.
5455.
55WEB
CONTAIN
ER
GATEWAY
APPLICAT
ION
SERVER
WEB
CONTAIN
ER
56.
56Pipeline stages
57.
5758.
58WEB
CONTAIN
ER
GATEWAY
APPLICAT
ION
SERVER
WEB
CONTAIN
ER
59.
59Pipeline stages
60.
6061.
61WEB
CONTAIN
ER
GATEWAY
APPLICAT
ION
SERVER
WEB
CONTAIN
ER
62.
62Pipeline stages
63.
6364.
64WEB
CONTAIN
ER
APPLICAT
ION
SERVER
GATEWAY
ESB
WEB
CONTAIN
ER
65.
65Pipeline stages
66.
66Pipeline stages
67.
67WEB
CONTAIN
ER
APPLICAT
ION
SERVER
GATEWAY
ESB
WEB
CONTAIN
ER
68.
68BELUHA
AVALANC
HE
WEB
CONTAIN
ER
APPLICAT
ION
SERVER
GATEWAY
ESB
WEB
CONTAIN
ER
69.
69BELUHA
AVALANC
HE
WEB
CONTAIN
ER
APPLICAT
ION
SERVER
GATEWAY
ESB
WEB
CONTAIN
ER
70.
70BELUHA
AVALANC
HE
WEB
CONTAIN
ER
APPLICAT
ION
SERVER
GATEWAY
ESB
WEB
CONTAIN
ER
71.
71Avalanche
port type 1
WEB SERVLET
ESB
ASYCNH
REST
HTTP
port type 2
port type N
72.
72BELUHA
AVALANC
HE
WEB
CONTAIN
ER
APPLICAT
ION
SERVER
GATEWAY
ESB
WEB
CONTAIN
ER
73.
73BELUHA
WEB
SERVLET
{
start/stop load
“key”:
value,
…
}
WEB
messages
CONTAIN
GATEWAY
ER
AVALANC
HE
APPLICAT
ION
SERVER
ESB
WEB
CONTAIN
ER
74.
74BELUHA
WEB
SERVLET
{
start/stop load
“key”:
value,
…
}
WEB
messages
CONTAIN
GATEWAY
ER
AVALANC
HE
APPLICAT
ION
SERVER
ESB
WEB
CONTAIN
ER
75.
75BELUHA
WEB
SERVLET
{
start/stop load
“key”:
value,
…
}
WEB
messages
CONTAIN
GATEWAY
ER
AVALANC
HE
APPLICAT
ION
SERVER
ESB
WEB
CONTAIN
ER
76.
7677.
7778.
7879.
79Pipeline stages
80.
8081.
81WEB
CONTAIN
ER
APPLICAT
ION
SERVER
GATEWAY
ESB
WEB
CONTAIN
ER
82.
8283.
83THANKS!
Any questions?
t.me/ZnVja2luZyBuZXJk