SlideShare a Scribd company logo
Tips and tricks for performance testing CI. Лайфхак для безперервного процесу тестування навантаження, Микита Кричко
WHAT IS YOUR ROLES IN PROJECT
• DEVELOPER
• QA
• PM
• Other ?
WHAT IS YOUR EXPIRIENCE IN
PERFORMANCE TESTING?
WHAT DO YOU WANT FROM PERFORMANCE
TESTING?
AGENDA
• Timeframe?
• What to skip?
• What to focus on?
WHO ARE YOU
PEOPLE?
24.05.2018 / 4
TIP and TRICKS
in
CONTINIOUS
PERFORMANCE TESTING
PERFORMNCE TESTING
AGENDA
• Timeframe?
• What to skip?
• What to focus on?
GOALS
BASE-LINE
Understand current status of application performance
RESEARCH
Find problems and bottlenecks
CONTROL
Execute after each iteration of development, to control that
performance does not decrease
CONTINIOUS
PERFORMANCE TESTING
AGENDA
• Timeframe?
• What to skip?
• What to focus on?
GOALS FOR
CONTINIOUS
PERFORMANCE
TESTING
DEFINE
• Issue without human interaction
• Trend: is it better or worse
• Place of problem
• Responsible person
DECREASE TIME
• Find problems and bottlenecks
• Recreate problems
• Diagnostic problem
REQUIREMENTS TO SYSTEM
AGENDA
• Timeframe?
• What to skip?
• What to focus on?
WHEN
IMPLEMENT
CI is already implemented
Dedicated environment for PT
Easy deployment process
• Application, DB, system, parts of the
system
• Test data
PT scenarios are ready
Data storage for result
Access to all monitoring's and logs
HOW TESTS
APPEARS
Deployment
Health check
Functional smoke test
Performance testing pipeline
Save results to DB
Save logs to DB
Automatic analysis
Generate report /result/ dashboards
Separate scenario
Etalon test
Test on target load
Increase load
Stress test
Combined scenario (flow)
Etalon test
Test on target load
Increase load
Stress test
• Response time
• Network delay
• Network traffic
• Disk I/O
• CPU usage
• per server
• per process
• Memory usage
• per server
• per process
• OtherAGENDA
• Timeframe?
• What to skip?
• What to focus on?
MEASUREMENTS
METRICS x server
x process
• Any DB
• Table for RAW data from performance tool
• Table for resource-log data
• Table for aggregated statistic
• Add column – TPS & RPS
• Save RAW result for 30 days
• Primary key and foreign key should be
timestamp (round to 1 sec)
AGENDA
• Timeframe?
• What to skip?
• What to focus on?
RESULT STORAGE
AGENDA
• Timeframe?
• What to skip?
• What to focus on?
PRIMARY KEY
Time stamp milisecond Request name CPU (server 1) CPU (server 2)
1526288760 001 R_1
1526288760 054 R_2
1526288760 112 56
1526288760 176 R_3
1526288760 245 54
1526288760 540 R_4
1526288760 664 57
1526288760 782 56
1526288760 891 R_5
1526288760 953 R_6
During one second
Layers
OVERVIEW
REST SOAP SQL
AGENDA
• Timeframe?
• What to skip?
• What to focus on?
PERFORMANCE
TESING
PIPELINE
Functional test (pre-commit, integration, functional, GUI
tests)
Deployment to performance environment
Smoke test (integration, functional tests)
PT: Etalon test
PT: separate test on target load
PT: step separate test to
stress load
PT: step combined
test to stress load
Save results and
generate report
Fast identify layer of problem
PT: smoke test – check successful
deployment – functionality should work
PT: Etalon test – fast check on minimal
load (1 TPS)
AGENDA
• Timeframe?
• What to skip?
• What to focus on?
WHY DO
ALL THAT TEST?
PT: Separate test on target load
(simple scheme)
Response time = REST + SOAP + SQL
and
REST RT = SOAP + SQL + delay
SOAP RT = SQL + delay
TESTS:
1. SQL
2. SOAP
3. REST
AGENDA
• Timeframe?
• What to skip?
• What to focus on?
WHY DO
ALL THAT TEST?
x number of scenarios
Fast identify layer of problem
PT: step separate test to stress load
PT: step combined test to stress load
AGENDA
• Timeframe?
• What to skip?
• What to focus on?
WHY DO
ALL THAT TEST?
AGENDA
• Timeframe?
• What to skip?
• What to focus on?
HOW FIND BOTTLE
NECK IN
SHORTEST TIME
REST SOAP SQL
STEP BY STEP
AGENDA
• Timeframe?
• What to skip?
• What to focus on?
HOW BUILD
PROCESS OF
CI IN PT
Manual
performance testing
CI of
Performance testing
Automated execute
Save results (log) history
Automated analysis
Automated reports
Prepare
Execute
Analysis
Report
Upgrade
AGENDA
• Timeframe?
• What to skip?
• What to focus on?
AUTOMATED
EXECUTE
Jmeter
generator
AGENDA
• Timeframe?
• What to skip?
• What to focus on?
AUTOMATED
REPORTS
Jmeter
generator
GENERATE
OWN
REPORT
(Overview)
SAVE REPORT
AGENDA
• Timeframe?
• What to skip?
• What to focus on?
COMPARE
REPORTS
USER CI TOOL PT TOOL Application +
Infrastructure
Report
tool
DB
Monitoring
tool
START TEST
START TEST
GENERATE LOAD
GENERATE DATA
SAVE DATA
CALCULATE DATA
GENERATE REPORTRETURN DATA
RETURN REPORT
0
5
10
15
20
25
21-11-17 22-11-17 23-11-17 24-11-17 25-11-17 26-11-17 27-11-17 28-11-17
Positive trends
Positive Negative
WHY DO
ALL THAT TEST?DIFFERENT
TRENDS OF RESULTS
0
5
10
15
20
25
21-11-17 22-11-17 23-11-17 24-11-17 25-11-17 26-11-17 27-11-17 28-11-17
Negative trends
Positive Negative
TRUE or FALSE – only for Boolean
Boolean is only for defined result for one
measure
Its possible in case of SLA
But PT has much more measurements:
• Response time
• Network delay
• Network traffic
• Disk I/O
• CPU usage
• per server
• per process
• Memory usage
• per server
• per process
• Other
AGENDA
• Timeframe?
• What to skip?
• What to focus on?
PROBLEM WITH
RESULTS
WHAT VALUE WE SHOULD USE FOR
MEASURE:
• Minimum
• Average
• Mode
• Median
• Quantile
• Maximum
AGENDA
• Timeframe?
• What to skip?
• What to focus on?
PROBLEM WITH
RESULTS
AGENDA
• Timeframe?
• What to skip?
• What to focus on?
PROBLEM WITH
RESULTS
https://mathwithbaddrawings.com/2016/07/13/why-not-to-trust-statistics/
WHO KNOWS what is
BOXPLOT?
AGENDA
• Timeframe?
• What to skip?
• What to focus on?
QUASTION TO
AUDITORY
PROBLEM WITH
RESULTS
10 ms
20 ms
20 ms
20 ms
30 ms
30 ms
30 ms
40 ms
40 ms
40 ms
60 ms
200 ms
All results: 10 - 200
Results
Average: 45
Median: 30
IQR (most of 50 %): 20-40
IQR±2 σ (97%): 10-60
0 10 30 50 60 100 150 200
AGENDA
• Timeframe?
• What to skip?
• What to focus on?
BOXPLOT
AGENDA
• Timeframe?
• What to skip?
• What to focus on?
TRENDS
REPORTS
5 10 20 30 50 80 90 100
5000
2500
0
AGENDA
• Timeframe?
• What to skip?
• What to focus on?
TRENDS
REPORTS
date
AGENDA
• Timeframe?
• What to skip?
• What to focus on?
COMPARE
REPORTS
10 20 30 40 50 60 70 80 90 100
500
2500
0
LAYER
REPORT
AGENDA
• Timeframe?
• What to skip?
• What to focus on?
LAYERS
REPORT
AGENDA
• Timeframe?
• What to skip?
• What to focus on?
LAYERS
REPORT
WHY DO
ALL THAT TEST?
0 1 0 1 0
0 1 0 0 1
1 0 1 0 1
0 1 1 0 1
1 0 1 1 0
Test
Scenario_1
Test
Scenario_2
Test
Scenario_3
Test
Scenario_4
Test
Scenario_5
Operation_1
Operation_2
Operation_3
Operation_4
Operation_5
HEATMAP
MATRIX
WHY DO
ALL THAT TEST?COMPARING WITH
TARGET
MEASUREMENTS
WHY DO
ALL THAT TEST?
0.1 0.99 0.2 0.99 0.3
0.15 0.9 0.25 0.1 1
0.95 0.3 0.95 0.3 0.86
0.2 1 0.75 0.4 0.7
0.7 0.1 0.99 0.77 0.25
Test
Scenario_1
Test
Scenario_2
Test
Scenario_3
Test
Scenario_4
Test
Scenario_5
Operation_1
Operation_2
Operation_3
Operation_4
Operation_5
HEATMAP
MATRIX
WHY DO
ALL THAT TEST?
0.75 0.6 0.7 0.3
0.75 0.8 0.78 0.2
0.6 0.8 0.4 0.2
0.7 0.78 0.4 0.32
0.3 0.2 0.2 0.32
REST
Response
time
SOAP
Response
time
SQL
Response
time
CPU
usage
RAM
usage
REST
Response time
SOAP
Response time
SQL
Response time
CPU
usage
RAM
usage
COMPARE REPORTS
CORRELATION
MATRIX
WHY DO
ALL THAT TEST?
COMPARE REPORTS
DIFFERENCE
BETWEEN BUILDS
0.75 0.6 0.7 0.3
0.8 0.78 0.2
0.4 0.2
0.32
REST
Response
time
SOAP
Response
time
SQL
Response
time
CPU
usage
RAM
usage
REST
Response time
SOAP
Response time
SQL
Response time
CPU
usage
RAM
usage
0.73 0.6 0.7 0.3
0.9 0.58 0.2
0.4 0.5
0.32
REST
Response
time
SOAP
Response
time
SQL
Response
time
CPU
usage
RAM
usage
REST
Response time
SOAP
Response time
SQL
Response time
CPU
usage
RAM
usage
0.02 0 0 0
-0.1 0.2 0
0 -0.3
0
REST
Response
time
SOAP
Response
time
SQL
Response
time
CPU
usage
RAM
usage
REST
Response time
SOAP
Response time
SQL
Response time
CPU
usage
RAM
usage
Old build New build Difference
ANOMALIES
https://anomaly.io/anomaly-detection-twitter-r/
ANOMALIES
Anomalies:
• Software
• Hardware (VM or resources)
• Time
• Test data
OTHER
RECOMENDATIONS Don’t believe yourself and results
Re-run test :
• This day, but change time
• Next day same time
• Different test data
• Wait , maybe it will be fix by itself 
Bug report:
• Change step-to-reproduce into
conditions
• Prepare magic button for developer
• as usual: add more log and more
profiling information as you can
TAKING
THE DECISION
TAKING
THE DECISION
AGENDA
• Timeframe?
• What to skip?
• What to focus on?
QUESTIONS

