SlideShare a Scribd company logo
Effective performance evaluation as part
of a CI approach
Andy Still, Technical Director & Founder, Intechnica
Mark Smith, Online QA Manager, Channel 4
Mission Impossible
Agenda
Performance in CI: Background and challenges
Andy Still
An example implementation
Mark Smith
Intechnica: Introduction
 Specialists in IT application performance
 Vendor independent
 Promote performance by design
 Enable performance best practice
Digital performance experts
Background
Performance in a modern development process?
Relative
importance of
Performance
Control
Software lifecycle timeline
Performance with Agile
Background
What is CI?
If you are going to fail…..
Fail Early and Fail Often
Key features
 Automated process,
run as often as
possible
 Validate as many
things as possible
• Pull dependencies
• Build
• Unit tests
• Syntax checks
• Automation tests
• Integration tests
• ??Performance??
• Deployment
What is Continuous Integration?
Should ….. Can we build
performance into our CI Process?
YES!!!
Why?
 Performance is a first class citizen
• As important as functional issues
• Harder to fix – can be architectural changes
 The earlier you know about problems the better.
If something is hard to do…. Do it early and do it often!
But….
 Don’t be over ambitious
• Test at a level appropriate to stage of development / environment
 Avoid false positives
• Set realistic pass / fail settings
• Tests have to run headless – can’t require any human interpretation
 Remember - performance is linear not binary
• The checkin that broke the build may not be the one that caused the
problem.
Types of performance testing in CI
Types of tests that could be used
 Micro benchmarking
• Set KPIs against specific unit tests / integration tests
• Need to consider
• Datasets v mocking
• Environments
• 3rd party integrations
 Client side
• Set KPIs for areas such as page weight etc.
 Full test under load
• Deploy to realistic environments / datasets
Fitting Performance into CI
Shortening the feedback loop
Performance and CI – Development - APM
Performance and CI - Deployment and CI Testing
Debate
What are the real challenges to successful implementation
of performance controls within CI:
Process vs. Tooling
Challenges to successful delivery of performance
controls within CI
 Where do we start?
 Because performance is not binary people struggle to know how to baseline
and how to test.
 No frameworks currently exist to guide in the approach.
 Performance testing is always done at the end – right?
 Tests are brittle if delivered at the UI layer.
 How can you script and set KPIs against functionality that is not yet
completed.
Process is the inhibiting factor
Challenges to successful delivery of performance
controls within CI
 CI cannot be delivered effectively without tooling however…
 The integration of tooling and process is frequently seen as a blocker to
successful implementation.
• Nothing available off the shelf that provides an integrated CI capability
• Generally requires bespoke integration approach based on available
API’s
 Tooling should:
• Empower developers to performance test
• Automate deployment and performance testing of code drops
• Provide automation of APM analysis
• Automate benchmark comparison and reporting , Pass or Fail?
Tooling
Web: www.intechnica.co.uk
Email: andy.still@intechnica.co.uk
Twitter: @andy_still / @intechnica
Blog: http://internetperformanceexpert.wordpress.com
Tel: 0845 680 9679
Address: Fourways House, 57 Hilton Street, Manchester, M1
2EJ
Andy Still
Technical Director & Co-founder - Intechnica
Questions…..
Then over to Mark to see how they are solving these problems at Channel 4
Mark Smith
 25 years experience in IT development and testing
 Online QA Manager at Channel 4
• BDD and ATDD automation framework
 QA Manager at Asos
• Full scale implementation of automated functional testing
 Fair Isaac
• Pioneered automated testing with reusable keyword driven frameworks
• Built web service testing framework using VUGen and Excel macros
 Razorfish
• Early exposure to Web development and eCommerce
Introduction
 Performance at least
as important as
functionality on many
sites
 Performance
breakages can be
more challenging to
fix than functional
ones
 Build failures and
short feedback loops
can prevent these
breakages making it
into the code base
Why Continuous performance testing?
• May be too disruptive
during early stages of a
project
• Might meet resistance to the
concept of failing builds for
non-functional reasons
• But on stable projects early
identification of
performance issues can
only be of benefit
• So yes, you do, and as
soon as is practical
But Do I also want pure CI performance testing?
Challenges
• Each project needs
own instance of tooling
• License costs high if
using enterprise tools
• Technically more
challenging if using
open source tools
Continuous Integration Testing
Requirements
 Integration with CI tool
 Ability to fail build on percentile
