SlideShare una empresa de Scribd logo
1 de 46
Pros and Cons of Doing
Performance Testing
Along with Development
Versus at the End of it
PhD. Federico Toledo
@fltoledo
• Introduction
• Performance, testing, different approaches
• What you always have to take into account
• People, tools and methodology
• Comparison: Waterfall vs. Agile
• Pros and cons based on real world experiences
• Conclusion
Agenda
• Co-founder and Director at Abstracta
(www.abstracta.us)
• PhD and author
• +10 years experience in performance testing
• +80 projects worldwide
Who we are
Agenda
• Introduction
• Performance, testing, different approaches
• What you always have to take into account
• People, tools and methodology
• Comparison: Waterfall vs. Agile
• Pros and cons based on real world experiences
• Conclusion
What is
computer
performance?
USEFUL WORK
TIME & RESOURCES
USED
VS
What is
performance
testing
about?
Simulation
Source:http://www.miniatur-wunderland.de/
Measurement
Breaking pointBottlenecks
• At the end
• Waterfall
• Acceptance testing
• Simulation of the expected load scenario
• Along with development
• Agile
• Continuous integration
• Unit and component
• Early feedback
• Performance engineering
Performance Testing
Agenda
• Introduction
• Performance, testing, different approaches
• What you always have to take into account
• People, tools and methodology
• Comparison: Waterfall vs. Agile
• Pros and cons based on real world experiences
• Conclusion
Agenda
• Introduction
• Performance, testing, different approaches
• What you always have to take into account
• People, tools and methodology
• Comparison: Waterfall vs. Agile
• Pros and cons based on real world experiences
• Conclusion
What you always have to take into account
What are the main hard-skills a performance tester
needs?
• Scripting and programming
• Communication protocols
• Architectures
• Monitoring tools and metrics
• Network and Operating Systems administration
• Business knowledge
People: hard-skills
What are the main soft-skills a performance
tester needs?
• Abstraction
• Communication
• Analysis
• Perception
People: soft-skills
As Scott Barber says:
A good performance tester should be a “mid-
level” in everything.
http://www.perftestplus.com/resources/pt_for_managers_ppt.pdf
People
What you always have to take into account
Technology
• Load simulation
• JMeter (jmeter.apache.org)
• Taurus (gettaurus.org)
• BlazeMeter (blazemeter.com)
• Gatling (gatling.io)
• Measurement
• Profilers and similar (JVisualVM, JProfiler, dotTrace)
• Operating system (NMON, perfmon, Netdata)
• APMs (AppDynamics, NewRelic, DataDog)
Technology – Server Side
Technology
• Web
• Page Speed
• Yslow
• monkeytest.it
• APMs
• Desktop
• Perfmon or NMON
• Profilers Java or .NET
• APM
• Mobile
• Google Test Cloud / Testdroid / Perfecto
• Xcode - Instruments / XCTest
• APMs
• Monkop
Technology – Client Side
Ebay ESPN Fantasy Instagram Rio 2016 VivaVideo
Monkop - Explorations
https://results.monkop.com/d8af6f27-7b0e-4573-b806-8303946269e3/report/report/index.html
What you always have to take into account
• Test design
• Test automation
• Test execution and measurement
Processes
• Execution plan
• Baseline (used as a reference)
• Then, iterative and incremental approach
Processes
Server Server
Agenda
• Introduction
• Performance, testing, different approaches
• What you always have to take into account
• People, tools and methodology
• Comparison: Waterfall vs. Agile
• Pros and cons based on real world experiences
• Conclusion
Agenda
• Introduction
• Performance, testing, different approaches
• What you always have to take into account
• People, tools and methodology
• Comparison: Waterfall vs. Agile
• Pros and cons based on real world experiences
• Conclusion
PROS
1. It’s easier to plan
2. Focus in a specific context
3. Environment similar to production
CONS
1. Infrastructure availability
2. Costs of architectural changes
Performance Testing at the End
PROS
1. Minimize risk
2. Early and constant feedback
3. Learning
• Monitoring tools and Analysis
• Good and bad practices
CONS
1. More automation effort
• Pay attention to which level you should
automate
2. Fallacy: if you test the components then
the entire system will work properly.
Performance Testing along with development
Agenda
• Introduction
• Performance, testing, different approaches
• What you always have to take into account
• People, tools and methodology
• Comparison: Waterfall vs. Agile
• Pros and cons based on real world experiences
• Conclusion
Agenda
• Introduction
• Performance, testing, different approaches
• What you always have to take into account
• People, tools and methodology
• Comparison: Waterfall vs. Agile
• Pros and cons based on real world experiences
• Conclusion
Which approach is better?
You should ask a different
question
Conclusion
• Do you need to verify that your system supports
a specific load?
• Do you need evidence for your customers?
Go with a LOAD SIMULATION.
WATERFALL APPROACH.
Which approach is better?
• Do you want to optimize costs and reduce risks
pertaining to the system’s performance?
• Do you want to increase your team’s knowledge in terms
of monitoring and performance engineering?
• Do you want to follow a real continuous integration
scheme?
Go with PERFORMANCE ENGINEERING along with
development.
AGILE APPROACH.
Which approach is better?
• We need both approaches in different
stages of our development cycle.
• We should start early by doing
performance engineering and we also
need to simulate load for acceptance
testing.
Which approach is better?
THANK YOU!
Pros and Cons of Doing Performance
Testing Along with Development Versus at
the End of it
• Performance testing fallacies
https://www.stickyminds.com/article/7-performance-testing-fallacies-undermining-your-test-
strategy
• What’s more important, the tool or the tester?
http://www.abstracta.us/2015/05/24/whats-more-important-the-tool-or-the-tester/
• Introduction to Taurus, an alternative to JMeter
http://www.abstracta.us/2015/09/07/introduction-to-taurus-an-alternative-to-jmeter/
• Gatling
http://blog.abstracta.com.uy/search/label/Gatling
References
• Blog and resources (in English)
• http://www.abstracta.us/knowledge-center/
• Blog (in Spanish)
• http://blog.abstracta.com.uy
• eBook “A complete Introduction to Functional Test
Automation” (in English)
• http://www.abstracta.us/2016/05/31/ebook-complete-introduction-to-
functional-test-automation/
Free eBook and materials
If you like it
Certification in Performance Testing
with JMeter and BlazeMeter
• Online course (one month)
• www.abstracta.us/training
Cupon code: 25% OFF this month
QATEST2016
http://bit.do/librodetesting
PhD. Federico Toledo
federico@abstracta.us
@fltoledo
Silicon Valley office
425 Broadway Street
Redwood City, CA
Headquarters
Jose Ellauri 1126
Montevideo, Uruguay
www.abstracta.us