More Related Content

What's hot (20)

PDF
Being Agile with Any Process Template in TFS 2012
Angela Dugan
 
PDF
Infrastructure Testing: The Ultimate “Shift Left”
TechWell
 
PPTX
Agile Scrum training
jagannathun manoharan
 
PDF
XP Practices as Scaffolding for Breakthrough Companies
⇥ Tung Lam Vu ⇤
 
PPT
Fundamentals of agile tntu (2015-04-27)
Oleg Nazarevych
 
PPTX
Distributed agile- exec level briefing
Ravi Tadwalkar
 
PPTX
Software Measurement & Productivity Experiment
Krupananda Babu Mannekunta
 
PPTX
Oct 2012 Presentation for Agile NJ
Ilio Krumins-Beens
 
PPTX
Modern agile & ESP proposal for Transformation
Ravi Tadwalkar
 
PDF
Visual studio alm 2012 reporting overview
Angela Dugan
 
PDF
Where scrum doesn't fit
Colm O'hEocha
 
PPT
Agile by KD
Karl Dickman
 
PPTX
QA team transition to agile testing at Alcatel Lucent
AgileSparks
 
PPTX
Agile DC Lead Time
azheglov
 
PDF
Actionable Continuous Delivery Metrics - QCon San Francisco November 2018
Suzie Prince
 
