SlideShare ist ein Scribd-Unternehmen logo
1 von 29
3 SECONDS OR LESS…
PERFORMANCE TESTS INTRODUCTION
AUTHOR: PIOTR LISS
WHY TEST PERFORMANCE?
 Why NOT to test
 It will work without it
 Why YES
 Locate performance downgrade before release
 Define the limits
 Find our bottleneck before user will
 On commercial sites – clients loss
 On internal sites – users frustration
 DDoS attack simulation
WHY TEST PERFORMANCE?
GOOGLE RANKING
Source: http://www.monitis.com/blog/website-performance-its-impact-on-google-ranking/
WHY TEST PERFORMANCE?
3 SECONDS OR LESS
Source: https://www.soasta.com/blog/google-mobile-web-performance-study/
WHY TEST PERFORMANCE?
FINANCIAL ASPECT
Source: https://www.doubleclickbygoogle.com/articles/mobile-speed-matters/
WHY TEST PERFORMANCE?
INCREASING SIZE OF AVERAGE PAGE
Source: http://httparchive.org/trends.php?s=All&minlabel=Nov+15+2010&maxlabel=Feb+1+2018
WHAT ARE PERFORMANCE TESTS?
DEFINITION
Test which result generates measurable value
regarding efficiency of testing product.
 response time
 number of users
 request per
second
 bits per second
 speed
 stability
 reliability
 capacity
 application
 web page
 service
 database
WHAT ARE PERFORMANCE TESTS?
HOW TO TEST
 Requirements – examples:
 can handle 1000 request per hour
 response time not bigger than 2000ms with 100 concurrent users
 can handle 6 hours with active 50 concurrent users
 after spike load application returns to previous state
 Parameters:
 number of active users (connections)
 response time
 capacity (maximum load)
 requests per second
WHAT ARE PERFORMANCE TESTS?
LOAD TEST
How application behave with predictable and safe load (good candidate for Continuous Integration process
and response time measurement)
0
10
20
30
40
50
0:00 1:00 2:00 3:00 4:00 5:00 6:00 7:00 8:00 9:00 10:00 11:00 12:00 13:00 14:00 15:00
Users
Time
LOAD TEST
WHAT ARE PERFORMANCE TESTS?
STRESS TEST
Usable to define border values (good test to define capacity and how infrastructure behave after crash)
0
10
20
30
40
50
60
0:00 1:00 2:00 3:00 4:00 5:00 6:00 7:00 8:00 9:00 10:00
Users
Time
STRESS TEST
WHAT ARE PERFORMANCE TESTS?
SPIKE TEST
Short and extremely high load to verify do application return to its before test state
0
10
20
30
40
50
60
0:00 1:00 2:00 3:00 4:00 5:00
Users
Time
SPIKE TEST
WHAT ARE PERFORMANCE TESTS?
SOAK/ENDURANCE TEST
Few hours load tests to verify does application on stable load will not lose its usability from beginning
(Memory Leak)
0
10
20
30
40
50
0:01:00 0:30:00 0:59:00 1:28:00 1:57:00 2:26:00 2:55:00 3:24:00 3:53:00
Users
Time
ENDURANCE TEST
HOW TESTING TOOL WORKS?
Testing tool
emulates user
story scenario
repeating it X
times during
Y seconds.
HOW TESTING TOOL WORKS?
 Eliminate any unrelated with tested product element:
 no User Interface if it’s not generated on our application (e.g. no web browser)
 eliminate external application on test environment (e.g. in place of external authorization proxy server make a
plug that will always emulate same result)
 Make as real as possible:
 Think time
 Cache as a browser
 Embedded resources
 Stable increasing load
 Cookies
 Different load regions (if possible)
 Environment “warm up”
 Divide test to steps
TOOLS
APACHE JMETER
 since: 1998
 free license: for all (Apache License Version 2.0)
 protocols: web, webservices (SOAP, REST), FTP, Mail, DB,
TCP, OS command line and many more
 programming experience: minimal (groovy, beanshell)
 requirements: any operating system that runs Java
 support: accessible community, keen to help, many
tutorials, trainings, courses, forum topics and discussions
 main advantages:
 dozens of free useful plugins that extend functionalities (e.g.
additional protocols, visualizations, webdriver)
 User-friendly interface
 Easy scalability