Más contenido relacionado

La actualidad más candente

Performance testing with your eyes wide open geekweek 2018
Performance testing with your eyes wide open  geekweek 2018Performance testing with your eyes wide open  geekweek 2018
Performance testing with your eyes wide open geekweek 2018Yoav Weiss
 
Sensible Test Automation
Sensible Test AutomationSensible Test Automation
Sensible Test AutomationTechWell
 
Test driven infrastructure
Test driven infrastructureTest driven infrastructure
Test driven infrastructureSteve Mactaggart
 
Let's Build an Angular App!
Let's Build an Angular App!Let's Build an Angular App!
Let's Build an Angular App!Jeremy Likness
 
TestCorner #22 - How DevOps helps QA daily works​
TestCorner #22 - How DevOps helps QA daily works​TestCorner #22 - How DevOps helps QA daily works​
TestCorner #22 - How DevOps helps QA daily works​HTC
 
Lets cook cucumber !!
Lets cook cucumber !!Lets cook cucumber !!
Lets cook cucumber !!vodQA
 
Основы нагрузочного тестирования с инструментом Jmeter
Основы нагрузочного тестирования с инструментом JmeterОсновы нагрузочного тестирования с инструментом Jmeter
Основы нагрузочного тестирования с инструментом JmeterКомпьютерная школа Hillel
 
Leandro Melendez - Switching Performance Left & Right
Leandro Melendez - Switching Performance Left & RightLeandro Melendez - Switching Performance Left & Right
Leandro Melendez - Switching Performance Left & RightNeotys_Partner
 
Pragmatic Continuous Delivery - ReaktorDevDay 2012
Pragmatic Continuous Delivery - ReaktorDevDay 2012Pragmatic Continuous Delivery - ReaktorDevDay 2012
Pragmatic Continuous Delivery - ReaktorDevDay 2012Neeme Praks
 
#nostaging - Software Circus - Amsterdam, 2-9-2016
#nostaging - Software Circus - Amsterdam, 2-9-2016#nostaging - Software Circus - Amsterdam, 2-9-2016
#nostaging - Software Circus - Amsterdam, 2-9-2016Pavel Chunyayev
 
Better Page Object Handling with Loadable Component Pattern
Better Page Object Handling with Loadable Component PatternBetter Page Object Handling with Loadable Component Pattern
Better Page Object Handling with Loadable Component PatternSargis Sargsyan
 
Performance testing ( Approaching , Designing performance tests)
Performance testing ( Approaching , Designing performance tests) Performance testing ( Approaching , Designing performance tests)
Performance testing ( Approaching , Designing performance tests) Abhijeet Patil
 
Kick Starting Test Automation
Kick Starting Test AutomationKick Starting Test Automation
Kick Starting Test Automation99X Technology
 
Brief Introduction to Agile Software Testing
Brief Introduction to Agile Software TestingBrief Introduction to Agile Software Testing
Brief Introduction to Agile Software TestingYi Xu
 
What to Do—Develop Your Own Automation or Use Crowdsourced Testing?
What to Do—Develop Your Own Automation or Use Crowdsourced Testing?What to Do—Develop Your Own Automation or Use Crowdsourced Testing?
What to Do—Develop Your Own Automation or Use Crowdsourced Testing?TechWell
 
Adam carmi
Adam carmiAdam carmi
Adam carmiCodeFest
 
JIRA Performance Testing in Pictures - Edward Bukoski Michael March
JIRA Performance Testing in Pictures - Edward Bukoski Michael MarchJIRA Performance Testing in Pictures - Edward Bukoski Michael March
JIRA Performance Testing in Pictures - Edward Bukoski Michael MarchAtlassian
 
Approval Tests in Action: A LEGO Exercise and an Experience Report
Approval Tests in Action: A LEGO Exercise and an Experience ReportApproval Tests in Action: A LEGO Exercise and an Experience Report
Approval Tests in Action: A LEGO Exercise and an Experience Reporthouseofyin
 
Tests for Every Branch Using CircleCI and Sauce Labs to Continuously Test CS ...
Tests for Every Branch Using CircleCI and Sauce Labs to Continuously Test CS ...Tests for Every Branch Using CircleCI and Sauce Labs to Continuously Test CS ...
Tests for Every Branch Using CircleCI and Sauce Labs to Continuously Test CS ...Sauce Labs
 

La actualidad más candente (20)

Performance testing with your eyes wide open geekweek 2018
Performance testing with your eyes wide open  geekweek 2018Performance testing with your eyes wide open  geekweek 2018
Performance testing with your eyes wide open geekweek 2018
 
Sensible Test Automation
Sensible Test AutomationSensible Test Automation
Sensible Test Automation
 
Test driven infrastructure
Test driven infrastructureTest driven infrastructure
Test driven infrastructure
 
Let's Build an Angular App!
Let's Build an Angular App!Let's Build an Angular App!
Let's Build an Angular App!
 
TestCorner #22 - How DevOps helps QA daily works​
TestCorner #22 - How DevOps helps QA daily works​TestCorner #22 - How DevOps helps QA daily works​
TestCorner #22 - How DevOps helps QA daily works​
 
Lets cook cucumber !!
Lets cook cucumber !!Lets cook cucumber !!
Lets cook cucumber !!
 
Основы нагрузочного тестирования с инструментом Jmeter
Основы нагрузочного тестирования с инструментом JmeterОсновы нагрузочного тестирования с инструментом Jmeter
Основы нагрузочного тестирования с инструментом Jmeter
 
Leandro Melendez - Switching Performance Left & Right
Leandro Melendez - Switching Performance Left & RightLeandro Melendez - Switching Performance Left & Right
Leandro Melendez - Switching Performance Left & Right
 
Pragmatic Continuous Delivery - ReaktorDevDay 2012
Pragmatic Continuous Delivery - ReaktorDevDay 2012Pragmatic Continuous Delivery - ReaktorDevDay 2012
Pragmatic Continuous Delivery - ReaktorDevDay 2012
 
#nostaging - Software Circus - Amsterdam, 2-9-2016
#nostaging - Software Circus - Amsterdam, 2-9-2016#nostaging - Software Circus - Amsterdam, 2-9-2016
#nostaging - Software Circus - Amsterdam, 2-9-2016
 
Cloud tools
Cloud toolsCloud tools
Cloud tools
 
Better Page Object Handling with Loadable Component Pattern
Better Page Object Handling with Loadable Component PatternBetter Page Object Handling with Loadable Component Pattern
Better Page Object Handling with Loadable Component Pattern
 
Performance testing ( Approaching , Designing performance tests)
Performance testing ( Approaching , Designing performance tests) Performance testing ( Approaching , Designing performance tests)
Performance testing ( Approaching , Designing performance tests)
 