PPTX
What is agile?
Joshua Render
 
PPTX
Test Metrics in Agile - powerful tool to support changes - Zavertailo Iuliia
Yulia Zavertailo
 
PPTX
Advanced Process Optimization - Services
jmerschat
 
PPTX
Definitions and Terms R1
John Newcomb
 
PDF
Are Your Continuous Tests Too Fragile for Agile?
Erika Barron
 
Being Agile with Any Process Template in TFS 2012
Angela Dugan
 
Infrastructure Testing: The Ultimate “Shift Left”
TechWell
 
Agile Scrum training
jagannathun manoharan
 
XP Practices as Scaffolding for Breakthrough Companies
⇥ Tung Lam Vu ⇤
 
Fundamentals of agile tntu (2015-04-27)
Oleg Nazarevych
 
Distributed agile- exec level briefing
Ravi Tadwalkar
 
Software Measurement & Productivity Experiment
Krupananda Babu Mannekunta
 
Oct 2012 Presentation for Agile NJ
Ilio Krumins-Beens
 
Modern agile & ESP proposal for Transformation
Ravi Tadwalkar
 
Visual studio alm 2012 reporting overview
Angela Dugan
 
Where scrum doesn't fit
Colm O'hEocha
 
Agile by KD
Karl Dickman
 
