SlideShare a Scribd company logo
1 of 25
Download to read offline
@USI_LeeBarnes
Continuous Performance
Testing in DevOps
1
@USI_LeeBarnes
About Me…
• CQO of Forte Group
• Involved in software quality and testing for over 25 years
• Most of that time focused on automation in testing and performance
testing
• Passionate about helping organizations build quality into their
applications
2
Email: lee.barnes@fortegrp.com
Twitter: @USI_LeeBarnes
LinkedIn: linkedin.com/in/leebarnes
Blog: utopiasolutions.com/blog
COPYRIGHT FORTE GROUP
@USI_LeeBarnes
3
Performance Testing is Dead!
@USI_LeeBarnes COPYRIGHT UTOPIA SOLUTIONS, INC.
As the ONLY evaluation of a system’s performance
as the ONLY evaluation of system performance
@USI_LeeBarnes
“Traditional” Performance Testing
4
Plan Design Build Test Deploy
Performance Testing “Rules”
• Application is functionally complete
• Code is frozen for duration of the test
• Executed in a production-like environment
Performance Test
Many Weeks
Many Months
COPYRIGHT FORTE GROUP
@USI_LeeBarnes
“Traditional” Performance Testing
5
What if we find issues?
Delay release or….
COPYRIGHT FORTE GROUP
@USI_LeeBarnes
Traditional Performance Testing and DevOps
6
Performance Test Performance Test
Performance Test Performance Test
Short / Agile
Development Cycles
Lengthy / Rigid
Performance Tests
+ =
COPYRIGHT FORTE GROUP
@USI_LeeBarnes
What is Continuous Performance?
• Continuous Performance is not…
─ More frequent traditional performance tests
─ Moving traditional performance testing earlier in the delivery cycle
─ Faster or completely automated performance testing
• But it is…
─ Evaluation of performance at each stage (as appropriate) of the delivery pipeline
─ More frequent and visible performance feedback
─ Trending of performance data across builds
7 COPYRIGHT FORTE GROUP
@USI_LeeBarnes
How are we doing?
8
Low Medium High Elite
Automated Unit Tests 57% 66% 84% 87%
Automated Acceptance Tests 28% 38% 48% 58%
Automated Performance Tests 18% 23% 18% 28%
Automated Security Tests 15% 28% 25% 31%
- Data from 2019 Accelerate State of DevOps Report
Test Automation By DevOps Performance Profile
COPYRIGHT FORTE GROUP
@USI_LeeBarnes
What’s Missing?
9
• Performance requirements not part of
user stories
• Lack of ownership and accountability
for performance in delivery teams
• Delivery teams lack performance
engineering expertise
• APM tools / skills not present in the
delivery teams or pipeline
Common Obstacles to
Continuous Performance
Testing and Analysis
COPYRIGHT FORTE GROUP
@USI_LeeBarnes
Think About Performance Early
10
As a dealer I want to create
product configurations on
a mobile device so I can
generate quotes at the
customer site
Performance Factors
• Peak of 1200 quotes per
hour
• Varying network conditions
• Avg screen to screen
response time < 2 seconds
COPYRIGHT FORTE GROUP
@USI_LeeBarnes
Incorporating Performance Requirements
11
… as constraints The system will respond in less than 2 seconds for all steps
in the product configuration process while under a peak
load of 1,200 quotes per hour
… as acceptance criteria for existing user stories
As a dealer I want to create a
product configuration for a quote
so that my customer can purchase
the equipment they need
• All steps in the product config.
process will have a response
time of less than 2 seconds
• Peak expected throughput for
quote configuration is 1,200 per
hour
COPYRIGHT FORTE GROUP
@USI_LeeBarnes
Building Organizational Accountability
12
Accountability Awareness
=
Discuss performance factors early
Incorporate performance related
requirements
Visibility
+
Include documenting performance
factors and acceptance criteria in
definition of done
COPYRIGHT FORTE GROUP
@USI_LeeBarnes
Integrate Performance Skills and Tools
• Integrate existing performance testing / engineering skills into teams
─ Start small and expand expertise
─ Create a virtual CoE to provide guidance and oversight
• Bring APM tooling into delivery cycle
─ Performance diagnostics and monitoring
13 COPYRIGHT FORTE GROUP
@USI_LeeBarnes
Transition from Centralized to Integrated
14 COPYRIGHT FORTE GROUP
Performance Testing
Integrated with
Delivery Teams
Centralized
Performance
Testing
@USI_LeeBarnes
Where Can We Learn About Performance?
15
Integration
User
Acceptance
Performance /
Load
Production
Commit
COPYRIGHT FORTE GROUP
@USI_LeeBarnes
Performance at the Commit Stage
• Unit Performance Testing (Microbenchmarks)
─ Should be true unit tests (i.e. all dependencies mocked) but use multiple threads and iterations
─ Including as part of CI is not trivial – there are solutions to help (JMH is most popular)
• Pipeline Considerations
─ Executed on every commit (if functional unit tests pass)
─ Executed on dedicated machine (JMH can help)
─ Shouldn’t automatically break the build
─ Balance length of tests against need for fast feedback
─ Trend results across builds and feed back to developers
(SPL can assist with automated evaluation)
16
Project Type
SPL Performance unit testing research project
JMH Standalone microbenchmarking framework
Caliper Standalone microbenchmarking framework
JUnitPerf* Extension of Junit testing framework
ContiPerf* Extension of Junit testing framework
Japex* Standalone microbenchmarking framework
* project is available, but no longer maintained
Stefan, Petr, et al. “Unit Testing Performance in Java Projects.” Proceedings of the
8th ACM/SPEC on International Conference on Performance Engineering - ICPE '17,
2017, doi:10.1145/3030207.3030226.
COPYRIGHT FORTE GROUP
@USI_LeeBarnes
Performance at the Integration Stage
• Integration Stage Performance Testing and Measurement
─ Focus on the most critical components at first (scale as appropriate)
─ Small/short tests  Individual calls/requests (small number of threads executing a low number of iterations)
─ Dependencies mocked or virtualized to reduce setup complexity
─ Components tested individually
─ Measure system metrics via APM tools
• Pipeline Considerations
─ Executed on every deployment
─ Shouldn’t automatically break the build
─ Trend results across builds and publish
17 COPYRIGHT FORTE GROUP
@USI_LeeBarnes
Testing Monoliths vs. Microservices
18
Microservices Architecture
Service A Service B Service C
…
• Easier to map tests to components
• Mocking dependencies and data can be straight forward
COPYRIGHT FORTE GROUP
Monolithic Architecture
• Lines between “components” may
not be clear
• Can be more difficult to mock
dependencies and data
UI
Business Logic
Persistence
@USI_LeeBarnes
Performance at the Acceptance Stage
• Acceptance Stage Performance Testing and Measurement
─ Execute additional (less critical) component tests
─ Capture performance metrics during automated regression test execution
─ “Traditional” system-level performance test as necessary based on risk
• Pipeline Considerations
─ Component tests executed on every deployment
─ Component dependencies mocked or virtualized to reduce setup complexity
─ Larger system-level tests executed “out of flow” in dedicated environment with
no mocking
19
Component
performance tests and
automated regression
executed here
System-level
performance tests
executed here
COPYRIGHT FORTE GROUP
@USI_LeeBarnes
Putting it all together
20
Test Environment
Entity Under Test
(App, Component, etc.)
Results
Collection
Broadcast
Results
/
Alerts
APM
Continuous Integration
COPYRIGHT FORTE GROUP
Performance Test Tool
@USI_LeeBarnes
Implementation Approach
• Start slow and small – then speed up and scale
• Make continuous performance part of your technical backlog
• Avoid information overload
─ Is your team ready to consume the information provided?
─ Do they understand it?
─ Are they ready to act on it?
• Take care of supporting factors
─ Think critically about test scope
─ Test environments and data ready to support on-demand tests
• Solicit feedback and continuously improve!
21 COPYRIGHT FORTE GROUP
@USI_LeeBarnes
Performance in Production
Testing in Production
─ Confirm environment is capable of supporting
expected load
─ Test the entire system (CDN, etc.) vs. just what’s
behind the firewall
─ Understand the user experience based on
location / network conditions
22
Testing & Monitoring in Production
─ Monitor synthetic transactions in production
─ Feedback loop between upstream testing and
production monitoring data to continuously
improve monitoring and test design
Key Considerations
─ Solicit broad IT input for production testing and monitoring strategy
─ Coordinate tests with infrastructure providers
─ Identify ideal test windows to eliminate impact on customers and results (or
cordon off part of the environment for live users during execution)
─ Ensure the system “knows” it’s being tested
─ Eliminate (or mock) requests to 3rd party services
COPYRIGHT FORTE GROUP
@USI_LeeBarnes
Testing, Monitoring & Observability
23
Testing
Known-knowns
Ability to confirm the answer to
questions for which we know
what the answer should be…
Is page-to-page response time less
than 2 seconds under a load of
5,000 concurrent users?
Monitoring
Known-unknowns
Ability to answer questions
that we don’t yet know the
answer to…
Will the page-to-page response
time in production always be
less than 2 seconds?
Observability
Unknown-unknowns
Ability to answer questions that
we didn’t know we would have to
ask…
Show me all UK users running
Chrome 80.0.3987.149 on
Windows 10 Pro build 18363 that
uploaded files on January 3rd
COPYRIGHT FORTE GROUP
@USI_LeeBarnes
Key Takeaways
• Traditional end-of-cycle performance tests don’t jive well with modern development
approaches
• Continuous performance testing is evaluating performance as appropriate at every
stage of your pipeline
• Continuous performance testing should be part of the way your organization delivers
software
• Start small, get feedback and continuously improve!
24 COPYRIGHT FORTE GROUP
@USI_LeeBarnes
Continuing the Conversation
25
Lee Barnes
Chief Quality Officer
Forte Group
Email: lee.barnes@fortegrp.com
Twitter: @USI_LeeBarnes
LinkedIn: linkedin.com/in/leebarnes
Blog: utopiasolutions.com/blog
COPYRIGHT FORTE GROUP