TOOLS
VISUAL STUDIO LOAD TESTS
 since: 2010
 free license: very limited (requires most expensive VS
version)
 protocols: web, webservices (SOAP, REST)
 programming experience: minimum-medium (C#, VB)
 requirements: any based on Windows
 support: official forum and support group, not to many
online tutorials
 main advantages:
 C# code gives possibility of advance test expansion
 Azure integration
 easy debugging and recording
TOOLS
AZURE PERFORMANCE TESTS
 since: 2014?
 free license: limited
 protocols: web
 programming experience: none
 requirements: web browser + Visual Studio Team
Services account
 support: not needed
 main advantages:
 free 20000 user-minutes/month tests on on-demand test
machine from desired world region
 test import from Visual Studio or JMeter (and partly
Fiddler)
 possibility to use own Azure infrastructure (additional
cost)
TOOLS
HP LOADRUNNER
 since: 1991
 free license: community edition (non-commercial)
 protocols: web, webservices (SOAP, REST), FTP, Mail, DB,
RDP, SAP and many more
 programming experience: medium (ANSI C or few other)
 requirements: Windows system with 8 cores and 16GB
memory
 support: many tutorials, trainings, courses, forum topics and
discussions
 main advantages:
 rich reports
 integration with many external software (including CI)
 good recorder
TOOLS
GATLING
 since: 2011
 free license: almost all (Apache License Version 2.0)
 protocols: web, DB, Mail, webservices (REST)
 programming experience: medium (DSL)
 requirements: any operating system that runs Java
 support: many web helpers and forum topics
 main advantages:
 can generate more load from single machine than other
tools
 simple and user-friendly reports
 easy to write plugins
TOOLS
OTHER
 SoapUI
 WebLOAD
 LoadUI NG Pro
 SmartMeter.io
 Appvance
 NeoLoad
 LoadComplete
 WAPT
 Loadster
 LoadImpact
 Rational Performance Tester
 Testing Anywhere
 OpenSTA
 QEngine (ManageEngine)
 Loadstorm
 CloudTest
 Httperf
 The Grinder
 Tsung
 Locust
 Bees with Machine Guns
 Multi-Mechanize
 Siege
 Apache Bench
PERFORMANCE TEST REPORT ANALYSIS
 Summary of all filtered test steps with errors,
response time and throughput statistics
 APDEX index
 APDEX is from 0 to 1 scale value that represents
how many request finished in given time
 toleration threshold - our target time
 frustration threshold - acceptable maximum time
 Helpful to compare results
PERFORMANCE TEST REPORT ANALYSIS
 Example charts:
 Response times over time
 Active threads
 Bytes sent/receive over time
 Hits per second
 Latency vs request
 Response time percentiles
APACHE JMETER
EXAMPLE USAGE - RECORDER
 JMeter Recorder
 Requires some basic adjustments and web
browser configuration
 Recorded records have to verified because
might contains some not related traffic
 Other methods:
 SAML recorder on any web browser (usually as
plugin)
 JMeter request/response analyzys
 Fiddler traffic recorder
APACHE JMETER
EXAMPLE USAGE – ASSERTIONS
 Text response (XPath response)
 Site header response
 Response time
 (not necessary) code response
APACHE JMETER
EXAMPLE USAGE – REAL BROWSER IMITATION
 Cache
 Embedded resources
 Cookies
APACHE JMETER
EXAMPLE USAGE – TEST RUN
 Verification process – GUI mode
 Run test using listeners
 Run process – non-GUI mode
 Run test using command line
APACHE JMETER
EXAMPLE USAGE – IS THAT ALL?
 Extraction rules - passing tokens and IDs between requests
 External files - e.g. other credential for every iteration
 Loops and IFs - e.g. requesting every few milliseconds until page will get certain content
 Scripts - e.g. exactly decide in which moment start timer
 Continuous Integration - e.g. integration with Jenkins
 Distributed environment - slave machines from different regions to generate load
PERFORMANCE TESTS PROBLEMS
 Asynchronous request and JavaScript code
 Increase performance by better code or by environment improvement?
 Do performance tester has enough work for full-time contract?
 Test environment vs production environment
 What to analyze after performance test run?
LINKS AND THANKS
 Author: Piotr Liss (www.linkedin.com/in/piotrLiss)
 Consultant: Darek Kozon (https://www.linkedin.com/in/dkozon/)
 Link: Blazemeter (https://www.blazemeter.com/)

Weitere ähnliche Inhalte

Was ist angesagt?

Mastering Test Automation: How to Use Selenium Successfully
Mastering Test Automation: How to Use Selenium Successfully Mastering Test Automation: How to Use Selenium Successfully
Mastering Test Automation: How to Use Selenium Successfully Applitools
 
Automated Web Testing With Selenium
Automated Web Testing With SeleniumAutomated Web Testing With Selenium
Automated Web Testing With SeleniumJodie Miners
 
Automated Testing Overview
Automated Testing OverviewAutomated Testing Overview
Automated Testing Overviewantsh
 
Web UI test automation instruments
Web UI test automation instrumentsWeb UI test automation instruments
Web UI test automation instrumentsArtem Nagornyi
 
Java Restart with WebFX
Java Restart with WebFX Java Restart with WebFX
Java Restart with WebFX Nikita Lipsky
 
Using protractor to build automated ui tests
Using protractor to build automated ui testsUsing protractor to build automated ui tests
Using protractor to build automated ui tests🌱 Dale Spoonemore
 
Mastering selenium for automated acceptance tests
Mastering selenium for automated acceptance testsMastering selenium for automated acceptance tests
Mastering selenium for automated acceptance testsNick Belhomme
 
Session on Selenium 4 : What’s coming our way? by Hitesh Prajapati
Session on Selenium 4 : What’s coming our way? by Hitesh PrajapatiSession on Selenium 4 : What’s coming our way? by Hitesh Prajapati
Session on Selenium 4 : What’s coming our way? by Hitesh PrajapatiAgile Testing Alliance
 
Continuous Quality Assurance using Selenium WebDriver
Continuous Quality Assurance using Selenium WebDriverContinuous Quality Assurance using Selenium WebDriver
Continuous Quality Assurance using Selenium WebDriverAOE
 
My own preferred testing tools - Paris JUG 2011
My own preferred testing tools - Paris JUG 2011My own preferred testing tools - Paris JUG 2011
My own preferred testing tools - Paris JUG 2011David Gageot
 
Automated Testing on Web Applications
Automated Testing on Web ApplicationsAutomated Testing on Web Applications
Automated Testing on Web ApplicationsSamuel Borg
 
Measuring the visual experience of website performance
Measuring the visual experience of website performanceMeasuring the visual experience of website performance
Measuring the visual experience of website performancePatrick Meenan
 
Let's make this test suite run faster - Paris JUG 2011
Let's make this test suite run faster - Paris JUG 2011Let's make this test suite run faster - Paris JUG 2011
Let's make this test suite run faster - Paris JUG 2011David Gageot
 
Let's make this test suite run faster! SoftShake 2010
Let's make this test suite run faster! SoftShake 2010Let's make this test suite run faster! SoftShake 2010
Let's make this test suite run faster! SoftShake 2010David Gageot
 

Was ist angesagt? (20)

Mastering Test Automation: How to Use Selenium Successfully
Mastering Test Automation: How to Use Selenium Successfully Mastering Test Automation: How to Use Selenium Successfully
Mastering Test Automation: How to Use Selenium Successfully
 
Automated Web Testing With Selenium
Automated Web Testing With SeleniumAutomated Web Testing With Selenium
Automated Web Testing With Selenium
 
Automated Testing Overview
Automated Testing OverviewAutomated Testing Overview
Automated Testing Overview
 
Selenium
SeleniumSelenium
Selenium
 
Web UI test automation instruments
Web UI test automation instrumentsWeb UI test automation instruments
Web UI test automation instruments
 
Java Restart with WebFX
Java Restart with WebFX Java Restart with WebFX
Java Restart with WebFX
 
Using protractor to build automated ui tests
Using protractor to build automated ui testsUsing protractor to build automated ui tests
Using protractor to build automated ui tests
 
OWASP Zed Attack Proxy
OWASP Zed Attack ProxyOWASP Zed Attack Proxy
OWASP Zed Attack Proxy
 
Selenium
SeleniumSelenium
Selenium
 
Selenium
SeleniumSelenium
Selenium
 
Mastering selenium for automated acceptance tests
Mastering selenium for automated acceptance testsMastering selenium for automated acceptance tests
Mastering selenium for automated acceptance tests
 
Session on Selenium 4 : What’s coming our way? by Hitesh Prajapati
Session on Selenium 4 : What’s coming our way? by Hitesh PrajapatiSession on Selenium 4 : What’s coming our way? by Hitesh Prajapati
Session on Selenium 4 : What’s coming our way? by Hitesh Prajapati
 
Continuous Quality Assurance using Selenium WebDriver
Continuous Quality Assurance using Selenium WebDriverContinuous Quality Assurance using Selenium WebDriver
Continuous Quality Assurance using Selenium WebDriver
 
Selenium
SeleniumSelenium
Selenium
 
My own preferred testing tools - Paris JUG 2011
My own preferred testing tools - Paris JUG 2011My own preferred testing tools - Paris JUG 2011
My own preferred testing tools - Paris JUG 2011
 
Automated Testing on Web Applications
Automated Testing on Web ApplicationsAutomated Testing on Web Applications
Automated Testing on Web Applications
 
Measuring the visual experience of website performance
Measuring the visual experience of website performanceMeasuring the visual experience of website performance
Measuring the visual experience of website performance
 
Let's make this test suite run faster - Paris JUG 2011
Let's make this test suite run faster - Paris JUG 2011Let's make this test suite run faster - Paris JUG 2011
Let's make this test suite run faster - Paris JUG 2011
 
Let's make this test suite run faster! SoftShake 2010
Let's make this test suite run faster! SoftShake 2010Let's make this test suite run faster! SoftShake 2010
Let's make this test suite run faster! SoftShake 2010
 
Qa process
Qa processQa process
Qa process
 

Ähnlich wie Optimize Website Performance with Load Testing

JMeter & ColdFusion
JMeter & ColdFusion JMeter & ColdFusion
JMeter & ColdFusion isummation
 
Основы нагрузочного тестирования с инструментом Jmeter
Основы нагрузочного тестирования с инструментом JmeterОсновы нагрузочного тестирования с инструментом Jmeter
Основы нагрузочного тестирования с инструментом JmeterКомпьютерная школа Hillel
 
Client-Side Performance Testing
Client-Side Performance TestingClient-Side Performance Testing
Client-Side Performance TestingAnand Bagmar
 
Zagat.com Case Study (DrupalCon Denver 2012)
Zagat.com Case Study (DrupalCon Denver 2012)Zagat.com Case Study (DrupalCon Denver 2012)
Zagat.com Case Study (DrupalCon Denver 2012)Phase2
 
Stepin evening presented
Stepin evening presentedStepin evening presented
Stepin evening presentedVijayan Reddy
 
Stating the obvious - 121 Test Automation Day, Dublin, 2018
Stating the obvious - 121 Test Automation Day, Dublin, 2018Stating the obvious - 121 Test Automation Day, Dublin, 2018
Stating the obvious - 121 Test Automation Day, Dublin, 2018Giulio Vian
 
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip Bannon
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip BannonSoft Test Ireland - Introduction to Jakarta Jmeter - Philip Bannon
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip BannonDavid O'Dowd
 
PROGNOSIS for Web Applications
PROGNOSIS for Web ApplicationsPROGNOSIS for Web Applications
PROGNOSIS for Web Applicationsantoni0martin
 
Performance eng prakash.sahu
Performance eng prakash.sahuPerformance eng prakash.sahu
Performance eng prakash.sahuDr. Prakash Sahu
 
Continuous Profiling in Production: What, Why and How
Continuous Profiling in Production: What, Why and HowContinuous Profiling in Production: What, Why and How
Continuous Profiling in Production: What, Why and HowSadiq Jaffer
 
Testing Mozilla Web Properties
Testing Mozilla Web PropertiesTesting Mozilla Web Properties
Testing Mozilla Web PropertiesStephen Donner
 
Client-side Performance Testing
Client-side Performance TestingClient-side Performance Testing
Client-side Performance TestingThoughtworks
 
Client-Side Performance Testing
Client-Side Performance TestingClient-Side Performance Testing
Client-Side Performance TestingAnand Bagmar
 
BDD/TDD based automation on short-term project on real example, Igor Kokoz
BDD/TDD based automation on short-term project on real example, Igor Kokoz BDD/TDD based automation on short-term project on real example, Igor Kokoz
BDD/TDD based automation on short-term project on real example, Igor Kokoz Sigma Software
 
Google App Engine for Java v0.0.2
Google App Engine for Java v0.0.2Google App Engine for Java v0.0.2
Google App Engine for Java v0.0.2Matthew McCullough
 
Website Testing Practices
Website Testing PracticesWebsite Testing Practices
Website Testing Practicesdeseomar
 

Ähnlich wie Optimize Website Performance with Load Testing (20)

JMeter & ColdFusion
JMeter & ColdFusion JMeter & ColdFusion
JMeter & ColdFusion
 
Основы нагрузочного тестирования с инструментом Jmeter
Основы нагрузочного тестирования с инструментом JmeterОсновы нагрузочного тестирования с инструментом Jmeter
Основы нагрузочного тестирования с инструментом Jmeter
 
Client-Side Performance Testing
Client-Side Performance TestingClient-Side Performance Testing
Client-Side Performance Testing
 
Zagat.com Case Study (DrupalCon Denver 2012)
Zagat.com Case Study (DrupalCon Denver 2012)Zagat.com Case Study (DrupalCon Denver 2012)
Zagat.com Case Study (DrupalCon Denver 2012)
 
Stepin evening presented
Stepin evening presentedStepin evening presented
Stepin evening presented
 
Stating the obvious - 121 Test Automation Day, Dublin, 2018
Stating the obvious - 121 Test Automation Day, Dublin, 2018Stating the obvious - 121 Test Automation Day, Dublin, 2018
Stating the obvious - 121 Test Automation Day, Dublin, 2018
 
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip Bannon
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip BannonSoft Test Ireland - Introduction to Jakarta Jmeter - Philip Bannon
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip Bannon
 
PROGNOSIS for Web Applications
PROGNOSIS for Web ApplicationsPROGNOSIS for Web Applications
PROGNOSIS for Web Applications
 
Performance eng prakash.sahu
Performance eng prakash.sahuPerformance eng prakash.sahu
Performance eng prakash.sahu
 
Continuous Profiling in Production: What, Why and How
Continuous Profiling in Production: What, Why and HowContinuous Profiling in Production: What, Why and How
Continuous Profiling in Production: What, Why and How
 
QSpiders - Installation and Brief Dose of Load Runner
QSpiders - Installation and Brief Dose of Load RunnerQSpiders - Installation and Brief Dose of Load Runner
QSpiders - Installation and Brief Dose of Load Runner
 
Testing Mozilla Web Properties
Testing Mozilla Web PropertiesTesting Mozilla Web Properties
Testing Mozilla Web Properties
 
Client-side Performance Testing
Client-side Performance TestingClient-side Performance Testing
Client-side Performance Testing
 
Client-Side Performance Testing
Client-Side Performance TestingClient-Side Performance Testing
Client-Side Performance Testing
 
Performance testing
Performance testingPerformance testing
Performance testing
 
BDD/TDD based automation on short-term project on real example, Igor Kokoz
BDD/TDD based automation on short-term project on real example, Igor Kokoz BDD/TDD based automation on short-term project on real example, Igor Kokoz
BDD/TDD based automation on short-term project on real example, Igor Kokoz
 
Google App Engine for Java v0.0.2
Google App Engine for Java v0.0.2Google App Engine for Java v0.0.2
Google App Engine for Java v0.0.2
 
Load Runner
Load RunnerLoad Runner
Load Runner
 
Website Testing Practices
Website Testing PracticesWebsite Testing Practices
Website Testing Practices
 
North east user group tour
North east user group tourNorth east user group tour
North east user group tour
 

Mehr von Trójmiejska Grupa Testerska

TGT#21 - Tester eksploracyjny, ostatni zawód na świecie. – Radosław Smilgin
TGT#21 - Tester eksploracyjny, ostatni zawód na świecie. – Radosław SmilginTGT#21 - Tester eksploracyjny, ostatni zawód na świecie. – Radosław Smilgin
TGT#21 - Tester eksploracyjny, ostatni zawód na świecie. – Radosław SmilginTrójmiejska Grupa Testerska
 
TGT#19 - Wszyscy jestesmy testerami - Michal Rabczuk
TGT#19 - Wszyscy jestesmy testerami - Michal RabczukTGT#19 - Wszyscy jestesmy testerami - Michal Rabczuk
TGT#19 - Wszyscy jestesmy testerami - Michal RabczukTrójmiejska Grupa Testerska
 
TGT#20 - Automated Tests Only For Testers - Kasper Kulikowski
TGT#20 - Automated Tests Only For Testers - Kasper KulikowskiTGT#20 - Automated Tests Only For Testers - Kasper Kulikowski
TGT#20 - Automated Tests Only For Testers - Kasper KulikowskiTrójmiejska Grupa Testerska
 
TGT#18 - End-to-end testing using Protractor - Jakub Raniszewski
TGT#18 - End-to-end testing using Protractor - Jakub RaniszewskiTGT#18 - End-to-end testing using Protractor - Jakub Raniszewski
TGT#18 - End-to-end testing using Protractor - Jakub RaniszewskiTrójmiejska Grupa Testerska
 
TGT#18 - BDD with The Three Amigos in API Testing - Julia Szarlej
TGT#18 - BDD with The Three Amigos in API Testing - Julia SzarlejTGT#18 - BDD with The Three Amigos in API Testing - Julia Szarlej
TGT#18 - BDD with The Three Amigos in API Testing - Julia SzarlejTrójmiejska Grupa Testerska
 
TGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin Kubecki
TGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin KubeckiTGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin Kubecki
TGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin KubeckiTrójmiejska Grupa Testerska
 
TGT#17 - RestApi testing tips and tricks: how to start testing api of your we...
TGT#17 - RestApi testing tips and tricks: how to start testing api of your we...TGT#17 - RestApi testing tips and tricks: how to start testing api of your we...
TGT#17 - RestApi testing tips and tricks: how to start testing api of your we...Trójmiejska Grupa Testerska
 
TGT#16 - Pain of test automatization in PAAS/SAAS solutions - Krzysztof Lembi...
TGT#16 - Pain of test automatization in PAAS/SAAS solutions - Krzysztof Lembi...TGT#16 - Pain of test automatization in PAAS/SAAS solutions - Krzysztof Lembi...
TGT#16 - Pain of test automatization in PAAS/SAAS solutions - Krzysztof Lembi...Trójmiejska Grupa Testerska
 
TGT#16 - Rozmowa techniczna (short talk) - Waldemar Mozoła
TGT#16 - Rozmowa techniczna (short talk) - Waldemar MozołaTGT#16 - Rozmowa techniczna (short talk) - Waldemar Mozoła
TGT#16 - Rozmowa techniczna (short talk) - Waldemar MozołaTrójmiejska Grupa Testerska
 
TGT#16 - Sztuka projektowania testów - Agnieszka Garwolińska
TGT#16 - Sztuka projektowania testów - Agnieszka GarwolińskaTGT#16 - Sztuka projektowania testów - Agnieszka Garwolińska
TGT#16 - Sztuka projektowania testów - Agnieszka GarwolińskaTrójmiejska Grupa Testerska
 
TGT#15 - Piramida testów w praktyce (notatki z dyskusji)
TGT#15 - Piramida testów w praktyce (notatki z dyskusji)TGT#15 - Piramida testów w praktyce (notatki z dyskusji)
TGT#15 - Piramida testów w praktyce (notatki z dyskusji)Trójmiejska Grupa Testerska
 
TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...
TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...
TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...Trójmiejska Grupa Testerska
 
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...Trójmiejska Grupa Testerska
 
TGT#14 - Case Study: Współpraca Testera i Product Ownera w zespole scrumowym ...
TGT#14 - Case Study: Współpraca Testera i Product Ownera w zespole scrumowym ...TGT#14 - Case Study: Współpraca Testera i Product Ownera w zespole scrumowym ...
TGT#14 - Case Study: Współpraca Testera i Product Ownera w zespole scrumowym ...Trójmiejska Grupa Testerska
 
TGT#13 - UI Tests Automation Framework in Evolve EDM – Case Study - Mateusz R...
TGT#13 - UI Tests Automation Framework in Evolve EDM – Case Study - Mateusz R...TGT#13 - UI Tests Automation Framework in Evolve EDM – Case Study - Mateusz R...
TGT#13 - UI Tests Automation Framework in Evolve EDM – Case Study - Mateusz R...Trójmiejska Grupa Testerska
 
TG#13 - Nie samym Selenium człowiek żyje, czyli jak tworzyć stabilne testy fu...
TG#13 - Nie samym Selenium człowiek żyje, czyli jak tworzyć stabilne testy fu...TG#13 - Nie samym Selenium człowiek żyje, czyli jak tworzyć stabilne testy fu...
TG#13 - Nie samym Selenium człowiek żyje, czyli jak tworzyć stabilne testy fu...Trójmiejska Grupa Testerska
 

Mehr von Trójmiejska Grupa Testerska (20)

Rafal prezentacja testowanie ai
Rafal prezentacja testowanie aiRafal prezentacja testowanie ai
Rafal prezentacja testowanie ai
 
Tgt 23 przemyslaw_pradzynski
Tgt 23 przemyslaw_pradzynskiTgt 23 przemyslaw_pradzynski
Tgt 23 przemyslaw_pradzynski
 
TGT#21 - Tester eksploracyjny, ostatni zawód na świecie. – Radosław Smilgin
TGT#21 - Tester eksploracyjny, ostatni zawód na świecie. – Radosław SmilginTGT#21 - Tester eksploracyjny, ostatni zawód na świecie. – Radosław Smilgin
TGT#21 - Tester eksploracyjny, ostatni zawód na świecie. – Radosław Smilgin
 
TGT#19 - Wszyscy jestesmy testerami - Michal Rabczuk
TGT#19 - Wszyscy jestesmy testerami - Michal RabczukTGT#19 - Wszyscy jestesmy testerami - Michal Rabczuk
TGT#19 - Wszyscy jestesmy testerami - Michal Rabczuk
 
TGT#20 - Ataki XSS - Robert Charewicz
TGT#20 - Ataki XSS - Robert CharewiczTGT#20 - Ataki XSS - Robert Charewicz
TGT#20 - Ataki XSS - Robert Charewicz
 
TGT#20 - Automated Tests Only For Testers - Kasper Kulikowski
TGT#20 - Automated Tests Only For Testers - Kasper KulikowskiTGT#20 - Automated Tests Only For Testers - Kasper Kulikowski
TGT#20 - Automated Tests Only For Testers - Kasper Kulikowski
 
TGT#20 - TGT in Numbers - Mateusz Radkiewicz
TGT#20 - TGT in Numbers - Mateusz RadkiewiczTGT#20 - TGT in Numbers - Mateusz Radkiewicz
TGT#20 - TGT in Numbers - Mateusz Radkiewicz
 
TGT#18 - End-to-end testing using Protractor - Jakub Raniszewski
TGT#18 - End-to-end testing using Protractor - Jakub RaniszewskiTGT#18 - End-to-end testing using Protractor - Jakub Raniszewski
TGT#18 - End-to-end testing using Protractor - Jakub Raniszewski
 
TGT#18 - BDD with The Three Amigos in API Testing - Julia Szarlej
TGT#18 - BDD with The Three Amigos in API Testing - Julia SzarlejTGT#18 - BDD with The Three Amigos in API Testing - Julia Szarlej
TGT#18 - BDD with The Three Amigos in API Testing - Julia Szarlej
 
TGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin Kubecki
TGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin KubeckiTGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin Kubecki
TGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin Kubecki
 
TGT#17 - RestApi testing tips and tricks: how to start testing api of your we...
TGT#17 - RestApi testing tips and tricks: how to start testing api of your we...TGT#17 - RestApi testing tips and tricks: how to start testing api of your we...
TGT#17 - RestApi testing tips and tricks: how to start testing api of your we...
 
TGT#16 - Pain of test automatization in PAAS/SAAS solutions - Krzysztof Lembi...
TGT#16 - Pain of test automatization in PAAS/SAAS solutions - Krzysztof Lembi...TGT#16 - Pain of test automatization in PAAS/SAAS solutions - Krzysztof Lembi...
TGT#16 - Pain of test automatization in PAAS/SAAS solutions - Krzysztof Lembi...
 
TGT#16 - Rozmowa techniczna (short talk) - Waldemar Mozoła
TGT#16 - Rozmowa techniczna (short talk) - Waldemar MozołaTGT#16 - Rozmowa techniczna (short talk) - Waldemar Mozoła
TGT#16 - Rozmowa techniczna (short talk) - Waldemar Mozoła
 
TGT#16 - Sztuka projektowania testów - Agnieszka Garwolińska
TGT#16 - Sztuka projektowania testów - Agnieszka GarwolińskaTGT#16 - Sztuka projektowania testów - Agnieszka Garwolińska
TGT#16 - Sztuka projektowania testów - Agnieszka Garwolińska
 
TGT#15 - Piramida testów w praktyce (notatki z dyskusji)
TGT#15 - Piramida testów w praktyce (notatki z dyskusji)TGT#15 - Piramida testów w praktyce (notatki z dyskusji)
TGT#15 - Piramida testów w praktyce (notatki z dyskusji)
 
TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...
TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...
TGT#15 - Testowanie w metodykach zwinnych czyli skąd testerzy wiedzą więcej o...
 
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...
TGT#14 - @Before – Nie będę automatyzować @After – No dobra, to nie jest taki...
 
TGT#14 - Case Study: Współpraca Testera i Product Ownera w zespole scrumowym ...
TGT#14 - Case Study: Współpraca Testera i Product Ownera w zespole scrumowym ...TGT#14 - Case Study: Współpraca Testera i Product Ownera w zespole scrumowym ...
TGT#14 - Case Study: Współpraca Testera i Product Ownera w zespole scrumowym ...
 
TGT#13 - UI Tests Automation Framework in Evolve EDM – Case Study - Mateusz R...
TGT#13 - UI Tests Automation Framework in Evolve EDM – Case Study - Mateusz R...TGT#13 - UI Tests Automation Framework in Evolve EDM – Case Study - Mateusz R...
TGT#13 - UI Tests Automation Framework in Evolve EDM – Case Study - Mateusz R...
 
TG#13 - Nie samym Selenium człowiek żyje, czyli jak tworzyć stabilne testy fu...
TG#13 - Nie samym Selenium człowiek żyje, czyli jak tworzyć stabilne testy fu...TG#13 - Nie samym Selenium człowiek żyje, czyli jak tworzyć stabilne testy fu...
TG#13 - Nie samym Selenium człowiek żyje, czyli jak tworzyć stabilne testy fu...
 

Kürzlich hochgeladen

Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 

Kürzlich hochgeladen (20)

Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 

Optimize Website Performance with Load Testing

  • 1. 3 SECONDS OR LESS… PERFORMANCE TESTS INTRODUCTION AUTHOR: PIOTR LISS
  • 2. WHY TEST PERFORMANCE?  Why NOT to test  It will work without it  Why YES  Locate performance downgrade before release  Define the limits  Find our bottleneck before user will  On commercial sites – clients loss  On internal sites – users frustration  DDoS attack simulation
  • 3. WHY TEST PERFORMANCE? GOOGLE RANKING Source: http://www.monitis.com/blog/website-performance-its-impact-on-google-ranking/
  • 4. WHY TEST PERFORMANCE? 3 SECONDS OR LESS Source: https://www.soasta.com/blog/google-mobile-web-performance-study/
  • 5. WHY TEST PERFORMANCE? FINANCIAL ASPECT Source: https://www.doubleclickbygoogle.com/articles/mobile-speed-matters/
  • 6. WHY TEST PERFORMANCE? INCREASING SIZE OF AVERAGE PAGE Source: http://httparchive.org/trends.php?s=All&minlabel=Nov+15+2010&maxlabel=Feb+1+2018
  • 7. WHAT ARE PERFORMANCE TESTS? DEFINITION Test which result generates measurable value regarding efficiency of testing product.  response time  number of users  request per second  bits per second  speed  stability  reliability  capacity  application  web page  service  database
  • 8. WHAT ARE PERFORMANCE TESTS? HOW TO TEST  Requirements – examples:  can handle 1000 request per hour  response time not bigger than 2000ms with 100 concurrent users  can handle 6 hours with active 50 concurrent users  after spike load application returns to previous state  Parameters:  number of active users (connections)  response time  capacity (maximum load)  requests per second
  • 9. WHAT ARE PERFORMANCE TESTS? LOAD TEST How application behave with predictable and safe load (good candidate for Continuous Integration process and response time measurement) 0 10 20 30 40 50 0:00 1:00 2:00 3:00 4:00 5:00 6:00 7:00 8:00 9:00 10:00 11:00 12:00 13:00 14:00 15:00 Users Time LOAD TEST
  • 10. WHAT ARE PERFORMANCE TESTS? STRESS TEST Usable to define border values (good test to define capacity and how infrastructure behave after crash) 0 10 20 30 40 50 60 0:00 1:00 2:00 3:00 4:00 5:00 6:00 7:00 8:00 9:00 10:00 Users Time STRESS TEST
  • 11. WHAT ARE PERFORMANCE TESTS? SPIKE TEST Short and extremely high load to verify do application return to its before test state 0 10 20 30 40 50 60 0:00 1:00 2:00 3:00 4:00 5:00 Users Time SPIKE TEST
  • 12. WHAT ARE PERFORMANCE TESTS? SOAK/ENDURANCE TEST Few hours load tests to verify does application on stable load will not lose its usability from beginning (Memory Leak) 0 10 20 30 40 50 0:01:00 0:30:00 0:59:00 1:28:00 1:57:00 2:26:00 2:55:00 3:24:00 3:53:00 Users Time ENDURANCE TEST
  • 13. HOW TESTING TOOL WORKS? Testing tool emulates user story scenario repeating it X times during Y seconds.
  • 14. HOW TESTING TOOL WORKS?  Eliminate any unrelated with tested product element:  no User Interface if it’s not generated on our application (e.g. no web browser)  eliminate external application on test environment (e.g. in place of external authorization proxy server make a plug that will always emulate same result)  Make as real as possible:  Think time  Cache as a browser  Embedded resources  Stable increasing load  Cookies  Different load regions (if possible)  Environment “warm up”  Divide test to steps
  • 15. TOOLS APACHE JMETER  since: 1998  free license: for all (Apache License Version 2.0)  protocols: web, webservices (SOAP, REST), FTP, Mail, DB, TCP, OS command line and many more  programming experience: minimal (groovy, beanshell)  requirements: any operating system that runs Java  support: accessible community, keen to help, many tutorials, trainings, courses, forum topics and discussions  main advantages:  dozens of free useful plugins that extend functionalities (e.g. additional protocols, visualizations, webdriver)  User-friendly interface  Easy scalability
  • 16. TOOLS VISUAL STUDIO LOAD TESTS  since: 2010  free license: very limited (requires most expensive VS version)  protocols: web, webservices (SOAP, REST)  programming experience: minimum-medium (C#, VB)  requirements: any based on Windows  support: official forum and support group, not to many online tutorials  main advantages:  C# code gives possibility of advance test expansion  Azure integration  easy debugging and recording
  • 17. TOOLS AZURE PERFORMANCE TESTS  since: 2014?  free license: limited  protocols: web  programming experience: none  requirements: web browser + Visual Studio Team Services account  support: not needed  main advantages:  free 20000 user-minutes/month tests on on-demand test machine from desired world region  test import from Visual Studio or JMeter (and partly Fiddler)  possibility to use own Azure infrastructure (additional cost)
  • 18. TOOLS HP LOADRUNNER  since: 1991  free license: community edition (non-commercial)  protocols: web, webservices (SOAP, REST), FTP, Mail, DB, RDP, SAP and many more  programming experience: medium (ANSI C or few other)  requirements: Windows system with 8 cores and 16GB memory  support: many tutorials, trainings, courses, forum topics and discussions  main advantages:  rich reports  integration with many external software (including CI)  good recorder
  • 19. TOOLS GATLING  since: 2011  free license: almost all (Apache License Version 2.0)  protocols: web, DB, Mail, webservices (REST)  programming experience: medium (DSL)  requirements: any operating system that runs Java  support: many web helpers and forum topics  main advantages:  can generate more load from single machine than other tools  simple and user-friendly reports  easy to write plugins
  • 20. TOOLS OTHER  SoapUI  WebLOAD  LoadUI NG Pro  SmartMeter.io  Appvance  NeoLoad  LoadComplete  WAPT  Loadster  LoadImpact  Rational Performance Tester  Testing Anywhere  OpenSTA  QEngine (ManageEngine)  Loadstorm  CloudTest  Httperf  The Grinder  Tsung  Locust  Bees with Machine Guns  Multi-Mechanize  Siege  Apache Bench
  • 21. PERFORMANCE TEST REPORT ANALYSIS  Summary of all filtered test steps with errors, response time and throughput statistics  APDEX index  APDEX is from 0 to 1 scale value that represents how many request finished in given time  toleration threshold - our target time  frustration threshold - acceptable maximum time  Helpful to compare results
  • 22. PERFORMANCE TEST REPORT ANALYSIS  Example charts:  Response times over time  Active threads  Bytes sent/receive over time  Hits per second  Latency vs request  Response time percentiles
  • 23. APACHE JMETER EXAMPLE USAGE - RECORDER  JMeter Recorder  Requires some basic adjustments and web browser configuration  Recorded records have to verified because might contains some not related traffic  Other methods:  SAML recorder on any web browser (usually as plugin)  JMeter request/response analyzys  Fiddler traffic recorder
  • 24. APACHE JMETER EXAMPLE USAGE – ASSERTIONS  Text response (XPath response)  Site header response  Response time  (not necessary) code response
  • 25. APACHE JMETER EXAMPLE USAGE – REAL BROWSER IMITATION  Cache  Embedded resources  Cookies
  • 26. APACHE JMETER EXAMPLE USAGE – TEST RUN  Verification process – GUI mode  Run test using listeners  Run process – non-GUI mode  Run test using command line
  • 27. APACHE JMETER EXAMPLE USAGE – IS THAT ALL?  Extraction rules - passing tokens and IDs between requests  External files - e.g. other credential for every iteration  Loops and IFs - e.g. requesting every few milliseconds until page will get certain content  Scripts - e.g. exactly decide in which moment start timer  Continuous Integration - e.g. integration with Jenkins  Distributed environment - slave machines from different regions to generate load
  • 28. PERFORMANCE TESTS PROBLEMS  Asynchronous request and JavaScript code  Increase performance by better code or by environment improvement?  Do performance tester has enough work for full-time contract?  Test environment vs production environment  What to analyze after performance test run?
  • 29. LINKS AND THANKS  Author: Piotr Liss (www.linkedin.com/in/piotrLiss)  Consultant: Darek Kozon (https://www.linkedin.com/in/dkozon/)  Link: Blazemeter (https://www.blazemeter.com/)