QA team transition to agile testing at Alcatel Lucent
AgileSparks
 
Agile DC Lead Time
azheglov
 
Actionable Continuous Delivery Metrics - QCon San Francisco November 2018
Suzie Prince
 
What is agile?
Joshua Render
 
Test Metrics in Agile - powerful tool to support changes - Zavertailo Iuliia
Yulia Zavertailo
 
Advanced Process Optimization - Services
jmerschat
 
Definitions and Terms R1
John Newcomb
 
Are Your Continuous Tests Too Fragile for Agile?
Erika Barron
 

Similar to Tips and tricks for performance testing CI. Лайфхак для безперервного процесу тестування навантаження, Микита Кричко (20)

PDF
Door to perfomance testing
Dharshana Kasun Warusavitharana
 
PPT
Performance Testing Overview
James Venetsanakos
 
PPTX
Interpreting Performance Test Results
Eric Proegler
 
PDF
Heuristics of performance testing
Pradeep Soundararajan
 
PDF
SCQAA-SF Meeting on May 21 2014
Sujit Ghosh
 
PDF
Neotys PAC 2018 - Ramya Ramalinga Moorthy
Neotys_Partner
 
PDF
Adding Value in the Cloud with Performance Test
Rodolfo Kohn
 
PDF
Comprehensive Performance Testing: From Early Dev to Live Production
TechWell
 
PPTX
Performance testing
Chalana Kahandawala
 
PDF
ConFoo: Moving web performance testing to the left
Tom Chavez
 
DOCX
My Project on Rational Performance Testing
Ganesh Pachankar
 
PDF
Encontrando la Aguja en el Rendimiento de Aplicaciones
Software Guru
 
PPTX
Performance Testing using LoadRunner
Kumar Gupta
 
PPT
T3 Consortium's Performance Center of Excellence
veehikle
 
PPTX
Alexander Podelko - Context-Driven Performance Testing
Neotys_Partner
 
PPTX
QSpiders - Introduction to JMeter
Qspiders - Software Testing Training Institute
 
PDF
Become a Performance Diagnostics Hero
TechWell
 
PPTX
Performance testing and j meter overview
krishna chaitanya
 
PPTX
TGT#19 - 3 seconds or less - Piotr Liss
Trójmiejska Grupa Testerska
 
PDF
CONTINUOUS PERFORMANCE TESTING - ISTSTC (1).pdf
Mesut Günes
 
Door to perfomance testing
Dharshana Kasun Warusavitharana
 
Performance Testing Overview
James Venetsanakos
 
Interpreting Performance Test Results
Eric Proegler
 
Heuristics of performance testing
Pradeep Soundararajan
 
SCQAA-SF Meeting on May 21 2014
Sujit Ghosh
 
Neotys PAC 2018 - Ramya Ramalinga Moorthy
Neotys_Partner
 
Adding Value in the Cloud with Performance Test
Rodolfo Kohn
 
Comprehensive Performance Testing: From Early Dev to Live Production
TechWell
 
Performance testing
Chalana Kahandawala
 
ConFoo: Moving web performance testing to the left
Tom Chavez
 
My Project on Rational Performance Testing
Ganesh Pachankar
 
Encontrando la Aguja en el Rendimiento de Aplicaciones
Software Guru
 
Performance Testing using LoadRunner
Kumar Gupta
 
T3 Consortium's Performance Center of Excellence
veehikle
 
Alexander Podelko - Context-Driven Performance Testing
Neotys_Partner
 
QSpiders - Introduction to JMeter
Qspiders - Software Testing Training Institute
 
Become a Performance Diagnostics Hero
TechWell
 
Performance testing and j meter overview
krishna chaitanya
 
TGT#19 - 3 seconds or less - Piotr Liss
Trójmiejska Grupa Testerska
 
CONTINUOUS PERFORMANCE TESTING - ISTSTC (1).pdf
Mesut Günes
 
Ad