More Related Content

What's hot

Service quality of ‘mobile telecom service provider’
Service quality of ‘mobile telecom service provider’Service quality of ‘mobile telecom service provider’
Service quality of ‘mobile telecom service provider’Shubham Ahirwar
 
realme: From New Player to the Fastest Growth!
realme: From New Player to the Fastest Growth!realme: From New Player to the Fastest Growth!
realme: From New Player to the Fastest Growth!robusta
 
Byju's business canvas model
Byju's business canvas modelByju's business canvas model
Byju's business canvas modelamritesh Ps
 
Analysis of Wipro
Analysis of WiproAnalysis of Wipro
Analysis of WiproAnand Tomar
 
WIPRO PRESENTATION
WIPRO PRESENTATIONWIPRO PRESENTATION
WIPRO PRESENTATIONSunil G R
 
Mrudula organiations study at v guard ltd
Mrudula organiations study at v guard ltdMrudula organiations study at v guard ltd
Mrudula organiations study at v guard ltdLibu Thomas
 
A Real-time Risk Assessment for Information System with CICIDS2017 dataset us...
A Real-time Risk Assessment for Information System with CICIDS2017 dataset us...A Real-time Risk Assessment for Information System with CICIDS2017 dataset us...
A Real-time Risk Assessment for Information System with CICIDS2017 dataset us...Prachyanun Nilsook
 