Kick Starting Test Automation
Kick Starting Test AutomationKick Starting Test Automation
Kick Starting Test Automation
 
Brief Introduction to Agile Software Testing
Brief Introduction to Agile Software TestingBrief Introduction to Agile Software Testing
Brief Introduction to Agile Software Testing
 
What to Do—Develop Your Own Automation or Use Crowdsourced Testing?
What to Do—Develop Your Own Automation or Use Crowdsourced Testing?What to Do—Develop Your Own Automation or Use Crowdsourced Testing?
What to Do—Develop Your Own Automation or Use Crowdsourced Testing?
 
Adam carmi
Adam carmiAdam carmi
Adam carmi
 
JIRA Performance Testing in Pictures - Edward Bukoski Michael March
JIRA Performance Testing in Pictures - Edward Bukoski Michael MarchJIRA Performance Testing in Pictures - Edward Bukoski Michael March
JIRA Performance Testing in Pictures - Edward Bukoski Michael March
 
Approval Tests in Action: A LEGO Exercise and an Experience Report
Approval Tests in Action: A LEGO Exercise and an Experience ReportApproval Tests in Action: A LEGO Exercise and an Experience Report
Approval Tests in Action: A LEGO Exercise and an Experience Report
 
Tests for Every Branch Using CircleCI and Sauce Labs to Continuously Test CS ...
Tests for Every Branch Using CircleCI and Sauce Labs to Continuously Test CS ...Tests for Every Branch Using CircleCI and Sauce Labs to Continuously Test CS ...
Tests for Every Branch Using CircleCI and Sauce Labs to Continuously Test CS ...
 

Destacado

TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controve...
TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controve...TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controve...
TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controve...TestingAR Meetup
 
Meetup TestingUY 2016 - Performance durante y después - Federico Toledo
Meetup TestingUY 2016 - Performance durante y después - Federico ToledoMeetup TestingUY 2016 - Performance durante y después - Federico Toledo
Meetup TestingUY 2016 - Performance durante y después - Federico ToledoFederico Toledo
 
Meetup TestingAR 2016 - Performance testing durante y después
Meetup TestingAR 2016 - Performance testing durante y despuésMeetup TestingAR 2016 - Performance testing durante y después
Meetup TestingAR 2016 - Performance testing durante y despuésFederico Toledo
 
Load testing with Telerik Test Studio
Load testing with Telerik Test StudioLoad testing with Telerik Test Studio
Load testing with Telerik Test StudioTelerik Test Studio
 
Load & Performance TESTING
Load & Performance TESTINGLoad & Performance TESTING
Load & Performance TESTINGGuido Serra
 
Tsung Intro presentation 2013
Tsung Intro presentation 2013Tsung Intro presentation 2013
Tsung Intro presentation 2013Steffen Larsen
 
A Gentoo Environment at Gaikai
A Gentoo Environment at GaikaiA Gentoo Environment at Gaikai
A Gentoo Environment at GaikaiGuido Serra
 
Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico...
Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico...Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico...
Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico...Federico Toledo
 
Load Balancing with Apache
Load Balancing with ApacheLoad Balancing with Apache
Load Balancing with ApacheBradley Holt
 
Gatling - Stress test tool
Gatling - Stress test toolGatling - Stress test tool
Gatling - Stress test toolKnoldus Inc.
 

Destacado (10)

TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controve...
TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controve...TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controve...
TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controve...
 
Meetup TestingUY 2016 - Performance durante y después - Federico Toledo
Meetup TestingUY 2016 - Performance durante y después - Federico ToledoMeetup TestingUY 2016 - Performance durante y después - Federico Toledo
Meetup TestingUY 2016 - Performance durante y después - Federico Toledo
 
Meetup TestingAR 2016 - Performance testing durante y después
Meetup TestingAR 2016 - Performance testing durante y despuésMeetup TestingAR 2016 - Performance testing durante y después
Meetup TestingAR 2016 - Performance testing durante y después
 
Load testing with Telerik Test Studio
Load testing with Telerik Test StudioLoad testing with Telerik Test Studio
Load testing with Telerik Test Studio
 
Load & Performance TESTING
Load & Performance TESTINGLoad & Performance TESTING
Load & Performance TESTING
 
Tsung Intro presentation 2013
Tsung Intro presentation 2013Tsung Intro presentation 2013
Tsung Intro presentation 2013
 
A Gentoo Environment at Gaikai
A Gentoo Environment at GaikaiA Gentoo Environment at Gaikai
A Gentoo Environment at Gaikai
 
Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico...
Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico...Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico...
Meetup Testing Workshop 2016 - Gatling para pruebas de performance - Federico...
 
Load Balancing with Apache
Load Balancing with ApacheLoad Balancing with Apache
Load Balancing with Apache
 
Gatling - Stress test tool
Gatling - Stress test toolGatling - Stress test tool
Gatling - Stress test tool
 

Similar a QA&test 2016 (Bilbao) Pros and Cons of Doing Performance Testing Along with Development Versus at the End of it

Alexander Podelko - Context-Driven Performance Testing
Alexander Podelko - Context-Driven Performance TestingAlexander Podelko - Context-Driven Performance Testing
Alexander Podelko - Context-Driven Performance TestingNeotys_Partner
 
Load Testing: See a Bigger Picture, ALM Forum, 2014
Load Testing: See a Bigger Picture, ALM Forum, 2014Load Testing: See a Bigger Picture, ALM Forum, 2014
Load Testing: See a Bigger Picture, ALM Forum, 2014Alexander Podelko
 
Stanford DrupalCamp 2014 - A Perfect Launch, Every Time
Stanford DrupalCamp 2014 - A Perfect Launch, Every TimeStanford DrupalCamp 2014 - A Perfect Launch, Every Time
Stanford DrupalCamp 2014 - A Perfect Launch, Every TimeSuzanne Aldrich
 
Multiple Dimensions of Load Testing
Multiple Dimensions of Load TestingMultiple Dimensions of Load Testing
Multiple Dimensions of Load TestingAlexander Podelko
 
Tools of the Trade: Load Testing - Ignite session at WebPerfDays NY 14
Tools of the Trade: Load Testing -  Ignite session at WebPerfDays NY 14Tools of the Trade: Load Testing -  Ignite session at WebPerfDays NY 14
Tools of the Trade: Load Testing - Ignite session at WebPerfDays NY 14Alexander Podelko
 
Continuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile DevelopmentContinuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile DevelopmentNeotys
 
Testing - How Vital and How Easy to use
Testing - How Vital and How Easy to useTesting - How Vital and How Easy to use
Testing - How Vital and How Easy to useUma Ghotikar
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testingTharinda Liyanage
 