More from Sigma Software (20)

PPTX
Fast is Best. Using .NET MinimalAPIs
Sigma Software
 
PPTX
"Are you developing or declining? Don't become an IT-dinosaur"
Sigma Software
 
PPTX
Michael Smolin, "Decrypting customer's cultural code"
Sigma Software
 
PPTX
Max Kunytsia, “Why is continuous product discovery better than continuous del...
Sigma Software
 
PPTX
Marcelino Moreno, "Product Management Mindset"
Sigma Software
 
PDF
Andrii Pastushok, "Product Discovery in Outsourcing - What, When, and How"
Sigma Software
 
PPTX
Elena Turkenych “BA vs PM: Who' the right person, for the right job, with the...
Sigma Software
 
PPTX
Eleonora Budanova “BA+PM+DEV team: how to build the synergy”
Sigma Software
 
PPTX
Stoyan Atanasov “How crucial is the BA role in an IT Project"
Sigma Software
 
PPTX
Olexandra Kovalyova, "Equivalence Partitioning, Boundary Values ​​Analysis, C...
Sigma Software
 
PPTX
Yana Lysa — "Decision Tables, State-Transition testing, Pairwase Testing"
Sigma Software
 
PPTX
VOLVO x HACK SPRINT
Sigma Software
 
PPTX
Business digitalization trends and challenges
Sigma Software
 
PPTX
Дмитро Терещенко, "How to secure your application with Secure SDLC"
Sigma Software
 
PPTX
Яна Лиса, “Ефективні методи написання хороших мануальних тестових сценаріїв”
Sigma Software
 
PDF
Тетяна Осетрова, “Модель зрілості розподіленної проектної команди”
Sigma Software
 
PDF
Training solutions and content creation
Sigma Software
 
PDF
False news - false truth: tips & tricks how to avoid them
Sigma Software
 
PPTX
Анна Бойко, "Хороший контракт vs очікування клієнтів. Що вбереже вас, якщо вд...
Sigma Software
 
PPTX
Дмитрий Лапшин, "The importance of TEX and Internal Quality. How explain and ...
Sigma Software
 
Fast is Best. Using .NET MinimalAPIs
Sigma Software
 
"Are you developing or declining? Don't become an IT-dinosaur"
Sigma Software
 
Michael Smolin, "Decrypting customer's cultural code"
Sigma Software
 
Max Kunytsia, “Why is continuous product discovery better than continuous del...
Sigma Software
 
Marcelino Moreno, "Product Management Mindset"
Sigma Software
 
Andrii Pastushok, "Product Discovery in Outsourcing - What, When, and How"
Sigma Software
 
Elena Turkenych “BA vs PM: Who' the right person, for the right job, with the...
Sigma Software
 
Eleonora Budanova “BA+PM+DEV team: how to build the synergy”
Sigma Software
 
Stoyan Atanasov “How crucial is the BA role in an IT Project"
Sigma Software
 
Olexandra Kovalyova, "Equivalence Partitioning, Boundary Values ​​Analysis, C...
Sigma Software
 
Yana Lysa — "Decision Tables, State-Transition testing, Pairwase Testing"
Sigma Software
 
VOLVO x HACK SPRINT
Sigma Software
 
Business digitalization trends and challenges
Sigma Software
 
Дмитро Терещенко, "How to secure your application with Secure SDLC"
Sigma Software
 
Яна Лиса, “Ефективні методи написання хороших мануальних тестових сценаріїв”
Sigma Software
 
Тетяна Осетрова, “Модель зрілості розподіленної проектної команди”
Sigma Software
 
Training solutions and content creation
Sigma Software
 
False news - false truth: tips & tricks how to avoid them
Sigma Software
 
Анна Бойко, "Хороший контракт vs очікування клієнтів. Що вбереже вас, якщо вд...
Sigma Software
 
Дмитрий Лапшин, "The importance of TEX and Internal Quality. How explain and ...
Sigma Software
 
Ad

Recently uploaded (20)

PDF
Unlock Efficiency with Insurance Policy Administration Systems
Insurance Tech Services
 
PDF
Letasoft Sound Booster 1.12.0.538 Crack Download+ Product Key [Latest]
HyperPc soft
 
PPTX
A Complete Guide to Salesforce SMS Integrations Build Scalable Messaging With...
360 SMS APP
 
PDF
GridView,Recycler view, API, SQLITE& NetworkRequest.pdf
Nabin Dhakal
 
PPTX
Tally software_Introduction_Presentation
AditiBansal54083
 