Market study and Industry Analysis of Xiaomi in India - PPT - Marketing Mana...
Market study and Industry Analysis of Xiaomi in India - PPT -  Marketing Mana...Market study and Industry Analysis of Xiaomi in India - PPT -  Marketing Mana...
Market study and Industry Analysis of Xiaomi in India - PPT - Marketing Mana...Karan Kapoor
 
Flipkart Services marketing.
Flipkart Services marketing.Flipkart Services marketing.
Flipkart Services marketing.AnupPinge
 
S.W.O.T analysis of Flipkart internet private LTD.
S.W.O.T analysis of Flipkart internet private LTD.S.W.O.T analysis of Flipkart internet private LTD.
S.W.O.T analysis of Flipkart internet private LTD.amiteshg
 
Aryan performance appraisal system airtel new hr (1) ayushi
Aryan performance appraisal system airtel new hr (1) ayushiAryan performance appraisal system airtel new hr (1) ayushi
Aryan performance appraisal system airtel new hr (1) ayushiMd Aktar
 
Internship report on oppo
Internship report on oppoInternship report on oppo
Internship report on oppoFerdous Rahman
 
Important Lessons Learnt From Rocket Singh
Important Lessons Learnt From Rocket SinghImportant Lessons Learnt From Rocket Singh
Important Lessons Learnt From Rocket SinghJaspal Singh
 

What's hot (20)

Byjus ppt 16 oct 2020
Byjus ppt 16 oct 2020Byjus ppt 16 oct 2020
Byjus ppt 16 oct 2020
 
Service quality of ‘mobile telecom service provider’
Service quality of ‘mobile telecom service provider’Service quality of ‘mobile telecom service provider’
Service quality of ‘mobile telecom service provider’
 
Six sigma in Wipro
Six sigma in WiproSix sigma in Wipro
Six sigma in Wipro
 
realme: From New Player to the Fastest Growth!
realme: From New Player to the Fastest Growth!realme: From New Player to the Fastest Growth!
realme: From New Player to the Fastest Growth!
 
Unacademy.pptx
Unacademy.pptxUnacademy.pptx
Unacademy.pptx
 
Byju's business canvas model
Byju's business canvas modelByju's business canvas model
Byju's business canvas model
 
Analysis of Wipro
Analysis of WiproAnalysis of Wipro
Analysis of Wipro
 
WIPRO PRESENTATION
WIPRO PRESENTATIONWIPRO PRESENTATION
WIPRO PRESENTATION
 
Wipro ppt
Wipro pptWipro ppt
Wipro ppt
 
Mrudula organiations study at v guard ltd
Mrudula organiations study at v guard ltdMrudula organiations study at v guard ltd
Mrudula organiations study at v guard ltd
 
A Real-time Risk Assessment for Information System with CICIDS2017 dataset us...
A Real-time Risk Assessment for Information System with CICIDS2017 dataset us...A Real-time Risk Assessment for Information System with CICIDS2017 dataset us...
A Real-time Risk Assessment for Information System with CICIDS2017 dataset us...
 
Market study and Industry Analysis of Xiaomi in India - PPT - Marketing Mana...
Market study and Industry Analysis of Xiaomi in India - PPT -  Marketing Mana...Market study and Industry Analysis of Xiaomi in India - PPT -  Marketing Mana...
Market study and Industry Analysis of Xiaomi in India - PPT - Marketing Mana...
 
Best Practices in Targeted Legacy Modernization
Best Practices in Targeted Legacy ModernizationBest Practices in Targeted Legacy Modernization
Best Practices in Targeted Legacy Modernization
 
Infosys
InfosysInfosys
Infosys
 
Culture @ rebel
Culture @ rebel Culture @ rebel
Culture @ rebel
 
Flipkart Services marketing.
Flipkart Services marketing.Flipkart Services marketing.
Flipkart Services marketing.
 
S.W.O.T analysis of Flipkart internet private LTD.
S.W.O.T analysis of Flipkart internet private LTD.S.W.O.T analysis of Flipkart internet private LTD.
S.W.O.T analysis of Flipkart internet private LTD.
 
Aryan performance appraisal system airtel new hr (1) ayushi
Aryan performance appraisal system airtel new hr (1) ayushiAryan performance appraisal system airtel new hr (1) ayushi
Aryan performance appraisal system airtel new hr (1) ayushi
 
Internship report on oppo
Internship report on oppoInternship report on oppo
Internship report on oppo
 
Important Lessons Learnt From Rocket Singh
Important Lessons Learnt From Rocket SinghImportant Lessons Learnt From Rocket Singh
Important Lessons Learnt From Rocket Singh
 

Similar to Continuous Performance Testing in DevOps

Performance Testing in the Agile Lifecycle
Performance Testing in the Agile LifecyclePerformance Testing in the Agile Lifecycle
Performance Testing in the Agile LifecycleLee Barnes
 
How to scale your Test Automation
How to scale your Test AutomationHow to scale your Test Automation
How to scale your Test AutomationKlaus Salchner
 