Context-Driven Performance Testing
Context-Driven Performance TestingContext-Driven Performance Testing
Context-Driven Performance TestingAlexander Podelko
 
Resilience testing! Why should you
Resilience testing! Why should youResilience testing! Why should you
Resilience testing! Why should youGeoffrey van der Tas
 
Performance Testing your Kuali Student Product
Performance Testing your Kuali Student ProductPerformance Testing your Kuali Student Product
Performance Testing your Kuali Student ProductKuali Student Project
 
Continuous testing in agile projects 2015
Continuous testing in agile projects 2015Continuous testing in agile projects 2015
Continuous testing in agile projects 2015Fabricio Epaminondas
 
When & How to Successfully use Test Automation for Mobile Applications
When & How to Successfully use Test Automation for Mobile ApplicationsWhen & How to Successfully use Test Automation for Mobile Applications
When & How to Successfully use Test Automation for Mobile ApplicationsTechnologyAssociationOregon
 
AUG NYC June 12 - Event Presentations
AUG NYC June 12 - Event PresentationsAUG NYC June 12 - Event Presentations
AUG NYC June 12 - Event PresentationsMadhusudhan Matrubai
 
Introduction to Protractor
Introduction to ProtractorIntroduction to Protractor
Introduction to ProtractorFlorian Fesseler
 
Life of a pragmatic tester
Life of a pragmatic testerLife of a pragmatic tester
Life of a pragmatic testerGitte Ottosen
 
Load testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew SiemerLoad testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew SiemerAndrew Siemer
 
Agile Testing – embedding testing into agile software development lifecycle
Agile Testing – embedding testing into agile software development lifecycle Agile Testing – embedding testing into agile software development lifecycle
Agile Testing – embedding testing into agile software development lifecycle Kari Kakkonen
 
Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014Clever Moe
 
Best Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App TestingBest Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App TestingBitbar
 

Similar a QA&test 2016 (Bilbao) Pros and Cons of Doing Performance Testing Along with Development Versus at the End of it (20)

Alexander Podelko - Context-Driven Performance Testing
Alexander Podelko - Context-Driven Performance TestingAlexander Podelko - Context-Driven Performance Testing
Alexander Podelko - Context-Driven Performance Testing
 
Load Testing: See a Bigger Picture, ALM Forum, 2014
Load Testing: See a Bigger Picture, ALM Forum, 2014Load Testing: See a Bigger Picture, ALM Forum, 2014
Load Testing: See a Bigger Picture, ALM Forum, 2014
 
Stanford DrupalCamp 2014 - A Perfect Launch, Every Time
Stanford DrupalCamp 2014 - A Perfect Launch, Every TimeStanford DrupalCamp 2014 - A Perfect Launch, Every Time
Stanford DrupalCamp 2014 - A Perfect Launch, Every Time
 
Multiple Dimensions of Load Testing
Multiple Dimensions of Load TestingMultiple Dimensions of Load Testing
Multiple Dimensions of Load Testing
 
Tools of the Trade: Load Testing - Ignite session at WebPerfDays NY 14
Tools of the Trade: Load Testing -  Ignite session at WebPerfDays NY 14Tools of the Trade: Load Testing -  Ignite session at WebPerfDays NY 14
Tools of the Trade: Load Testing - Ignite session at WebPerfDays NY 14
 
Continuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile DevelopmentContinuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile Development
 
Testing - How Vital and How Easy to use
Testing - How Vital and How Easy to useTesting - How Vital and How Easy to use
Testing - How Vital and How Easy to use
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testing
 
Context-Driven Performance Testing
Context-Driven Performance TestingContext-Driven Performance Testing
Context-Driven Performance Testing
 
Resilience testing! Why should you
Resilience testing! Why should youResilience testing! Why should you
Resilience testing! Why should you
 
Performance Testing your Kuali Student Product
Performance Testing your Kuali Student ProductPerformance Testing your Kuali Student Product
Performance Testing your Kuali Student Product
 
Continuous testing in agile projects 2015
Continuous testing in agile projects 2015Continuous testing in agile projects 2015
Continuous testing in agile projects 2015
 
When & How to Successfully use Test Automation for Mobile Applications
When & How to Successfully use Test Automation for Mobile ApplicationsWhen & How to Successfully use Test Automation for Mobile Applications
When & How to Successfully use Test Automation for Mobile Applications
 
AUG NYC June 12 - Event Presentations
AUG NYC June 12 - Event PresentationsAUG NYC June 12 - Event Presentations
AUG NYC June 12 - Event Presentations
 
Introduction to Protractor
Introduction to ProtractorIntroduction to Protractor
Introduction to Protractor
 
Life of a pragmatic tester
Life of a pragmatic testerLife of a pragmatic tester
Life of a pragmatic tester
 
Load testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew SiemerLoad testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew Siemer
 
Agile Testing – embedding testing into agile software development lifecycle
Agile Testing – embedding testing into agile software development lifecycle Agile Testing – embedding testing into agile software development lifecycle
Agile Testing – embedding testing into agile software development lifecycle
 
Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014
 
Best Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App TestingBest Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App Testing
 

Más de Federico Toledo

Pasado, presente y futuro del testing en Latinoamérica
Pasado, presente y futuro del testing en  LatinoaméricaPasado, presente y futuro del testing en  Latinoamérica
Pasado, presente y futuro del testing en LatinoaméricaFederico Toledo
 
Probando aplicaciones basadas en LLMs.pdf
Probando aplicaciones basadas en LLMs.pdfProbando aplicaciones basadas en LLMs.pdf
Probando aplicaciones basadas en LLMs.pdfFederico Toledo
 
QA or the Highway - Extra-functional testing, improve how you observe the sys...
QA or the Highway - Extra-functional testing, improve how you observe the sys...QA or the Highway - Extra-functional testing, improve how you observe the sys...
QA or the Highway - Extra-functional testing, improve how you observe the sys...Federico Toledo
 
Invitación a sponsors - Quality Sense Conf 23.pdf
Invitación a sponsors - Quality Sense Conf 23.pdfInvitación a sponsors - Quality Sense Conf 23.pdf
Invitación a sponsors - Quality Sense Conf 23.pdfFederico Toledo
 
Pruebas extra-funcionales, más observabilidad durante tus pruebas funcionales
Pruebas extra-funcionales, más observabilidad durante tus pruebas funcionalesPruebas extra-funcionales, más observabilidad durante tus pruebas funcionales
Pruebas extra-funcionales, más observabilidad durante tus pruebas funcionalesFederico Toledo
 
How do you help motivate testers?
How do you help motivate testers?How do you help motivate testers?
How do you help motivate testers?Federico Toledo
 