PDF
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
PPTX
3uTools Full Crack Free Version Download [Latest] 2025
muhammadgurbazkhan
 
PPTX
An Introduction to ZAP by Checkmarx - Official Version
Simon Bennetts
 
PDF
Capcut Pro Crack For PC Latest Version {Fully Unlocked} 2025
hashhshs786
 
PDF
Executive Business Intelligence Dashboards
vandeslie24
 
PPTX
Engineering the Java Web Application (MVC)
abhishekoza1981
 
PDF
Continouous failure - Why do we make our lives hard?
Papp Krisztián
 
PPTX
Equipment Management Software BIS Safety UK.pptx
BIS Safety Software
 
PDF
Mobile CMMS Solutions Empowering the Frontline Workforce
CryotosCMMSSoftware
 
PDF
Revenue streams of the Wazirx clone script.pdf
aaronjeffray
 
PPTX
Perfecting XM Cloud for Multisite Setup.pptx
Ahmed Okour
 
PPTX
Migrating Millions of Users with Debezium, Apache Kafka, and an Acyclic Synch...
MD Sayem Ahmed
 
PDF
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
DOCX
Import Data Form Excel to Tally Services
Tally xperts
 
PDF
Efficient, Automated Claims Processing Software for Insurers
Insurance Tech Services
 
Unlock Efficiency with Insurance Policy Administration Systems
Insurance Tech Services
 
Letasoft Sound Booster 1.12.0.538 Crack Download+ Product Key [Latest]
HyperPc soft
 
A Complete Guide to Salesforce SMS Integrations Build Scalable Messaging With...
360 SMS APP
 
GridView,Recycler view, API, SQLITE& NetworkRequest.pdf
Nabin Dhakal
 
Tally software_Introduction_Presentation
AditiBansal54083
 
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
3uTools Full Crack Free Version Download [Latest] 2025
muhammadgurbazkhan
 
An Introduction to ZAP by Checkmarx - Official Version
Simon Bennetts
 
Capcut Pro Crack For PC Latest Version {Fully Unlocked} 2025
hashhshs786
 
Executive Business Intelligence Dashboards
vandeslie24
 
Engineering the Java Web Application (MVC)
abhishekoza1981
 
Continouous failure - Why do we make our lives hard?
Papp Krisztián
 
Equipment Management Software BIS Safety UK.pptx
BIS Safety Software
 
Mobile CMMS Solutions Empowering the Frontline Workforce
CryotosCMMSSoftware
 
Revenue streams of the Wazirx clone script.pdf
aaronjeffray
 
Perfecting XM Cloud for Multisite Setup.pptx
Ahmed Okour
 
Migrating Millions of Users with Debezium, Apache Kafka, and an Acyclic Synch...
MD Sayem Ahmed
 
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
Import Data Form Excel to Tally Services
Tally xperts
 
Efficient, Automated Claims Processing Software for Insurers
Insurance Tech Services
 