Test automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application ServerTest automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application ServerRobbie Minshall
 
Enhancing Quality and Test in Medical Device Design - Part 2.pdf
Enhancing Quality and Test in Medical Device Design - Part 2.pdfEnhancing Quality and Test in Medical Device Design - Part 2.pdf
Enhancing Quality and Test in Medical Device Design - Part 2.pdfICS
 
Building a Complete Pipeline: The Essential Components of Continuous Testing ...
Building a Complete Pipeline: The Essential Components of Continuous Testing ...Building a Complete Pipeline: The Essential Components of Continuous Testing ...
Building a Complete Pipeline: The Essential Components of Continuous Testing ...Applitools
 
Improving Quality through Continuous Integration - A case study of CollabNet
Improving Quality through Continuous Integration - A case study of CollabNetImproving Quality through Continuous Integration - A case study of CollabNet
Improving Quality through Continuous Integration - A case study of CollabNetVenkat Janardhanam, MS, MBA
 
An Automation Framework That Really Works
An Automation Framework That Really WorksAn Automation Framework That Really Works
An Automation Framework That Really WorksBasivi Reddy Junna
 
Solano Labs presented at MassTLC's automated testing
Solano Labs presented at MassTLC's automated testingSolano Labs presented at MassTLC's automated testing
Solano Labs presented at MassTLC's automated testingMassTLC
 
DevOps Workshop - Addressing Quality Challenges of Highly Complex and Integra...
DevOps Workshop - Addressing Quality Challenges of Highly Complex and Integra...DevOps Workshop - Addressing Quality Challenges of Highly Complex and Integra...
DevOps Workshop - Addressing Quality Challenges of Highly Complex and Integra...Andrew Williams
 
Webinar Presentation: Best Practices in QA Testing - Leveraging Open Source T...
Webinar Presentation: Best Practices in QA Testing - Leveraging Open Source T...Webinar Presentation: Best Practices in QA Testing - Leveraging Open Source T...
Webinar Presentation: Best Practices in QA Testing - Leveraging Open Source T...Emtec Inc.
 
How to build confidence in your release cycle
How to build confidence in your release cycleHow to build confidence in your release cycle
How to build confidence in your release cycleDiUS
 
Continuous Performance Testing: The New Standard
Continuous Performance Testing: The New StandardContinuous Performance Testing: The New Standard
Continuous Performance Testing: The New StandardTechWell
 
Performance Testing in the Agile Lifecycle
Performance Testing in the Agile LifecyclePerformance Testing in the Agile Lifecycle
Performance Testing in the Agile LifecycleTechWell
 
How To Avoid Continuously Delivering Faulty Software
How To Avoid Continuously Delivering Faulty SoftwareHow To Avoid Continuously Delivering Faulty Software
How To Avoid Continuously Delivering Faulty SoftwareErika Barron
 
A Complete Guide to Functional Testing
A Complete Guide to Functional TestingA Complete Guide to Functional Testing
A Complete Guide to Functional TestingMatthew Allen
 
Designing for Testability: Differentiator in a Competitive Market
Designing for Testability: Differentiator in a Competitive MarketDesigning for Testability: Differentiator in a Competitive Market
Designing for Testability: Differentiator in a Competitive MarketTechWell
 
Accelerating tests with Cypress for a leaderboard platform
Accelerating tests with Cypress for a leaderboard platformAccelerating tests with Cypress for a leaderboard platform
Accelerating tests with Cypress for a leaderboard platformKnoldus Inc.
 
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 DevelopmentDynatrace
 

Similar to Continuous Performance Testing in DevOps (20)

Performance Testing in the Agile Lifecycle
Performance Testing in the Agile LifecyclePerformance Testing in the Agile Lifecycle
Performance Testing in the Agile Lifecycle
 
How to scale your Test Automation
How to scale your Test AutomationHow to scale your Test Automation
How to scale your Test Automation
 
Test automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application ServerTest automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application Server
 
SDLCTesting
SDLCTestingSDLCTesting
SDLCTesting
 
Enhancing Quality and Test in Medical Device Design - Part 2.pdf
Enhancing Quality and Test in Medical Device Design - Part 2.pdfEnhancing Quality and Test in Medical Device Design - Part 2.pdf
Enhancing Quality and Test in Medical Device Design - Part 2.pdf
 
Building a Complete Pipeline: The Essential Components of Continuous Testing ...
Building a Complete Pipeline: The Essential Components of Continuous Testing ...Building a Complete Pipeline: The Essential Components of Continuous Testing ...
Building a Complete Pipeline: The Essential Components of Continuous Testing ...
 
Improving Quality through Continuous Integration - A case study of CollabNet
Improving Quality through Continuous Integration - A case study of CollabNetImproving Quality through Continuous Integration - A case study of CollabNet
Improving Quality through Continuous Integration - A case study of CollabNet
 
An Automation Framework That Really Works
An Automation Framework That Really WorksAn Automation Framework That Really Works
An Automation Framework That Really Works
 
Continuous Delivery Maturity Model
Continuous Delivery Maturity ModelContinuous Delivery Maturity Model
Continuous Delivery Maturity Model
 
Solano Labs presented at MassTLC's automated testing
Solano Labs presented at MassTLC's automated testingSolano Labs presented at MassTLC's automated testing
Solano Labs presented at MassTLC's automated testing
 