Low code for test automation, state of the art
Low code for test automation, state of the artLow code for test automation, state of the art
Low code for test automation, state of the artFederico Toledo
 
¿Qué hacer ante la falta de personal calificado en IT?
¿Qué hacer ante la falta de personal calificado en IT?¿Qué hacer ante la falta de personal calificado en IT?
¿Qué hacer ante la falta de personal calificado en IT?Federico Toledo
 
TSQA - Improving test automation code and strategy
TSQA - Improving test automation code and strategyTSQA - Improving test automation code and strategy
TSQA - Improving test automation code and strategyFederico Toledo
 
Comunicación Segura y Efectiva en Testing
Comunicación Segura y Efectiva en TestingComunicación Segura y Efectiva en Testing
Comunicación Segura y Efectiva en TestingFederico Toledo
 
Testing Day Bolivia - Formar testers desde cero
Testing Day Bolivia - Formar testers desde ceroTesting Day Bolivia - Formar testers desde cero
Testing Day Bolivia - Formar testers desde ceroFederico Toledo
 
Low Code Test Automation - Jornadas de Ingeniería de Software 2021
Low Code Test Automation - Jornadas de Ingeniería de Software 2021Low Code Test Automation - Jornadas de Ingeniería de Software 2021
Low Code Test Automation - Jornadas de Ingeniería de Software 2021Federico Toledo
 
Los errores del 2020 - Argentesting 2021
Los errores del 2020 - Argentesting 2021Los errores del 2020 - Argentesting 2021
Los errores del 2020 - Argentesting 2021Federico Toledo
 
¿Cómo mejorar la calidad de tu automatización?
¿Cómo mejorar la calidad de tu automatización?¿Cómo mejorar la calidad de tu automatización?
¿Cómo mejorar la calidad de tu automatización?Federico Toledo
 
Shift left and shift right performance testing
Shift left and shift right performance testingShift left and shift right performance testing
Shift left and shift right performance testingFederico Toledo
 
Ask me anything - ReconverTIte
Ask me anything - ReconverTIteAsk me anything - ReconverTIte
Ask me anything - ReconverTIteFederico Toledo
 
Webinar: Migrar el testing a open source
Webinar: Migrar el testing a open sourceWebinar: Migrar el testing a open source
Webinar: Migrar el testing a open sourceFederico Toledo
 
Webinar: Estrategias para optimizar los costos de testing
Webinar: Estrategias para optimizar los costos de testingWebinar: Estrategias para optimizar los costos de testing
Webinar: Estrategias para optimizar los costos de testingFederico Toledo
 
Cómo revisar tu estrategia de pruebas? Meetup de QA & Testing en Chile
Cómo revisar tu estrategia de pruebas? Meetup de QA & Testing en ChileCómo revisar tu estrategia de pruebas? Meetup de QA & Testing en Chile
Cómo revisar tu estrategia de pruebas? Meetup de QA & Testing en ChileFederico Toledo
 
Neotys PAC - Adding Performance Verifications in Continuous Delivery
Neotys PAC - Adding Performance Verifications in Continuous DeliveryNeotys PAC - Adding Performance Verifications in Continuous Delivery
Neotys PAC - Adding Performance Verifications in Continuous DeliveryFederico Toledo
 

Más de Federico Toledo (20)

Pasado, presente y futuro del testing en Latinoamérica
Pasado, presente y futuro del testing en  LatinoaméricaPasado, presente y futuro del testing en  Latinoamérica
Pasado, presente y futuro del testing en Latinoamérica
 
Probando aplicaciones basadas en LLMs.pdf
Probando aplicaciones basadas en LLMs.pdfProbando aplicaciones basadas en LLMs.pdf
Probando aplicaciones basadas en LLMs.pdf
 
QA or the Highway - Extra-functional testing, improve how you observe the sys...
QA or the Highway - Extra-functional testing, improve how you observe the sys...QA or the Highway - Extra-functional testing, improve how you observe the sys...
QA or the Highway - Extra-functional testing, improve how you observe the sys...
 
Invitación a sponsors - Quality Sense Conf 23.pdf
Invitación a sponsors - Quality Sense Conf 23.pdfInvitación a sponsors - Quality Sense Conf 23.pdf
Invitación a sponsors - Quality Sense Conf 23.pdf
 
Pruebas extra-funcionales, más observabilidad durante tus pruebas funcionales
Pruebas extra-funcionales, más observabilidad durante tus pruebas funcionalesPruebas extra-funcionales, más observabilidad durante tus pruebas funcionales
Pruebas extra-funcionales, más observabilidad durante tus pruebas funcionales
 
How do you help motivate testers?
How do you help motivate testers?How do you help motivate testers?
How do you help motivate testers?
 
Low code for test automation, state of the art
Low code for test automation, state of the artLow code for test automation, state of the art
Low code for test automation, state of the art
 
¿Qué hacer ante la falta de personal calificado en IT?
¿Qué hacer ante la falta de personal calificado en IT?¿Qué hacer ante la falta de personal calificado en IT?
¿Qué hacer ante la falta de personal calificado en IT?
 
TSQA - Improving test automation code and strategy
TSQA - Improving test automation code and strategyTSQA - Improving test automation code and strategy
TSQA - Improving test automation code and strategy
 
Comunicación Segura y Efectiva en Testing
Comunicación Segura y Efectiva en TestingComunicación Segura y Efectiva en Testing
Comunicación Segura y Efectiva en Testing
 
Testing Day Bolivia - Formar testers desde cero
Testing Day Bolivia - Formar testers desde ceroTesting Day Bolivia - Formar testers desde cero
Testing Day Bolivia - Formar testers desde cero
 
Low Code Test Automation - Jornadas de Ingeniería de Software 2021
Low Code Test Automation - Jornadas de Ingeniería de Software 2021Low Code Test Automation - Jornadas de Ingeniería de Software 2021
Low Code Test Automation - Jornadas de Ingeniería de Software 2021
 
Los errores del 2020 - Argentesting 2021
Los errores del 2020 - Argentesting 2021Los errores del 2020 - Argentesting 2021
Los errores del 2020 - Argentesting 2021
 
¿Cómo mejorar la calidad de tu automatización?
¿Cómo mejorar la calidad de tu automatización?¿Cómo mejorar la calidad de tu automatización?
¿Cómo mejorar la calidad de tu automatización?
 
Shift left and shift right performance testing
Shift left and shift right performance testingShift left and shift right performance testing
Shift left and shift right performance testing
 
Ask me anything - ReconverTIte
Ask me anything - ReconverTIteAsk me anything - ReconverTIte
Ask me anything - ReconverTIte
 
Webinar: Migrar el testing a open source
Webinar: Migrar el testing a open sourceWebinar: Migrar el testing a open source
Webinar: Migrar el testing a open source
 