response time, error rates and
other metrics at transaction
level
 Front end instrumentation
 Post run data collation
Full Volume Testing also needs:
 Integration with CI tool
 Ability to fail build on percentile response time, error rates
and other metrics at transaction level
 Front end instrumentation
 Post run data collation
 Scalability to enterprise loads
 Viable injection infrastructure
 Real time monitoring of back end
Selected Tools
Channel 4 chose the open source route
• Jenkins
– CI build management
• Jmeter
– Load Testing
• webPageTest
– Front End Instrumentation
Front end instrumentation
webPageTest can run full workflows during load tests
 used to monitor metrics such as:
 Time to first byte
 DOM Content Ready End
 Load Event End time
 Doc Complete Time (ms)
 Fully loaded
 Time to title
 Bytes in (Doc)
 Num requests (fully loaded)
Jenkins controls the process
Jenkins calls JMeter…
which in turn calls webPageTest…
and results analysed using ’raw page data’ link from
previous page
Can measure time to first byte, document complete and
fully loaded time…
and also more specific metrics, such as cached and
uncached page responses
Details output to Jenkins project workspace, with links
to the full reports
Benefits of using webPageTest with JMeter:
 Final results analysis aimed at CI build pass/fail. Results can trigger build
failure for example.
 Immediately raises awareness in the team for front end performance issues.
The builds break until the front end hits its targets.
 Graphical representation of browser cached and uncached performance, build
by build
 Click through from Jenkins workspace to log of test run results, step by step
 Click through to detailed xml data from webPageTest
 Click through to detailed test analysis presented in webPageTest front end,
including Google page speed like analysis for example.
 Highly configurable test runs, using webPageTest scripting engine to suit many
and varied projects
 Ability to set up CI to test in different browsers
 Ability to set up different CI test scenarios, using webPageTest scripts. For
example testing with / without 3rd party content
 Ability to set up CI front end testing on different client hardware. Perhaps best
case / worst case.
So what do we get?
CI testing gives us
 Very short feedback loops
 Ability to fail build by many metrics
 code base protected from performance degradations
 Performance trending data
Iterative full volume testing adds
 Early and regular view of real world performance
Credits
Oliver Lloyd – www.github.com/oliverlloyd/jmeter-ec2
 JMeter on EC2 Setup Script
Nick Godfrey - webwob.com
 Jenkins Integration
 webPageTest Integration

More Related Content

PPTX
Webinar: "5 semplici passi per migliorare la Quality e i processi di Test".
PPTX
A paradigm shift for testing - how to increase productivity 10x!
PPTX
Udvid din test portefølje med coded ui test og cloud load test
PDF
Software Verification in Academia and Business
PDF
Shift left shift-right performance testing for superior end-user by Arun Dutta
PDF
Continuous testing for devops
PDF
QA Role in Agile Teams
PDF
A Story of Continuous Integration
Webinar: "5 semplici passi per migliorare la Quality e i processi di Test".
A paradigm shift for testing - how to increase productivity 10x!
Udvid din test portefølje med coded ui test og cloud load test
Software Verification in Academia and Business
Shift left shift-right performance testing for superior end-user by Arun Dutta
Continuous testing for devops
QA Role in Agile Teams
A Story of Continuous Integration

What's hot (20)