DevOps Workshop - Addressing Quality Challenges of Highly Complex and Integra...
DevOps Workshop - Addressing Quality Challenges of Highly Complex and Integra...DevOps Workshop - Addressing Quality Challenges of Highly Complex and Integra...
DevOps Workshop - Addressing Quality Challenges of Highly Complex and Integra...
 
Webinar Presentation: Best Practices in QA Testing - Leveraging Open Source T...
Webinar Presentation: Best Practices in QA Testing - Leveraging Open Source T...Webinar Presentation: Best Practices in QA Testing - Leveraging Open Source T...
Webinar Presentation: Best Practices in QA Testing - Leveraging Open Source T...
 
How to build confidence in your release cycle
How to build confidence in your release cycleHow to build confidence in your release cycle
How to build confidence in your release cycle
 
Continuous Performance Testing: The New Standard
Continuous Performance Testing: The New StandardContinuous Performance Testing: The New Standard
Continuous Performance Testing: The New Standard
 
Performance Testing in the Agile Lifecycle
Performance Testing in the Agile LifecyclePerformance Testing in the Agile Lifecycle
Performance Testing in the Agile Lifecycle
 
How To Avoid Continuously Delivering Faulty Software
How To Avoid Continuously Delivering Faulty SoftwareHow To Avoid Continuously Delivering Faulty Software
How To Avoid Continuously Delivering Faulty Software
 
A Complete Guide to Functional Testing
A Complete Guide to Functional TestingA Complete Guide to Functional Testing
A Complete Guide to Functional Testing
 
Designing for Testability: Differentiator in a Competitive Market
Designing for Testability: Differentiator in a Competitive MarketDesigning for Testability: Differentiator in a Competitive Market
Designing for Testability: Differentiator in a Competitive Market
 
Accelerating tests with Cypress for a leaderboard platform
Accelerating tests with Cypress for a leaderboard platformAccelerating tests with Cypress for a leaderboard platform
Accelerating tests with Cypress for a leaderboard platform
 
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
 

More from QA or the Highway

KrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdfKrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdfQA or the Highway
 
Ravi Lakkavalli - World Quality Report.pptx
Ravi Lakkavalli - World Quality Report.pptxRavi Lakkavalli - World Quality Report.pptx
Ravi Lakkavalli - World Quality Report.pptxQA or the Highway
 
Caleb Crandall - Testing Between the Buckets.pptx
Caleb Crandall - Testing Between the Buckets.pptxCaleb Crandall - Testing Between the Buckets.pptx
Caleb Crandall - Testing Between the Buckets.pptxQA or the Highway
 
Thomas Haver - Mobile Testing.pdf
Thomas Haver - Mobile Testing.pdfThomas Haver - Mobile Testing.pdf
Thomas Haver - Mobile Testing.pdfQA or the Highway
 
Thomas Haver - Example Mapping.pdf
Thomas Haver - Example Mapping.pdfThomas Haver - Example Mapping.pdf
Thomas Haver - Example Mapping.pdfQA or the Highway
 
Joe Colantonio - Actionable Automation Awesomeness in Testing Farm.pdf
Joe Colantonio - Actionable Automation Awesomeness in Testing Farm.pdfJoe Colantonio - Actionable Automation Awesomeness in Testing Farm.pdf
Joe Colantonio - Actionable Automation Awesomeness in Testing Farm.pdfQA or the Highway
 
Sarah Geisinger - Continious Testing Metrics That Matter.pdf
Sarah Geisinger - Continious Testing Metrics That Matter.pdfSarah Geisinger - Continious Testing Metrics That Matter.pdf
Sarah Geisinger - Continious Testing Metrics That Matter.pdfQA or the Highway
 
Jeff Sing - Quarterly Service Delivery Reviews.pdf
Jeff Sing - Quarterly Service Delivery Reviews.pdfJeff Sing - Quarterly Service Delivery Reviews.pdf
Jeff Sing - Quarterly Service Delivery Reviews.pdfQA or the Highway
 
Leandro Melendez - Chihuahua Load Tests.pdf
Leandro Melendez - Chihuahua Load Tests.pdfLeandro Melendez - Chihuahua Load Tests.pdf
Leandro Melendez - Chihuahua Load Tests.pdfQA or the Highway
 
Rick Clymer - Incident Management.pdf
Rick Clymer - Incident Management.pdfRick Clymer - Incident Management.pdf
Rick Clymer - Incident Management.pdfQA or the Highway
 
Robert Fornal - ChatGPT as a Testing Tool.pptx
Robert Fornal - ChatGPT as a Testing Tool.pptxRobert Fornal - ChatGPT as a Testing Tool.pptx
Robert Fornal - ChatGPT as a Testing Tool.pptxQA or the Highway
 
Federico Toledo - Extra-functional testing.pdf
Federico Toledo - Extra-functional testing.pdfFederico Toledo - Extra-functional testing.pdf
Federico Toledo - Extra-functional testing.pdfQA or the Highway
 
Andrew Knight - Managing the Test Data Nightmare.pptx
Andrew Knight - Managing the Test Data Nightmare.pptxAndrew Knight - Managing the Test Data Nightmare.pptx
Andrew Knight - Managing the Test Data Nightmare.pptxQA or the Highway
 
Melissa Tondi - Automation We_re Doing it Wrong.pdf
Melissa Tondi - Automation We_re Doing it Wrong.pdfMelissa Tondi - Automation We_re Doing it Wrong.pdf
Melissa Tondi - Automation We_re Doing it Wrong.pdfQA or the Highway
 