Webinar: Estrategias para optimizar los costos de testing
Webinar: Estrategias para optimizar los costos de testingWebinar: Estrategias para optimizar los costos de testing
Webinar: Estrategias para optimizar los costos de testing
 
Cómo revisar tu estrategia de pruebas? Meetup de QA & Testing en Chile
Cómo revisar tu estrategia de pruebas? Meetup de QA & Testing en ChileCómo revisar tu estrategia de pruebas? Meetup de QA & Testing en Chile
Cómo revisar tu estrategia de pruebas? Meetup de QA & Testing en Chile
 
Neotys PAC - Adding Performance Verifications in Continuous Delivery
Neotys PAC - Adding Performance Verifications in Continuous DeliveryNeotys PAC - Adding Performance Verifications in Continuous Delivery
Neotys PAC - Adding Performance Verifications in Continuous Delivery
 

Último

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...software pro Development
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 

Último (20)

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 

QA&test 2016 (Bilbao) Pros and Cons of Doing Performance Testing Along with Development Versus at the End of it

  • 1. Pros and Cons of Doing Performance Testing Along with Development Versus at the End of it PhD. Federico Toledo @fltoledo
  • 2. • Introduction • Performance, testing, different approaches • What you always have to take into account • People, tools and methodology • Comparison: Waterfall vs. Agile • Pros and cons based on real world experiences • Conclusion Agenda
  • 3. • Co-founder and Director at Abstracta (www.abstracta.us) • PhD and author • +10 years experience in performance testing • +80 projects worldwide Who we are
  • 4. Agenda • Introduction • Performance, testing, different approaches • What you always have to take into account • People, tools and methodology • Comparison: Waterfall vs. Agile • Pros and cons based on real world experiences • Conclusion
  • 6. USEFUL WORK TIME & RESOURCES USED VS
  • 11. • At the end • Waterfall • Acceptance testing • Simulation of the expected load scenario • Along with development • Agile • Continuous integration • Unit and component • Early feedback • Performance engineering Performance Testing
  • 12. Agenda • Introduction • Performance, testing, different approaches • What you always have to take into account • People, tools and methodology • Comparison: Waterfall vs. Agile • Pros and cons based on real world experiences • Conclusion
  • 13. Agenda • Introduction • Performance, testing, different approaches • What you always have to take into account • People, tools and methodology • Comparison: Waterfall vs. Agile • Pros and cons based on real world experiences • Conclusion
  • 14. What you always have to take into account
  • 15. What are the main hard-skills a performance tester needs? • Scripting and programming • Communication protocols • Architectures • Monitoring tools and metrics • Network and Operating Systems administration • Business knowledge People: hard-skills
  • 16. What are the main soft-skills a performance tester needs? • Abstraction • Communication • Analysis • Perception People: soft-skills
  • 17. As Scott Barber says: A good performance tester should be a “mid- level” in everything. http://www.perftestplus.com/resources/pt_for_managers_ppt.pdf People
  • 18. What you always have to take into account
  • 20. • Load simulation • JMeter (jmeter.apache.org) • Taurus (gettaurus.org) • BlazeMeter (blazemeter.com) • Gatling (gatling.io) • Measurement • Profilers and similar (JVisualVM, JProfiler, dotTrace) • Operating system (NMON, perfmon, Netdata) • APMs (AppDynamics, NewRelic, DataDog) Technology – Server Side
  • 22. • Web • Page Speed • Yslow • monkeytest.it • APMs • Desktop • Perfmon or NMON • Profilers Java or .NET • APM • Mobile • Google Test Cloud / Testdroid / Perfecto • Xcode - Instruments / XCTest • APMs • Monkop Technology – Client Side
  • 23.
  • 24.
  • 25.
  • 26. Ebay ESPN Fantasy Instagram Rio 2016 VivaVideo Monkop - Explorations
  • 28.
  • 29. What you always have to take into account
  • 30. • Test design • Test automation • Test execution and measurement Processes
  • 31. • Execution plan • Baseline (used as a reference) • Then, iterative and incremental approach Processes Server Server
  • 32. Agenda • Introduction • Performance, testing, different approaches • What you always have to take into account • People, tools and methodology • Comparison: Waterfall vs. Agile • Pros and cons based on real world experiences • Conclusion
  • 33. Agenda • Introduction • Performance, testing, different approaches • What you always have to take into account • People, tools and methodology • Comparison: Waterfall vs. Agile • Pros and cons based on real world experiences • Conclusion
  • 34. PROS 1. It’s easier to plan 2. Focus in a specific context 3. Environment similar to production CONS 1. Infrastructure availability 2. Costs of architectural changes Performance Testing at the End
  • 35. PROS 1. Minimize risk 2. Early and constant feedback 3. Learning • Monitoring tools and Analysis • Good and bad practices CONS 1. More automation effort • Pay attention to which level you should automate 2. Fallacy: if you test the components then the entire system will work properly. Performance Testing along with development
  • 36. Agenda • Introduction • Performance, testing, different approaches • What you always have to take into account • People, tools and methodology • Comparison: Waterfall vs. Agile • Pros and cons based on real world experiences • Conclusion
  • 37. Agenda • Introduction • Performance, testing, different approaches • What you always have to take into account • People, tools and methodology • Comparison: Waterfall vs. Agile • Pros and cons based on real world experiences • Conclusion
  • 38. Which approach is better? You should ask a different question Conclusion
  • 39. • Do you need to verify that your system supports a specific load? • Do you need evidence for your customers? Go with a LOAD SIMULATION. WATERFALL APPROACH. Which approach is better?
  • 40. • Do you want to optimize costs and reduce risks pertaining to the system’s performance? • Do you want to increase your team’s knowledge in terms of monitoring and performance engineering? • Do you want to follow a real continuous integration scheme? Go with PERFORMANCE ENGINEERING along with development. AGILE APPROACH. Which approach is better?
  • 41. • We need both approaches in different stages of our development cycle. • We should start early by doing performance engineering and we also need to simulate load for acceptance testing. Which approach is better?
  • 42. THANK YOU! Pros and Cons of Doing Performance Testing Along with Development Versus at the End of it
  • 43. • Performance testing fallacies https://www.stickyminds.com/article/7-performance-testing-fallacies-undermining-your-test- strategy • What’s more important, the tool or the tester? http://www.abstracta.us/2015/05/24/whats-more-important-the-tool-or-the-tester/ • Introduction to Taurus, an alternative to JMeter http://www.abstracta.us/2015/09/07/introduction-to-taurus-an-alternative-to-jmeter/ • Gatling http://blog.abstracta.com.uy/search/label/Gatling References
  • 44. • Blog and resources (in English) • http://www.abstracta.us/knowledge-center/ • Blog (in Spanish) • http://blog.abstracta.com.uy • eBook “A complete Introduction to Functional Test Automation” (in English) • http://www.abstracta.us/2016/05/31/ebook-complete-introduction-to- functional-test-automation/ Free eBook and materials
  • 45. If you like it Certification in Performance Testing with JMeter and BlazeMeter • Online course (one month) • www.abstracta.us/training Cupon code: 25% OFF this month QATEST2016 http://bit.do/librodetesting
  • 46. PhD. Federico Toledo federico@abstracta.us @fltoledo Silicon Valley office 425 Broadway Street Redwood City, CA Headquarters Jose Ellauri 1126 Montevideo, Uruguay www.abstracta.us