PPTX
BDD/TDD based automation on short-term project on real example, Igor Kokoz
PPTX
Application Lifecycle Management with TFS
PDF
Info Card - Techical Debt Management
PPT
ALM (Application Lifecycle Management)
PPTX
Testing NodeJS, REST APIs and MongoDB with UFT
PDF
Continuous Integration, Deploy, Test From Beginning To End 2014
PDF
Use Jenkins For Continuous Load Testing And Mobile Test Automation
PPTX
Behind the demo, Alexey Syrotyuk
PPT
Streamlining EMC Documentum Web Publisher to Increase Web Author Productivity
PPTX
Testing Your Software Testers
PDF
Application Lifecycle Transformation...a DevOps Discussion - By David Miller ...
PPTX
Continuous integration testing fundamentals
PDF
CSUN 2017 Success Criteria: Dependencies and Prioritization
PPTX
Automation Tools Overview
PPTX
Best Practices for a Repeatable Shift-Left Commitment
PDF
Simplify Salesforce Testing with AI-Driven Codeless Tools
PPTX
Visual Studio LightSwitch (Beta 1) Overview
PPTX
Dev ops.enterprise.2014 (1)
PDF
10 Steps to Shift Left - Guiding Principles in QA
PDF
IBM DevOps Enabling continuous integration & delivery
BDD/TDD based automation on short-term project on real example, Igor Kokoz
Application Lifecycle Management with TFS
Info Card - Techical Debt Management
ALM (Application Lifecycle Management)
Testing NodeJS, REST APIs and MongoDB with UFT
Continuous Integration, Deploy, Test From Beginning To End 2014
Use Jenkins For Continuous Load Testing And Mobile Test Automation
Behind the demo, Alexey Syrotyuk
Streamlining EMC Documentum Web Publisher to Increase Web Author Productivity
Testing Your Software Testers
Application Lifecycle Transformation...a DevOps Discussion - By David Miller ...
Continuous integration testing fundamentals
CSUN 2017 Success Criteria: Dependencies and Prioritization
Automation Tools Overview
Best Practices for a Repeatable Shift-Left Commitment
Simplify Salesforce Testing with AI-Driven Codeless Tools
Visual Studio LightSwitch (Beta 1) Overview
Dev ops.enterprise.2014 (1)
10 Steps to Shift Left - Guiding Principles in QA
IBM DevOps Enabling continuous integration & delivery
Ad

Viewers also liked (8)

PDF
Error Pages Best Practice: 7 tips for maintaining customer experience when th...
PDF
Get Started with JMeter in 60 Minutes
PPTX
DevOps & Security: Here & Now
PPTX
Continuous Security Testing with Devops - OWASP EU 2014
PPTX
Interpreting Performance Test Results
PDF
LasCon 2014 DevOoops
PDF
A No-Excuses Guide to Blogging
PDF
[Report] The Collaborative Economy, by Jeremiah Owyang
Error Pages Best Practice: 7 tips for maintaining customer experience when th...
Get Started with JMeter in 60 Minutes
DevOps & Security: Here & Now
Continuous Security Testing with Devops - OWASP EU 2014
Interpreting Performance Test Results
LasCon 2014 DevOoops
A No-Excuses Guide to Blogging
[Report] The Collaborative Economy, by Jeremiah Owyang
Ad

Similar to Effective performance evaluation as part of a CI approach - Mission Impossible? (20)

PPTX
Neotys PAC - Ian Molyneaux
PPTX
Performance testing ( Approaching , Designing performance tests)
PDF
Continuous Performance Testing in DevOps - Lee Barnes
PDF
Neotys PAC 2018 - Ramya Ramalinga Moorthy
PPTX
Performance testing overview
PPTX
B4usolution performance testing
PDF
Client-Side Performance Testing
PDF
Client-side Performance Testing
PPTX
Alexander Podelko - Context-Driven Performance Testing
PPT
Addressing Performance Testing Challenges in Agile- Impetus Webinar
PPTX
Performance Testing REST APIs
PPTX
Performance testing and j meter overview
PDF
How to Attain Business Success with CI_CD Pipeline Automation Testing (1).pdf
PPTX
Leandro Melendez - Switching Performance Left & Right
PPTX
TGT#19 - 3 seconds or less - Piotr Liss
PPTX
Challenges to Effective Performance Testing in CI
PDF
Client-Side Performance Testing
PPTX
Test Automation in Agile
PDF
Web Performance Analysis - TCF Pro 2009
PPTX
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Neotys PAC - Ian Molyneaux
Performance testing ( Approaching , Designing performance tests)
Continuous Performance Testing in DevOps - Lee Barnes
Neotys PAC 2018 - Ramya Ramalinga Moorthy
Performance testing overview
B4usolution performance testing
Client-Side Performance Testing
Client-side Performance Testing
Alexander Podelko - Context-Driven Performance Testing
Addressing Performance Testing Challenges in Agile- Impetus Webinar
Performance Testing REST APIs
Performance testing and j meter overview
How to Attain Business Success with CI_CD Pipeline Automation Testing (1).pdf
Leandro Melendez - Switching Performance Left & Right
TGT#19 - 3 seconds or less - Piotr Liss
Challenges to Effective Performance Testing in CI
Client-Side Performance Testing
Test Automation in Agile
Web Performance Analysis - TCF Pro 2009
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...

