18.65M
Category: programmingprogramming

Performance testing

1.

PERFORMANCE
TESTING

2.

2
Intro
I am Maksim
Petrov
QA automation engineer

3.

3
Agenda
⊗ 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.

5
What is performance testing?

6.

6
What 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.

7
Why do performance testing?

8.

Benefits of performance
testing
⊗ 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 consider
performance?
5
Forecasting
4
3
2
1
Deploymen
t phase
Planning
and design
phase
Production
phase
Developme
nt phase
9

10.

10
Types of performance testing

11.

11
Types 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.

12
Types 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.

Load
testing
(maximum
load)
load
over max
max
med
min
at rest
time
13

14.

14
Load
testing
load
over max
max
med
min
at rest
time

15.

15
Stability testing
load
over max
max
med
min
at rest
time

16.

Stress
testing
& recovery
testing
load
over max
max
med
min
at rest
time
16

17.

17
Configuration testing
load
over max
max
med
min
at rest
time

18.

Common performance
problems
⊗ Startup time
⊗ Poor response time
⊗ Poor scalability
⊗ Bottlenecking:





CPU utilization
Memory utilization
Network utilization
Operating system limitations
Disk usage
18

19.

19
Performance testing process
1
2
3
4
5
6
7

20.

20
Performance testing process
1
2
3
4
5
6
7

21.

21
Performance testing process
1
2
3
4
5
6
7

22.

22
Performance testing process
1
2
3
4
5
6
7

23.

23
Performance testing process
1
2
3
4
5
6
7

24.

24
Performance testing process
1
2
3
4
5
6
7

25.

25
Performance testing process
1
2
3
4
5
6
7

26.

26
Performance testing process
1
2
3
4
5
6
7

27.

2.
PERFORMANCE
TESTING
FALLACIES

28.

Performance testing fallacies

29.

29
Performance 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.

30
Performance 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.

34
Performance test tools

35.

5.
EXAMPLE
PERFORMANCE
TEST CASES

36.

36
Example

37.

6.
BEST PRACTICES

38.

38
Best 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.

40
Say hello to automated
performance testing

41.

41
Why you should automate
⊗ Avoid launch failures
⊗ Avoid bad user experiences
⊗ Avoid performance degradation
From here we get:
⊗ Shifting performance testing left

42.

42
Challenges
⊗ Long wait to validation performance or
get feedback of fix done
⊗ No continuous integration or version
control support to load testing

43.

Know your goals

44.

Create test cases

45.

Pass/fail criteria

46.

Integrate with CI

47.

Version control

48.

Pre-production test environment

49.

Reports & notifications

50.

Example

51.

51
JENKINS
TRIGGERS
PIPELINE
SCRIPT
LOADER
APPLICAT
ION
SERVER
GATEWAY
ESB
WEB
CONTAIN
ER

52.

52
JENKINS
TRIGGERS
PIPELINE
SCRIPT
WEB
CONTAIN
ER
APPLICAT
ION
SERVER
GATEWAY
ESB
WEB
CONTAIN
ER

53.

53
Pipeline stages

54.

54

55.

55
WEB
CONTAIN
ER
GATEWAY
APPLICAT
ION
SERVER
WEB
CONTAIN
ER

56.

56
Pipeline stages

57.

57

58.

58
WEB
CONTAIN
ER
GATEWAY
APPLICAT
ION
SERVER
WEB
CONTAIN
ER

59.

59
Pipeline stages

60.

60

61.

61
WEB
CONTAIN
ER
GATEWAY
APPLICAT
ION
SERVER
WEB
CONTAIN
ER

62.

62
Pipeline stages

63.

63

64.

64
WEB
CONTAIN
ER
APPLICAT
ION
SERVER
GATEWAY
ESB
WEB
CONTAIN
ER

65.

65
Pipeline stages

66.

66
Pipeline stages

67.

67
WEB
CONTAIN
ER
APPLICAT
ION
SERVER
GATEWAY
ESB
WEB
CONTAIN
ER

68.

68
BELUHA
AVALANC
HE
WEB
CONTAIN
ER
APPLICAT
ION
SERVER
GATEWAY
ESB
WEB
CONTAIN
ER

69.

69
BELUHA
AVALANC
HE
WEB
CONTAIN
ER
APPLICAT
ION
SERVER
GATEWAY
ESB
WEB
CONTAIN
ER

70.

70
BELUHA
AVALANC
HE
WEB
CONTAIN
ER
APPLICAT
ION
SERVER
GATEWAY
ESB
WEB
CONTAIN
ER

71.

71
Avalanche
port type 1
WEB SERVLET
ESB
ASYCNH
REST
HTTP
port type 2
port type N

72.

72
BELUHA
AVALANC
HE
WEB
CONTAIN
ER
APPLICAT
ION
SERVER
GATEWAY
ESB
WEB
CONTAIN
ER

73.

73
BELUHA
WEB
SERVLET
{
start/stop load
“key”:
value,

}
WEB
messages
CONTAIN
GATEWAY
ER
AVALANC
HE
APPLICAT
ION
SERVER
ESB
WEB
CONTAIN
ER

74.

74
BELUHA
WEB
SERVLET
{
start/stop load
“key”:
value,

}
WEB
messages
CONTAIN
GATEWAY
ER
AVALANC
HE
APPLICAT
ION
SERVER
ESB
WEB
CONTAIN
ER

75.

75
BELUHA
WEB
SERVLET
{
start/stop load
“key”:
value,

}
WEB
messages
CONTAIN
GATEWAY
ER
AVALANC
HE
APPLICAT
ION
SERVER
ESB
WEB
CONTAIN
ER

76.

76

77.

77

78.

78

79.

79
Pipeline stages

80.

80

81.

81
WEB
CONTAIN
ER
APPLICAT
ION
SERVER
GATEWAY
ESB
WEB
CONTAIN
ER

82.

82

83.

83
THANKS!
Any questions?
t.me/ZnVja2luZyBuZXJk
English     Русский Rules