Notas del editor

  1. I will start presenting general notions about performance testing and the two approaches that we are considering: performance testing at the end of development, as a load simulation for acceptance testing, and an agile approach where performance tests are considered since the beginning of the project. Then, I will start by looking at what both approaches have in common: for the two approaches we need similar things, and this is also important to know what we need in terms of people, tools and methodology. After that, we will focus on the comparison between both, talking about pros and cons of each one. At the end, I will give some conclusion about the topic based on our experience.
  2. Before we continue with the presentation, I’d like to present myself. I’ve been working in performance testing the last 10 years. I’m one of the co-founders of Abstracta, which is a company dedicated to software testing, providing services and tools, for performance testing, automation, mobile testing and functional testing as well. I had the chance to do a PhD here in Spain, so I’m happy to be here again because I consider this country as my second home. I feel like home here, so thanks again to the organization to give me the opportunity to be here participating in this amazing event. In this talk I want to share some lessons learned in the different projects that I’ve been involved, mainly in the last one I’ve been working the last months, for a huge company in the States, based in Syllicon Valley. They have a Continuous integration approach including performance testing, with very demanding non-functional requirements, an important team working exclusively to improve the performance of the whole system. I’ve learned a lot working with them, and I want to share here some of the those learnings.
  3. Let’s start for the beginning
  4. Let’s start with a very basic question (I hope that everyone know the answer, but just in case…) What is performance? What’s the first word that comes to your mind when you think about performance? It’s velocity, isn’t it? Well, let’s imagine a website which responds very fast, but it uses 100% of the CPU, does it have good performance? It doesn’t, right?
  5. Computer performance is characterized by the amount of useful work accomplished by a computer system compared to the time and resources used. We cannot only see how fast it is, because a system that is very fast but uses 100% of CPU is not performant. Then, we need to check both sides, the user experience (the time I perceive, the velocity) and the servers’ feelings (how stressed the servers are). Also, if we only pay attention to response times, we could only see the symptoms, but what we want to find are the root causes in order to identify bottlenecks and then ways to improve.
  6. So with performance testing we want to analyze the computer’s performance through a simulation. Don’t wait until production to know how the performance is.
  7. Simulation and measurement. Analyze the system’s behavior in terms of response times and resource usage. Sometimes we want to report how good or bad is the system behaving, and sometimes is a proactive approach in order to improve the obtained results. Investigate and analyze looking for bottlenecks, in order to make experiments, tuning or altering the system, seeking for improvements. Of course, it is this kind of testing where your focus is on the performance aspects: response times and resource usage. For this, it’s important to simulate the load that it is expected for production: the corresponding amount of concurrent users, with the “intensity” that will characterize them. There is a preliminary result that you can obtain that it is very useful too, that is to simulate certain stress on different components, not only on the entire system. This could be done with the aim of finding bottlenecks, concurrency issues and improvement opportunities.
  8. And it’s not only about simulating, but we also need to measure. “What we don’t know is what gets us killed”.
  9. We need to measure during that simulation to be able to detect: - bottlenecks (what’s the “thinner” part of the system that doesn’t allow it to be fast, or faster) what’s the breaking point (after what amount of load does the system start degradation) So, in a “simple” way: performance tests consist of simulation & measurement to detect these type of problems.
  10. So, when should I start doing performance testing? And here is the main motivation of our talk: the comparison between doing performance testing at the end of development and doing performance testing along with it. Waterfall approach At the end of the development. Used for acceptance testing: if we reach the acceptance criteria the system goes to production, if it does not: we don’t buy it / we don’t go-live / etc. Simulation of the expected load scenario. We need to understand the expected load in order to simulate it. Agile approach Performance testing along with development. Think about performance testing since the beginning. Continuous integration environment with performance tests included. Unit and component performance testing. Early feedback. Performance engineering. When you have one story implemented you can start executing it with multiple users at the same time, you can validate your architecture or any aspect that you consider risky, but the only way to do that is thinking about “what could be risky in terms of performance and how can I mitigate asap those risks?”
  11. We will start by talking about different aspects that are common to both approaches. For this, we determined three pillars of the continuous improvement process: people, technology and processes (or methodology)
  12. Talking about what your people should know, we can distinguish between hard-skills and soft-skills. Starting with hard-skills, you don’t have to learn to use different tools, we think that you have to learn how to manage different kind of tools. What I mean is useful at least for our context: in each project we face different architectures, different operating systems, components, web servers, DBMS, protocols, etc. You need to know how to program in most cases, because even though you use jmeter which scripts are shown in a graphical way, as a tree inside the tool, you will always need to automate certain tasks, prepare a bash script, or something similar. The automation is done always at a protocol level. Differently from the functional testing tools like Selenium, where the automation is done over the UI. Therefore, it’s necessary to understand the protocol. The most typical is HTTP, so you need to understand how the stateless is resolved, cookies, gets and posts, requests and responses, connections, primary requests and embedded resources, etc… !! When you have to execute a test and start analyzing, you have to understand the architectures, different layers, etc., and how to monitor them, which indicators and with which tools. The same for the operating systems. And also, it’s important to know a bit about the business, you have to understand what’s important, when your application makes you lose money or whatever risk it could bring.
  13. If we think of soft-skills, there is another interesting group of things to consider: Abstraction, communication (with different kind of people who speak different “languages”) Abstraction You cannot (or you won’t have enough time to) understand every little aspect of the whole system under test and you have to live with that. You will need to understand it as a whole, and go with a top-down approach as it gets necessary. Communication You will need to understand the business needs from analysts, and you will need to discuss about very technological aspects with DevOps and developers. They are people with very different languages. You will need to present your results (oral and written) to different (very different) stakeholders. Analysis You will need to read data, a lot. You have to process it, mix it, cross it with more data, see it from different perspectives, do whatever you need with that in order to get useful information, to get evidence and clues to find the bottlenecks. Perception You have to be very careful with risks.
  14. To describe this , Scott Barber says
  15. Two aspects to consider when talking about performance: server side and client side. Both affect the user experience. We will have to use different tools in each of them, different technology.
  16. When talking about server side: Load simulation tools Jmeter is the most popular open-source tool for this Then, we have tools like BlazeMeter that allow us to scale in the number of users by executing tests from the cloud. Taurus allows us to easily integrate Jmeter tests into a CI environment Gatling it’s my recently new favorite tool :D It uses SCALA as a scripting language, what’s interesting is that they apply Page Objects pattern to performance. It also allows us to execute more concurrent users that Jmeter from the same machine. It can also be scaled up to Blazemeter. What tools do we have available to measure from the server side? Some are specific tools related to the technologies we are using APM tools that show all the information from each component in one place
  17. Web Some tools that are well-known, to check for performance of a website (not under concurrence). monkeytest.it – monkey testing over a website, analysis over each page Desktop Profiles or Operative System tools to check for CPU, Memory, Network, etc. Mobile Many tools available & Monkop, that we’ll tell you more about it now. This is one of the tools we developed at Abstracta.
  18. Monkop is a cloud-base solution that allows you to execute compatibility tests over several real devices and check for performance issues, crashes and more.
  19. Monkop can be used in different stages of the development cycle. To use the Saas version, you only have to upload the app to monkop.com, and in 1 hour you will receive a report in your inbox with the results from the tests.
  20. During this hour, Monkop will install the app in different devices form our in-house lab, and run tests in each of them.
  21. These are some examples of Monkop’s explorations
  22. Monkop collects detailed performance information regarding CPU, Memory and Battery usage, network, as well as rendering time and other layout metrics
  23. And generates a report with the areas of the app that need improvement and also provides recommendations based on Android best practices The report includes videos of the explorations and screenshots for you to be able to reproduce the test. You can try it for free at monkop.com.
  24. 3 main activities are involved in the performance testing process. The way we distribute the effort we put in these tasks will determined if we’re being more “agile” or following a waterfall approach. In the following section we will talk about this.
  25. If you execute 100% of the load directly, probably you will see many errors at different levels, it will be difficult to know where to start. Best approach: execute small loads and make them grow progressively. In that way, you will face the biggest problems first, and later you can refine your analysis.
  26. Advantages of doing the testing at the end: It’s easy to plan: you build the team and you know that they will be assigned 3 months to that activity This can be an advantage and also a disadvantage: have a separate environment similar to production to run the tests, and then that environment can become the production one (after the tests are run) Focus on some specific characteristics to test (X amount of functionalities) Some cons of the waterfall approach: One month prior to going live, everyone wants to use the environment we need to run the tests (the one that is similar to production) This is the worst one: executing performance tests ONLY at the end is highly risky – find out at the end that the is and architecture/design problem, which requires high costs to change/adapt. ***Tell about a project: It happened with a client that one month before going live, they had to change the data base scheme because it was not possible to optimize the SQLs and the response times were too high.
  27. Some of the pros of the Agile approach: Avoid large problems that may require major changes in the architecture or in big structures. Imagine that after one year of development, you run a test and it tells you that your architecture is not good enough to support the expected amount of concurrent transactions. Then, you have to go in and backtrack, making large changes after working so hard on it for a whole year. With the Agile approach, you run the first load test on all the different components at the beginning of the project, reducing and managing this risk. For example, in one project two years ago, we ran a load simulation (waterfall approach) and discovered that the system could not support the concurrency properly. As it was so hard to change the architecture, they had to use several application servers for some months, while the development team was making the required adjustments. If they had executed a simple test at the beginning, they would have realized the problem existed before. You can execute frequent load tests and identify which changes make the system go slower, then it’s easier and cheaper to correct those issues. Another good practice that we tend to do in all our continuous integration projects: even if you do not have performance tests, measure your functional tests, or even your unit tests, and set an alert if the execution time gets higher than a specific value (or for example, if it’s 20% higher than the average of all the previous executions) ***Tell about a project: Fortune 500 company in SV, execute 300 scripts (unit performance tests built by developers ) , 3 times per week (in Jenkins), in a dedicated environment. Our job is to consolidate these scripts, reduce the total test time and optimize them. For example, part of our job is finding the right assertions in response times and transactions. We have a test over a REST service. The developer runs the tests with 100 users. Our goal as Performance Engineers is to find what is the optimal number of users that should execute the test once it is integrated into the CI. So, for this we ask ourselves: What’s the max number of users that can run the services without degradation? What’s the breaking point? And also, what’s the response time of the transaction before it increases? For example, I know that 225 users is the number of users this service can handle before getting to the breaking point and that the response time until that point is about 3 seconds. So I would add an assertion that verifies that response time do not increase in more than 20% and also, I will check that the number of transactions per second doesn’t decrease by more that 20% (it doesn’t get slower). Goal: identify the line of code that generated the performance problem as soon as possible One of the best benefits is that your team learns not only about performance testing, but also about monitoring and problem solving. That will prepare them (both the test team and the development team) to be ready for any several types of problems in production, because if they face problems during the construction of the software, for sure they will have learned how to get the information needed (which tools and which indicators, logs, etc.) and use it to get straight to the problem and its solution. It’s good to have DevOps, but it’s a very hard skill obtain in the market, isn’t it? Perhaps it could be very useful to train your developers a little about performance, and your performance testers about development. What if your developers learn a bit about using a profiler, set a new environment, use different optimization and analysis tools, etc. Doing performance testing frequently makes your team be involved in these tasks and face this kind of problems as a common task. Some cons of the agile approach: Requires more automation effort. There is no tool that allows you to “maintain” scripts. Most of the time we rebuild scripts from scratch because it takes less effort than trying to fix the ones you have from the previous sprint. Perhaps we could think about the proposal from Mike Cohn; the famous pyramid shows how we should invest our time in automation. If we translate this into performance testing we could conclude: We could have many unit tests for performance testing (as mentioned before, with automatic response time checks). These could be executed easily in their CI tool, many times every day, and it is very easy to maintain and very fast to execute (the best ROI) We could have API tests, also executing against our code, or against services (web services, REST), considering concurrency. These tests are easier to maintain and quicker to run than those prepared to simulate user behavior. Automate the most critical test cases at a GUI level, what in performance testing is translated to “http” in most cases, in the protocol between the client and the server. These are the most difficult to maintain, but on the other hand, these are the ones that provides the most information end-to-end. FALLACY: if you test the components then the entire system will work properly. That’s not necessary true. You need to test the components individually and then, test them working together.
  28. We should ask ourselves these questions instead. Do you need evidence for your customers? ***Tell example about client that needed to validate if the software/hardware was able to handle the expected load prior to buying it.