Jeff Van Fleet and John Townsend - Transition from Testing to Leadership.pdf
Jeff Van Fleet and John Townsend - Transition from Testing to Leadership.pdfJeff Van Fleet and John Townsend - Transition from Testing to Leadership.pdf
Jeff Van Fleet and John Townsend - Transition from Testing to Leadership.pdfQA or the Highway
 
DesiradhaRam Gadde - Testers _ Testing in ChatGPT-AI world.pptx
DesiradhaRam Gadde - Testers _ Testing in ChatGPT-AI world.pptxDesiradhaRam Gadde - Testers _ Testing in ChatGPT-AI world.pptx
DesiradhaRam Gadde - Testers _ Testing in ChatGPT-AI world.pptxQA or the Highway
 
Damian Synadinos - Word Smatter.pdf
Damian Synadinos - Word Smatter.pdfDamian Synadinos - Word Smatter.pdf
Damian Synadinos - Word Smatter.pdfQA or the Highway
 
Lee Barnes - What Successful Test Automation is.pdf
Lee Barnes - What Successful Test Automation is.pdfLee Barnes - What Successful Test Automation is.pdf
Lee Barnes - What Successful Test Automation is.pdfQA or the Highway
 
Jordan Powell - API Testing with Cypress.pptx
Jordan Powell - API Testing with Cypress.pptxJordan Powell - API Testing with Cypress.pptx
Jordan Powell - API Testing with Cypress.pptxQA or the Highway
 
Carlos Kidman - Exploring AI Applications in Testing.pptx
Carlos Kidman - Exploring AI Applications in Testing.pptxCarlos Kidman - Exploring AI Applications in Testing.pptx
Carlos Kidman - Exploring AI Applications in Testing.pptxQA or the Highway
 

More from QA or the Highway (20)

KrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdfKrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdf
 
Ravi Lakkavalli - World Quality Report.pptx
Ravi Lakkavalli - World Quality Report.pptxRavi Lakkavalli - World Quality Report.pptx
Ravi Lakkavalli - World Quality Report.pptx
 
Caleb Crandall - Testing Between the Buckets.pptx
Caleb Crandall - Testing Between the Buckets.pptxCaleb Crandall - Testing Between the Buckets.pptx
Caleb Crandall - Testing Between the Buckets.pptx
 
Thomas Haver - Mobile Testing.pdf
Thomas Haver - Mobile Testing.pdfThomas Haver - Mobile Testing.pdf
Thomas Haver - Mobile Testing.pdf
 
Thomas Haver - Example Mapping.pdf
Thomas Haver - Example Mapping.pdfThomas Haver - Example Mapping.pdf
Thomas Haver - Example Mapping.pdf
 
Joe Colantonio - Actionable Automation Awesomeness in Testing Farm.pdf
Joe Colantonio - Actionable Automation Awesomeness in Testing Farm.pdfJoe Colantonio - Actionable Automation Awesomeness in Testing Farm.pdf
Joe Colantonio - Actionable Automation Awesomeness in Testing Farm.pdf
 
Sarah Geisinger - Continious Testing Metrics That Matter.pdf
Sarah Geisinger - Continious Testing Metrics That Matter.pdfSarah Geisinger - Continious Testing Metrics That Matter.pdf
Sarah Geisinger - Continious Testing Metrics That Matter.pdf
 
Jeff Sing - Quarterly Service Delivery Reviews.pdf
Jeff Sing - Quarterly Service Delivery Reviews.pdfJeff Sing - Quarterly Service Delivery Reviews.pdf
Jeff Sing - Quarterly Service Delivery Reviews.pdf
 
Leandro Melendez - Chihuahua Load Tests.pdf
Leandro Melendez - Chihuahua Load Tests.pdfLeandro Melendez - Chihuahua Load Tests.pdf
Leandro Melendez - Chihuahua Load Tests.pdf
 
Rick Clymer - Incident Management.pdf
Rick Clymer - Incident Management.pdfRick Clymer - Incident Management.pdf
Rick Clymer - Incident Management.pdf
 
Robert Fornal - ChatGPT as a Testing Tool.pptx
Robert Fornal - ChatGPT as a Testing Tool.pptxRobert Fornal - ChatGPT as a Testing Tool.pptx
Robert Fornal - ChatGPT as a Testing Tool.pptx
 
Federico Toledo - Extra-functional testing.pdf
Federico Toledo - Extra-functional testing.pdfFederico Toledo - Extra-functional testing.pdf
Federico Toledo - Extra-functional testing.pdf
 
Andrew Knight - Managing the Test Data Nightmare.pptx
Andrew Knight - Managing the Test Data Nightmare.pptxAndrew Knight - Managing the Test Data Nightmare.pptx
Andrew Knight - Managing the Test Data Nightmare.pptx
 
Melissa Tondi - Automation We_re Doing it Wrong.pdf
Melissa Tondi - Automation We_re Doing it Wrong.pdfMelissa Tondi - Automation We_re Doing it Wrong.pdf
Melissa Tondi - Automation We_re Doing it Wrong.pdf
 
Jeff Van Fleet and John Townsend - Transition from Testing to Leadership.pdf
Jeff Van Fleet and John Townsend - Transition from Testing to Leadership.pdfJeff Van Fleet and John Townsend - Transition from Testing to Leadership.pdf
Jeff Van Fleet and John Townsend - Transition from Testing to Leadership.pdf
 
DesiradhaRam Gadde - Testers _ Testing in ChatGPT-AI world.pptx
DesiradhaRam Gadde - Testers _ Testing in ChatGPT-AI world.pptxDesiradhaRam Gadde - Testers _ Testing in ChatGPT-AI world.pptx
DesiradhaRam Gadde - Testers _ Testing in ChatGPT-AI world.pptx
 