More from Intechnica (7)

PDF
Surviving Spikes in Retail
PDF
Technical Debt 101
PDF
All about Product Roadmaps
PPTX
Top Web Performers - Grand National 2013
PPTX
How Nisa Retail improve service & cut costs through APM
PPTX
Extending on premise applications to the cloud
PPTX
Developing for the Cloud
Surviving Spikes in Retail
Technical Debt 101
All about Product Roadmaps
Top Web Performers - Grand National 2013
How Nisa Retail improve service & cut costs through APM
Extending on premise applications to the cloud
Developing for the Cloud

Recently uploaded (20)

PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
cuic standard and advanced reporting.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Cloud computing and distributed systems.
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Approach and Philosophy of On baking technology
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Encapsulation theory and applications.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
KodekX | Application Modernization Development
PDF
Empathic Computing: Creating Shared Understanding
PDF
Machine learning based COVID-19 study performance prediction
20250228 LYD VKU AI Blended-Learning.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
Reach Out and Touch Someone: Haptics and Empathic Computing
Building Integrated photovoltaic BIPV_UPV.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Per capita expenditure prediction using model stacking based on satellite ima...
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
cuic standard and advanced reporting.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Spectral efficient network and resource selection model in 5G networks
Cloud computing and distributed systems.
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Approach and Philosophy of On baking technology
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Encapsulation theory and applications.pdf
MYSQL Presentation for SQL database connectivity
Unlocking AI with Model Context Protocol (MCP)
KodekX | Application Modernization Development
Empathic Computing: Creating Shared Understanding
Machine learning based COVID-19 study performance prediction