Tips and tricks for performance testing CI. Лайфхак для безперервного процесу тестування навантаження, Микита Кричко

  • 2. WHAT IS YOUR ROLES IN PROJECT • DEVELOPER • QA • PM • Other ? WHAT IS YOUR EXPIRIENCE IN PERFORMANCE TESTING? WHAT DO YOU WANT FROM PERFORMANCE TESTING? AGENDA • Timeframe? • What to skip? • What to focus on? WHO ARE YOU PEOPLE?
  • 3. 24.05.2018 / 4 TIP and TRICKS in CONTINIOUS PERFORMANCE TESTING
  • 4. PERFORMNCE TESTING AGENDA • Timeframe? • What to skip? • What to focus on? GOALS BASE-LINE Understand current status of application performance RESEARCH Find problems and bottlenecks CONTROL Execute after each iteration of development, to control that performance does not decrease
  • 5. CONTINIOUS PERFORMANCE TESTING AGENDA • Timeframe? • What to skip? • What to focus on? GOALS FOR CONTINIOUS PERFORMANCE TESTING DEFINE • Issue without human interaction • Trend: is it better or worse • Place of problem • Responsible person DECREASE TIME • Find problems and bottlenecks • Recreate problems • Diagnostic problem
  • 6. REQUIREMENTS TO SYSTEM AGENDA • Timeframe? • What to skip? • What to focus on? WHEN IMPLEMENT CI is already implemented Dedicated environment for PT Easy deployment process • Application, DB, system, parts of the system • Test data PT scenarios are ready Data storage for result Access to all monitoring's and logs
  • 7. HOW TESTS APPEARS Deployment Health check Functional smoke test Performance testing pipeline Save results to DB Save logs to DB Automatic analysis Generate report /result/ dashboards Separate scenario Etalon test Test on target load Increase load Stress test Combined scenario (flow) Etalon test Test on target load Increase load Stress test
  • 8. • Response time • Network delay • Network traffic • Disk I/O • CPU usage • per server • per process • Memory usage • per server • per process • OtherAGENDA • Timeframe? • What to skip? • What to focus on? MEASUREMENTS METRICS x server x process
  • 9. • Any DB • Table for RAW data from performance tool • Table for resource-log data • Table for aggregated statistic • Add column – TPS & RPS • Save RAW result for 30 days • Primary key and foreign key should be timestamp (round to 1 sec) AGENDA • Timeframe? • What to skip? • What to focus on? RESULT STORAGE
  • 10. AGENDA • Timeframe? • What to skip? • What to focus on? PRIMARY KEY Time stamp milisecond Request name CPU (server 1) CPU (server 2) 1526288760 001 R_1 1526288760 054 R_2 1526288760 112 56 1526288760 176 R_3 1526288760 245 54 1526288760 540 R_4 1526288760 664 57 1526288760 782 56 1526288760 891 R_5 1526288760 953 R_6 During one second
  • 12. AGENDA • Timeframe? • What to skip? • What to focus on? PERFORMANCE TESING PIPELINE Functional test (pre-commit, integration, functional, GUI tests) Deployment to performance environment Smoke test (integration, functional tests) PT: Etalon test PT: separate test on target load PT: step separate test to stress load PT: step combined test to stress load Save results and generate report
  • 13. Fast identify layer of problem PT: smoke test – check successful deployment – functionality should work PT: Etalon test – fast check on minimal load (1 TPS) AGENDA • Timeframe? • What to skip? • What to focus on? WHY DO ALL THAT TEST?
  • 14. PT: Separate test on target load (simple scheme) Response time = REST + SOAP + SQL and REST RT = SOAP + SQL + delay SOAP RT = SQL + delay TESTS: 1. SQL 2. SOAP 3. REST AGENDA • Timeframe? • What to skip? • What to focus on? WHY DO ALL THAT TEST? x number of scenarios
  • 15. Fast identify layer of problem PT: step separate test to stress load PT: step combined test to stress load AGENDA • Timeframe? • What to skip? • What to focus on? WHY DO ALL THAT TEST?
  • 16. AGENDA • Timeframe? • What to skip? • What to focus on? HOW FIND BOTTLE NECK IN SHORTEST TIME REST SOAP SQL
  • 17. STEP BY STEP AGENDA • Timeframe? • What to skip? • What to focus on? HOW BUILD PROCESS OF CI IN PT Manual performance testing CI of Performance testing Automated execute Save results (log) history Automated analysis Automated reports Prepare Execute Analysis Report Upgrade
  • 18. AGENDA • Timeframe? • What to skip? • What to focus on? AUTOMATED EXECUTE Jmeter generator
  • 19. AGENDA • Timeframe? • What to skip? • What to focus on? AUTOMATED REPORTS Jmeter generator GENERATE OWN REPORT (Overview) SAVE REPORT
  • 20. AGENDA • Timeframe? • What to skip? • What to focus on? COMPARE REPORTS USER CI TOOL PT TOOL Application + Infrastructure Report tool DB Monitoring tool START TEST START TEST GENERATE LOAD GENERATE DATA SAVE DATA CALCULATE DATA GENERATE REPORTRETURN DATA RETURN REPORT
  • 21. 0 5 10 15 20 25 21-11-17 22-11-17 23-11-17 24-11-17 25-11-17 26-11-17 27-11-17 28-11-17 Positive trends Positive Negative WHY DO ALL THAT TEST?DIFFERENT TRENDS OF RESULTS 0 5 10 15 20 25 21-11-17 22-11-17 23-11-17 24-11-17 25-11-17 26-11-17 27-11-17 28-11-17 Negative trends Positive Negative
  • 22. TRUE or FALSE – only for Boolean Boolean is only for defined result for one measure Its possible in case of SLA But PT has much more measurements: • Response time • Network delay • Network traffic • Disk I/O • CPU usage • per server • per process • Memory usage • per server • per process • Other AGENDA • Timeframe? • What to skip? • What to focus on? PROBLEM WITH RESULTS
  • 23. WHAT VALUE WE SHOULD USE FOR MEASURE: • Minimum • Average • Mode • Median • Quantile • Maximum AGENDA • Timeframe? • What to skip? • What to focus on? PROBLEM WITH RESULTS
  • 24. AGENDA • Timeframe? • What to skip? • What to focus on? PROBLEM WITH RESULTS https://mathwithbaddrawings.com/2016/07/13/why-not-to-trust-statistics/
  • 25. WHO KNOWS what is BOXPLOT? AGENDA • Timeframe? • What to skip? • What to focus on? QUASTION TO AUDITORY
  • 26. PROBLEM WITH RESULTS 10 ms 20 ms 20 ms 20 ms 30 ms 30 ms 30 ms 40 ms 40 ms 40 ms 60 ms 200 ms All results: 10 - 200 Results Average: 45 Median: 30 IQR (most of 50 %): 20-40 IQR±2 σ (97%): 10-60 0 10 30 50 60 100 150 200
  • 27. AGENDA • Timeframe? • What to skip? • What to focus on? BOXPLOT
  • 28. AGENDA • Timeframe? • What to skip? • What to focus on? TRENDS REPORTS 5 10 20 30 50 80 90 100 5000 2500 0
  • 29. AGENDA • Timeframe? • What to skip? • What to focus on? TRENDS REPORTS date
  • 30. AGENDA • Timeframe? • What to skip? • What to focus on? COMPARE REPORTS 10 20 30 40 50 60 70 80 90 100 500 2500 0
  • 32. AGENDA • Timeframe? • What to skip? • What to focus on? LAYERS REPORT
  • 33. AGENDA • Timeframe? • What to skip? • What to focus on? LAYERS REPORT
  • 34. WHY DO ALL THAT TEST? 0 1 0 1 0 0 1 0 0 1 1 0 1 0 1 0 1 1 0 1 1 0 1 1 0 Test Scenario_1 Test Scenario_2 Test Scenario_3 Test Scenario_4 Test Scenario_5 Operation_1 Operation_2 Operation_3 Operation_4 Operation_5 HEATMAP MATRIX
  • 35. WHY DO ALL THAT TEST?COMPARING WITH TARGET MEASUREMENTS
  • 36. WHY DO ALL THAT TEST? 0.1 0.99 0.2 0.99 0.3 0.15 0.9 0.25 0.1 1 0.95 0.3 0.95 0.3 0.86 0.2 1 0.75 0.4 0.7 0.7 0.1 0.99 0.77 0.25 Test Scenario_1 Test Scenario_2 Test Scenario_3 Test Scenario_4 Test Scenario_5 Operation_1 Operation_2 Operation_3 Operation_4 Operation_5 HEATMAP MATRIX
  • 37. WHY DO ALL THAT TEST? 0.75 0.6 0.7 0.3 0.75 0.8 0.78 0.2 0.6 0.8 0.4 0.2 0.7 0.78 0.4 0.32 0.3 0.2 0.2 0.32 REST Response time SOAP Response time SQL Response time CPU usage RAM usage REST Response time SOAP Response time SQL Response time CPU usage RAM usage COMPARE REPORTS CORRELATION MATRIX
  • 38. WHY DO ALL THAT TEST? COMPARE REPORTS DIFFERENCE BETWEEN BUILDS 0.75 0.6 0.7 0.3 0.8 0.78 0.2 0.4 0.2 0.32 REST Response time SOAP Response time SQL Response time CPU usage RAM usage REST Response time SOAP Response time SQL Response time CPU usage RAM usage 0.73 0.6 0.7 0.3 0.9 0.58 0.2 0.4 0.5 0.32 REST Response time SOAP Response time SQL Response time CPU usage RAM usage REST Response time SOAP Response time SQL Response time CPU usage RAM usage 0.02 0 0 0 -0.1 0.2 0 0 -0.3 0 REST Response time SOAP Response time SQL Response time CPU usage RAM usage REST Response time SOAP Response time SQL Response time CPU usage RAM usage Old build New build Difference
  • 40. ANOMALIES Anomalies: • Software • Hardware (VM or resources) • Time • Test data
  • 41. OTHER RECOMENDATIONS Don’t believe yourself and results Re-run test : • This day, but change time • Next day same time • Different test data • Wait , maybe it will be fix by itself  Bug report: • Change step-to-reproduce into conditions • Prepare magic button for developer • as usual: add more log and more profiling information as you can
  • 44. AGENDA • Timeframe? • What to skip? • What to focus on? QUESTIONS