Damian Synadinos - Word Smatter.pdf
Damian Synadinos - Word Smatter.pdfDamian Synadinos - Word Smatter.pdf
Damian Synadinos - Word Smatter.pdf
 
Lee Barnes - What Successful Test Automation is.pdf
Lee Barnes - What Successful Test Automation is.pdfLee Barnes - What Successful Test Automation is.pdf
Lee Barnes - What Successful Test Automation is.pdf
 
Jordan Powell - API Testing with Cypress.pptx
Jordan Powell - API Testing with Cypress.pptxJordan Powell - API Testing with Cypress.pptx
Jordan Powell - API Testing with Cypress.pptx
 
Carlos Kidman - Exploring AI Applications in Testing.pptx
Carlos Kidman - Exploring AI Applications in Testing.pptxCarlos Kidman - Exploring AI Applications in Testing.pptx
Carlos Kidman - Exploring AI Applications in Testing.pptx
 

Recently uploaded

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 

Recently uploaded (20)

DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 

Continuous Performance Testing in DevOps

  • 2. @USI_LeeBarnes About Me… • CQO of Forte Group • Involved in software quality and testing for over 25 years • Most of that time focused on automation in testing and performance testing • Passionate about helping organizations build quality into their applications 2 Email: lee.barnes@fortegrp.com Twitter: @USI_LeeBarnes LinkedIn: linkedin.com/in/leebarnes Blog: utopiasolutions.com/blog COPYRIGHT FORTE GROUP
  • 3. @USI_LeeBarnes 3 Performance Testing is Dead! @USI_LeeBarnes COPYRIGHT UTOPIA SOLUTIONS, INC. As the ONLY evaluation of a system’s performance as the ONLY evaluation of system performance
  • 4. @USI_LeeBarnes “Traditional” Performance Testing 4 Plan Design Build Test Deploy Performance Testing “Rules” • Application is functionally complete • Code is frozen for duration of the test • Executed in a production-like environment Performance Test Many Weeks Many Months COPYRIGHT FORTE GROUP
  • 5. @USI_LeeBarnes “Traditional” Performance Testing 5 What if we find issues? Delay release or…. COPYRIGHT FORTE GROUP
  • 6. @USI_LeeBarnes Traditional Performance Testing and DevOps 6 Performance Test Performance Test Performance Test Performance Test Short / Agile Development Cycles Lengthy / Rigid Performance Tests + = COPYRIGHT FORTE GROUP
  • 7. @USI_LeeBarnes What is Continuous Performance? • Continuous Performance is not… ─ More frequent traditional performance tests ─ Moving traditional performance testing earlier in the delivery cycle ─ Faster or completely automated performance testing • But it is… ─ Evaluation of performance at each stage (as appropriate) of the delivery pipeline ─ More frequent and visible performance feedback ─ Trending of performance data across builds 7 COPYRIGHT FORTE GROUP
  • 8. @USI_LeeBarnes How are we doing? 8 Low Medium High Elite Automated Unit Tests 57% 66% 84% 87% Automated Acceptance Tests 28% 38% 48% 58% Automated Performance Tests 18% 23% 18% 28% Automated Security Tests 15% 28% 25% 31% - Data from 2019 Accelerate State of DevOps Report Test Automation By DevOps Performance Profile COPYRIGHT FORTE GROUP
  • 9. @USI_LeeBarnes What’s Missing? 9 • Performance requirements not part of user stories • Lack of ownership and accountability for performance in delivery teams • Delivery teams lack performance engineering expertise • APM tools / skills not present in the delivery teams or pipeline Common Obstacles to Continuous Performance Testing and Analysis COPYRIGHT FORTE GROUP
  • 10. @USI_LeeBarnes Think About Performance Early 10 As a dealer I want to create product configurations on a mobile device so I can generate quotes at the customer site Performance Factors • Peak of 1200 quotes per hour • Varying network conditions • Avg screen to screen response time < 2 seconds COPYRIGHT FORTE GROUP
  • 11. @USI_LeeBarnes Incorporating Performance Requirements 11 … as constraints The system will respond in less than 2 seconds for all steps in the product configuration process while under a peak load of 1,200 quotes per hour … as acceptance criteria for existing user stories As a dealer I want to create a product configuration for a quote so that my customer can purchase the equipment they need • All steps in the product config. process will have a response time of less than 2 seconds • Peak expected throughput for quote configuration is 1,200 per hour COPYRIGHT FORTE GROUP
  • 12. @USI_LeeBarnes Building Organizational Accountability 12 Accountability Awareness = Discuss performance factors early Incorporate performance related requirements Visibility + Include documenting performance factors and acceptance criteria in definition of done COPYRIGHT FORTE GROUP
  • 13. @USI_LeeBarnes Integrate Performance Skills and Tools • Integrate existing performance testing / engineering skills into teams ─ Start small and expand expertise ─ Create a virtual CoE to provide guidance and oversight • Bring APM tooling into delivery cycle ─ Performance diagnostics and monitoring 13 COPYRIGHT FORTE GROUP
  • 14. @USI_LeeBarnes Transition from Centralized to Integrated 14 COPYRIGHT FORTE GROUP Performance Testing Integrated with Delivery Teams Centralized Performance Testing
  • 15. @USI_LeeBarnes Where Can We Learn About Performance? 15 Integration User Acceptance Performance / Load Production Commit COPYRIGHT FORTE GROUP
  • 16. @USI_LeeBarnes Performance at the Commit Stage • Unit Performance Testing (Microbenchmarks) ─ Should be true unit tests (i.e. all dependencies mocked) but use multiple threads and iterations ─ Including as part of CI is not trivial – there are solutions to help (JMH is most popular) • Pipeline Considerations ─ Executed on every commit (if functional unit tests pass) ─ Executed on dedicated machine (JMH can help) ─ Shouldn’t automatically break the build ─ Balance length of tests against need for fast feedback ─ Trend results across builds and feed back to developers (SPL can assist with automated evaluation) 16 Project Type SPL Performance unit testing research project JMH Standalone microbenchmarking framework Caliper Standalone microbenchmarking framework JUnitPerf* Extension of Junit testing framework ContiPerf* Extension of Junit testing framework Japex* Standalone microbenchmarking framework * project is available, but no longer maintained Stefan, Petr, et al. “Unit Testing Performance in Java Projects.” Proceedings of the 8th ACM/SPEC on International Conference on Performance Engineering - ICPE '17, 2017, doi:10.1145/3030207.3030226. COPYRIGHT FORTE GROUP
  • 17. @USI_LeeBarnes Performance at the Integration Stage • Integration Stage Performance Testing and Measurement ─ Focus on the most critical components at first (scale as appropriate) ─ Small/short tests  Individual calls/requests (small number of threads executing a low number of iterations) ─ Dependencies mocked or virtualized to reduce setup complexity ─ Components tested individually ─ Measure system metrics via APM tools • Pipeline Considerations ─ Executed on every deployment ─ Shouldn’t automatically break the build ─ Trend results across builds and publish 17 COPYRIGHT FORTE GROUP
  • 18. @USI_LeeBarnes Testing Monoliths vs. Microservices 18 Microservices Architecture Service A Service B Service C … • Easier to map tests to components • Mocking dependencies and data can be straight forward COPYRIGHT FORTE GROUP Monolithic Architecture • Lines between “components” may not be clear • Can be more difficult to mock dependencies and data UI Business Logic Persistence
  • 19. @USI_LeeBarnes Performance at the Acceptance Stage • Acceptance Stage Performance Testing and Measurement ─ Execute additional (less critical) component tests ─ Capture performance metrics during automated regression test execution ─ “Traditional” system-level performance test as necessary based on risk • Pipeline Considerations ─ Component tests executed on every deployment ─ Component dependencies mocked or virtualized to reduce setup complexity ─ Larger system-level tests executed “out of flow” in dedicated environment with no mocking 19 Component performance tests and automated regression executed here System-level performance tests executed here COPYRIGHT FORTE GROUP
  • 20. @USI_LeeBarnes Putting it all together 20 Test Environment Entity Under Test (App, Component, etc.) Results Collection Broadcast Results / Alerts APM Continuous Integration COPYRIGHT FORTE GROUP Performance Test Tool
  • 21. @USI_LeeBarnes Implementation Approach • Start slow and small – then speed up and scale • Make continuous performance part of your technical backlog • Avoid information overload ─ Is your team ready to consume the information provided? ─ Do they understand it? ─ Are they ready to act on it? • Take care of supporting factors ─ Think critically about test scope ─ Test environments and data ready to support on-demand tests • Solicit feedback and continuously improve! 21 COPYRIGHT FORTE GROUP
  • 22. @USI_LeeBarnes Performance in Production Testing in Production ─ Confirm environment is capable of supporting expected load ─ Test the entire system (CDN, etc.) vs. just what’s behind the firewall ─ Understand the user experience based on location / network conditions 22 Testing & Monitoring in Production ─ Monitor synthetic transactions in production ─ Feedback loop between upstream testing and production monitoring data to continuously improve monitoring and test design Key Considerations ─ Solicit broad IT input for production testing and monitoring strategy ─ Coordinate tests with infrastructure providers ─ Identify ideal test windows to eliminate impact on customers and results (or cordon off part of the environment for live users during execution) ─ Ensure the system “knows” it’s being tested ─ Eliminate (or mock) requests to 3rd party services COPYRIGHT FORTE GROUP
  • 23. @USI_LeeBarnes Testing, Monitoring & Observability 23 Testing Known-knowns Ability to confirm the answer to questions for which we know what the answer should be… Is page-to-page response time less than 2 seconds under a load of 5,000 concurrent users? Monitoring Known-unknowns Ability to answer questions that we don’t yet know the answer to… Will the page-to-page response time in production always be less than 2 seconds? Observability Unknown-unknowns Ability to answer questions that we didn’t know we would have to ask… Show me all UK users running Chrome 80.0.3987.149 on Windows 10 Pro build 18363 that uploaded files on January 3rd COPYRIGHT FORTE GROUP
  • 24. @USI_LeeBarnes Key Takeaways • Traditional end-of-cycle performance tests don’t jive well with modern development approaches • Continuous performance testing is evaluating performance as appropriate at every stage of your pipeline • Continuous performance testing should be part of the way your organization delivers software • Start small, get feedback and continuously improve! 24 COPYRIGHT FORTE GROUP
  • 25. @USI_LeeBarnes Continuing the Conversation 25 Lee Barnes Chief Quality Officer Forte Group Email: lee.barnes@fortegrp.com Twitter: @USI_LeeBarnes LinkedIn: linkedin.com/in/leebarnes Blog: utopiasolutions.com/blog COPYRIGHT FORTE GROUP