Effective performance evaluation as part of a CI approach - Mission Impossible?

  • 1. Effective performance evaluation as part of a CI approach Andy Still, Technical Director & Founder, Intechnica Mark Smith, Online QA Manager, Channel 4 Mission Impossible
  • 2. Agenda Performance in CI: Background and challenges Andy Still An example implementation Mark Smith
  • 3. Intechnica: Introduction  Specialists in IT application performance  Vendor independent  Promote performance by design  Enable performance best practice Digital performance experts
  • 4. Background Performance in a modern development process?
  • 7. If you are going to fail….. Fail Early and Fail Often Key features  Automated process, run as often as possible  Validate as many things as possible • Pull dependencies • Build • Unit tests • Syntax checks • Automation tests • Integration tests • ??Performance?? • Deployment What is Continuous Integration?
  • 8. Should ….. Can we build performance into our CI Process?
  • 10. Why?  Performance is a first class citizen • As important as functional issues • Harder to fix – can be architectural changes  The earlier you know about problems the better. If something is hard to do…. Do it early and do it often!
  • 11. But….  Don’t be over ambitious • Test at a level appropriate to stage of development / environment  Avoid false positives • Set realistic pass / fail settings • Tests have to run headless – can’t require any human interpretation  Remember - performance is linear not binary • The checkin that broke the build may not be the one that caused the problem.
  • 12. Types of performance testing in CI
  • 13. Types of tests that could be used  Micro benchmarking • Set KPIs against specific unit tests / integration tests • Need to consider • Datasets v mocking • Environments • 3rd party integrations  Client side • Set KPIs for areas such as page weight etc.  Full test under load • Deploy to realistic environments / datasets
  • 14. Fitting Performance into CI Shortening the feedback loop
  • 15. Performance and CI – Development - APM
  • 16. Performance and CI - Deployment and CI Testing
  • 17. Debate What are the real challenges to successful implementation of performance controls within CI: Process vs. Tooling
  • 18. Challenges to successful delivery of performance controls within CI  Where do we start?  Because performance is not binary people struggle to know how to baseline and how to test.  No frameworks currently exist to guide in the approach.  Performance testing is always done at the end – right?  Tests are brittle if delivered at the UI layer.  How can you script and set KPIs against functionality that is not yet completed. Process is the inhibiting factor
  • 19. Challenges to successful delivery of performance controls within CI  CI cannot be delivered effectively without tooling however…  The integration of tooling and process is frequently seen as a blocker to successful implementation. • Nothing available off the shelf that provides an integrated CI capability • Generally requires bespoke integration approach based on available API’s  Tooling should: • Empower developers to performance test • Automate deployment and performance testing of code drops • Provide automation of APM analysis • Automate benchmark comparison and reporting , Pass or Fail? Tooling
  • 20. Web: www.intechnica.co.uk Email: andy.still@intechnica.co.uk Twitter: @andy_still / @intechnica Blog: http://internetperformanceexpert.wordpress.com Tel: 0845 680 9679 Address: Fourways House, 57 Hilton Street, Manchester, M1 2EJ Andy Still Technical Director & Co-founder - Intechnica Questions….. Then over to Mark to see how they are solving these problems at Channel 4
  • 21. Mark Smith  25 years experience in IT development and testing  Online QA Manager at Channel 4 • BDD and ATDD automation framework  QA Manager at Asos • Full scale implementation of automated functional testing  Fair Isaac • Pioneered automated testing with reusable keyword driven frameworks • Built web service testing framework using VUGen and Excel macros  Razorfish • Early exposure to Web development and eCommerce Introduction
  • 22.  Performance at least as important as functionality on many sites  Performance breakages can be more challenging to fix than functional ones  Build failures and short feedback loops can prevent these breakages making it into the code base Why Continuous performance testing?
  • 23. • May be too disruptive during early stages of a project • Might meet resistance to the concept of failing builds for non-functional reasons • But on stable projects early identification of performance issues can only be of benefit • So yes, you do, and as soon as is practical But Do I also want pure CI performance testing?
  • 24. Challenges • Each project needs own instance of tooling • License costs high if using enterprise tools • Technically more challenging if using open source tools
  • 25. Continuous Integration Testing Requirements  Integration with CI tool  Ability to fail build on percentile response time, error rates and other metrics at transaction level  Front end instrumentation  Post run data collation
  • 26. Full Volume Testing also needs:  Integration with CI tool  Ability to fail build on percentile response time, error rates and other metrics at transaction level  Front end instrumentation  Post run data collation  Scalability to enterprise loads  Viable injection infrastructure  Real time monitoring of back end
  • 27. Selected Tools Channel 4 chose the open source route • Jenkins – CI build management • Jmeter – Load Testing • webPageTest – Front End Instrumentation
  • 28. Front end instrumentation webPageTest can run full workflows during load tests  used to monitor metrics such as:  Time to first byte  DOM Content Ready End  Load Event End time  Doc Complete Time (ms)  Fully loaded  Time to title  Bytes in (Doc)  Num requests (fully loaded)
  • 31. which in turn calls webPageTest…
  • 32. and results analysed using ’raw page data’ link from previous page
  • 33. Can measure time to first byte, document complete and fully loaded time…
  • 34. and also more specific metrics, such as cached and uncached page responses
  • 35. Details output to Jenkins project workspace, with links to the full reports
  • 36. Benefits of using webPageTest with JMeter:  Final results analysis aimed at CI build pass/fail. Results can trigger build failure for example.  Immediately raises awareness in the team for front end performance issues. The builds break until the front end hits its targets.  Graphical representation of browser cached and uncached performance, build by build  Click through from Jenkins workspace to log of test run results, step by step  Click through to detailed xml data from webPageTest  Click through to detailed test analysis presented in webPageTest front end, including Google page speed like analysis for example.  Highly configurable test runs, using webPageTest scripting engine to suit many and varied projects  Ability to set up CI to test in different browsers  Ability to set up different CI test scenarios, using webPageTest scripts. For example testing with / without 3rd party content  Ability to set up CI front end testing on different client hardware. Perhaps best case / worst case.
  • 37. So what do we get? CI testing gives us  Very short feedback loops  Ability to fail build by many metrics  code base protected from performance degradations  Performance trending data Iterative full volume testing adds  Early and regular view of real world performance
  • 38. Credits Oliver Lloyd – www.github.com/oliverlloyd/jmeter-ec2  JMeter on EC2 Setup Script Nick Godfrey - webwob.com  Jenkins Integration  webPageTest Integration