SlideShare a Scribd company logo
1 of 38
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

What's hot

BDD/TDD based automation on short-term project on real example, Igor Kokoz
BDD/TDD based automation on short-term project on real example, Igor Kokoz BDD/TDD based automation on short-term project on real example, Igor Kokoz
BDD/TDD based automation on short-term project on real example, Igor Kokoz Sigma Software
 
Application Lifecycle Management with TFS
Application Lifecycle Management with TFSApplication Lifecycle Management with TFS
Application Lifecycle Management with TFSMehdi Khalili
 
Info Card - Techical Debt Management
Info Card  - Techical Debt ManagementInfo Card  - Techical Debt Management
Info Card - Techical Debt ManagementFabricio Epaminondas
 
ALM (Application Lifecycle Management)
ALM (Application Lifecycle Management)ALM (Application Lifecycle Management)
ALM (Application Lifecycle Management)Terry Cho
 
Testing NodeJS, REST APIs and MongoDB with UFT
Testing NodeJS, REST APIs and MongoDB with UFTTesting NodeJS, REST APIs and MongoDB with UFT
Testing NodeJS, REST APIs and MongoDB with UFTOri Bendet
 
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
 
Use Jenkins For Continuous Load Testing And Mobile Test Automation
Use Jenkins For Continuous Load Testing And Mobile Test AutomationUse Jenkins For Continuous Load Testing And Mobile Test Automation
Use Jenkins For Continuous Load Testing And Mobile Test AutomationClever Moe
 
Behind the demo, Alexey Syrotyuk
Behind the demo, Alexey SyrotyukBehind the demo, Alexey Syrotyuk
Behind the demo, Alexey SyrotyukSigma Software
 
Streamlining EMC Documentum Web Publisher to Increase Web Author Productivity
Streamlining EMC Documentum Web Publisher to Increase Web Author ProductivityStreamlining EMC Documentum Web Publisher to Increase Web Author Productivity
Streamlining EMC Documentum Web Publisher to Increase Web Author ProductivityBlueFish
 
Testing Your Software Testers
Testing Your Software TestersTesting Your Software Testers
Testing Your Software TestersOri Bendet
 
Application Lifecycle Transformation...a DevOps Discussion - By David Miller ...
Application Lifecycle Transformation...a DevOps Discussion - By David Miller ...Application Lifecycle Transformation...a DevOps Discussion - By David Miller ...
Application Lifecycle Transformation...a DevOps Discussion - By David Miller ...Melissa Luongo
 
Continuous integration testing fundamentals
Continuous integration testing fundamentalsContinuous integration testing fundamentals
Continuous integration testing fundamentalsCygnet Infotech
 
CSUN 2017 Success Criteria: Dependencies and Prioritization
CSUN 2017 Success Criteria: Dependencies and PrioritizationCSUN 2017 Success Criteria: Dependencies and Prioritization
CSUN 2017 Success Criteria: Dependencies and PrioritizationSean Kelly
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools OverviewMurageppa-QA
 
Best Practices for a Repeatable Shift-Left Commitment
Best Practices for a Repeatable Shift-Left CommitmentBest Practices for a Repeatable Shift-Left Commitment
Best Practices for a Repeatable Shift-Left CommitmentApplause
 
Simplify Salesforce Testing with AI-Driven Codeless Tools
Simplify Salesforce Testing with AI-Driven Codeless ToolsSimplify Salesforce Testing with AI-Driven Codeless Tools
Simplify Salesforce Testing with AI-Driven Codeless ToolsSauce Labs
 
Visual Studio LightSwitch (Beta 1) Overview
Visual Studio LightSwitch (Beta 1) OverviewVisual Studio LightSwitch (Beta 1) Overview
Visual Studio LightSwitch (Beta 1) OverviewSteve Lange
 
10 Steps to Shift Left - Guiding Principles in QA
10 Steps to Shift Left - Guiding Principles in QA10 Steps to Shift Left - Guiding Principles in QA
10 Steps to Shift Left - Guiding Principles in QAJim Spillson
 
IBM DevOps Enabling continuous integration & delivery
IBM DevOps Enabling continuous integration & deliveryIBM DevOps Enabling continuous integration & delivery
IBM DevOps Enabling continuous integration & deliveryRoberto Pozzi
 

What's hot (20)

BDD/TDD based automation on short-term project on real example, Igor Kokoz
BDD/TDD based automation on short-term project on real example, Igor Kokoz BDD/TDD based automation on short-term project on real example, Igor Kokoz
BDD/TDD based automation on short-term project on real example, Igor Kokoz
 
Application Lifecycle Management with TFS
Application Lifecycle Management with TFSApplication Lifecycle Management with TFS
Application Lifecycle Management with TFS
 
Info Card - Techical Debt Management
Info Card  - Techical Debt ManagementInfo Card  - Techical Debt Management
Info Card - Techical Debt Management
 
ALM (Application Lifecycle Management)
ALM (Application Lifecycle Management)ALM (Application Lifecycle Management)
ALM (Application Lifecycle Management)
 
Testing NodeJS, REST APIs and MongoDB with UFT
Testing NodeJS, REST APIs and MongoDB with UFTTesting NodeJS, REST APIs and MongoDB with UFT
Testing NodeJS, REST APIs and MongoDB with UFT
 
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
 
Use Jenkins For Continuous Load Testing And Mobile Test Automation
Use Jenkins For Continuous Load Testing And Mobile Test AutomationUse Jenkins For Continuous Load Testing And Mobile Test Automation
Use Jenkins For Continuous Load Testing And Mobile Test Automation
 
Behind the demo, Alexey Syrotyuk
Behind the demo, Alexey SyrotyukBehind the demo, Alexey Syrotyuk
Behind the demo, Alexey Syrotyuk
 
Streamlining EMC Documentum Web Publisher to Increase Web Author Productivity
Streamlining EMC Documentum Web Publisher to Increase Web Author ProductivityStreamlining EMC Documentum Web Publisher to Increase Web Author Productivity
Streamlining EMC Documentum Web Publisher to Increase Web Author Productivity
 
Testing Your Software Testers
Testing Your Software TestersTesting Your Software Testers
Testing Your Software Testers
 
Application Lifecycle Transformation...a DevOps Discussion - By David Miller ...
Application Lifecycle Transformation...a DevOps Discussion - By David Miller ...Application Lifecycle Transformation...a DevOps Discussion - By David Miller ...
Application Lifecycle Transformation...a DevOps Discussion - By David Miller ...
 
Continuous integration testing fundamentals
Continuous integration testing fundamentalsContinuous integration testing fundamentals
Continuous integration testing fundamentals
 
CSUN 2017 Success Criteria: Dependencies and Prioritization
CSUN 2017 Success Criteria: Dependencies and PrioritizationCSUN 2017 Success Criteria: Dependencies and Prioritization
CSUN 2017 Success Criteria: Dependencies and Prioritization
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools Overview
 
Best Practices for a Repeatable Shift-Left Commitment
Best Practices for a Repeatable Shift-Left CommitmentBest Practices for a Repeatable Shift-Left Commitment
Best Practices for a Repeatable Shift-Left Commitment
 
Simplify Salesforce Testing with AI-Driven Codeless Tools
Simplify Salesforce Testing with AI-Driven Codeless ToolsSimplify Salesforce Testing with AI-Driven Codeless Tools
Simplify Salesforce Testing with AI-Driven Codeless Tools
 
Visual Studio LightSwitch (Beta 1) Overview
Visual Studio LightSwitch (Beta 1) OverviewVisual Studio LightSwitch (Beta 1) Overview
Visual Studio LightSwitch (Beta 1) Overview
 
Dev ops.enterprise.2014 (1)
Dev ops.enterprise.2014 (1)Dev ops.enterprise.2014 (1)
Dev ops.enterprise.2014 (1)
 
10 Steps to Shift Left - Guiding Principles in QA
10 Steps to Shift Left - Guiding Principles in QA10 Steps to Shift Left - Guiding Principles in QA
10 Steps to Shift Left - Guiding Principles in QA
 
IBM DevOps Enabling continuous integration & delivery
IBM DevOps Enabling continuous integration & deliveryIBM DevOps Enabling continuous integration & delivery
IBM DevOps Enabling continuous integration & delivery
 

Viewers also liked

Error Pages Best Practice: 7 tips for maintaining customer experience when th...
Error Pages Best Practice: 7 tips for maintaining customer experience when th...Error Pages Best Practice: 7 tips for maintaining customer experience when th...
Error Pages Best Practice: 7 tips for maintaining customer experience when th...Intechnica
 
Get Started with JMeter in 60 Minutes
Get Started with JMeter in 60 MinutesGet Started with JMeter in 60 Minutes
Get Started with JMeter in 60 MinutesCA Technologies
 
DevOps & Security: Here & Now
DevOps & Security: Here & NowDevOps & Security: Here & Now
DevOps & Security: Here & NowCheckmarx
 
Continuous Security Testing with Devops - OWASP EU 2014
Continuous Security Testing  with Devops - OWASP EU 2014Continuous Security Testing  with Devops - OWASP EU 2014
Continuous Security Testing with Devops - OWASP EU 2014Stephen de Vries
 
(PFC403) Maximizing Amazon S3 Performance | AWS re:Invent 2014
(PFC403) Maximizing Amazon S3 Performance | AWS re:Invent 2014(PFC403) Maximizing Amazon S3 Performance | AWS re:Invent 2014
(PFC403) Maximizing Amazon S3 Performance | AWS re:Invent 2014Amazon Web Services
 
(PFC306) Performance Tuning Amazon EC2 Instances | AWS re:Invent 2014
(PFC306) Performance Tuning Amazon EC2 Instances | AWS re:Invent 2014(PFC306) Performance Tuning Amazon EC2 Instances | AWS re:Invent 2014
(PFC306) Performance Tuning Amazon EC2 Instances | AWS re:Invent 2014Amazon Web Services
 
Interpreting Performance Test Results
Interpreting Performance Test ResultsInterpreting Performance Test Results
Interpreting Performance Test ResultsEric Proegler
 
LasCon 2014 DevOoops
LasCon 2014 DevOoops LasCon 2014 DevOoops
LasCon 2014 DevOoops Chris Gates
 
A No-Excuses Guide to Blogging
A No-Excuses Guide to BloggingA No-Excuses Guide to Blogging
A No-Excuses Guide to BloggingSacha Chua
 
(SDD416) Amazon EBS Deep Dive | AWS re:Invent 2014
(SDD416) Amazon EBS Deep Dive | AWS re:Invent 2014(SDD416) Amazon EBS Deep Dive | AWS re:Invent 2014
(SDD416) Amazon EBS Deep Dive | AWS re:Invent 2014Amazon Web Services
 
[Report] The Collaborative Economy, by Jeremiah Owyang
[Report] The Collaborative Economy, by Jeremiah Owyang[Report] The Collaborative Economy, by Jeremiah Owyang
[Report] The Collaborative Economy, by Jeremiah OwyangAltimeter, a Prophet Company
 

Viewers also liked (11)

Error Pages Best Practice: 7 tips for maintaining customer experience when th...
Error Pages Best Practice: 7 tips for maintaining customer experience when th...Error Pages Best Practice: 7 tips for maintaining customer experience when th...
Error Pages Best Practice: 7 tips for maintaining customer experience when th...
 
Get Started with JMeter in 60 Minutes
Get Started with JMeter in 60 MinutesGet Started with JMeter in 60 Minutes
Get Started with JMeter in 60 Minutes
 
DevOps & Security: Here & Now
DevOps & Security: Here & NowDevOps & Security: Here & Now
DevOps & Security: Here & Now
 
Continuous Security Testing with Devops - OWASP EU 2014
Continuous Security Testing  with Devops - OWASP EU 2014Continuous Security Testing  with Devops - OWASP EU 2014
Continuous Security Testing with Devops - OWASP EU 2014
 
(PFC403) Maximizing Amazon S3 Performance | AWS re:Invent 2014
(PFC403) Maximizing Amazon S3 Performance | AWS re:Invent 2014(PFC403) Maximizing Amazon S3 Performance | AWS re:Invent 2014
(PFC403) Maximizing Amazon S3 Performance | AWS re:Invent 2014
 
(PFC306) Performance Tuning Amazon EC2 Instances | AWS re:Invent 2014
(PFC306) Performance Tuning Amazon EC2 Instances | AWS re:Invent 2014(PFC306) Performance Tuning Amazon EC2 Instances | AWS re:Invent 2014
(PFC306) Performance Tuning Amazon EC2 Instances | AWS re:Invent 2014
 
Interpreting Performance Test Results
Interpreting Performance Test ResultsInterpreting Performance Test Results
Interpreting Performance Test Results
 
LasCon 2014 DevOoops
LasCon 2014 DevOoops LasCon 2014 DevOoops
LasCon 2014 DevOoops
 
A No-Excuses Guide to Blogging
A No-Excuses Guide to BloggingA No-Excuses Guide to Blogging
A No-Excuses Guide to Blogging
 
(SDD416) Amazon EBS Deep Dive | AWS re:Invent 2014
(SDD416) Amazon EBS Deep Dive | AWS re:Invent 2014(SDD416) Amazon EBS Deep Dive | AWS re:Invent 2014
(SDD416) Amazon EBS Deep Dive | AWS re:Invent 2014
 
[Report] The Collaborative Economy, by Jeremiah Owyang
[Report] The Collaborative Economy, by Jeremiah Owyang[Report] The Collaborative Economy, by Jeremiah Owyang
[Report] The Collaborative Economy, by Jeremiah Owyang
 

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

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
 
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
 
AUG NYC June 12 - Event Presentations
AUG NYC June 12 - Event PresentationsAUG NYC June 12 - Event Presentations
AUG NYC June 12 - Event PresentationsMadhusudhan Matrubai
 
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
 
What is performance_engineering_v0.2
What is performance_engineering_v0.2What is performance_engineering_v0.2
What is performance_engineering_v0.2Trevor Warren
 
Test Automation Architecture That Works by Bhupesh Dahal
Test Automation Architecture That Works by Bhupesh DahalTest Automation Architecture That Works by Bhupesh Dahal
Test Automation Architecture That Works by Bhupesh DahalQA or the Highway
 
Atagg 2015 Test automation and effective continuous integration
Atagg 2015 Test automation and effective continuous integrationAtagg 2015 Test automation and effective continuous integration
Atagg 2015 Test automation and effective continuous integrationAgile Testing Alliance
 
Agile Testing 2020
Agile Testing 2020Agile Testing 2020
Agile Testing 2020arzu TR
 
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
 
Creating a successful continuous testing environment by Eran Kinsbruner
Creating a successful continuous testing environment by Eran KinsbrunerCreating a successful continuous testing environment by Eran Kinsbruner
Creating a successful continuous testing environment by Eran KinsbrunerQA or the Highway
 
Test Automation: Investment Today Pays Back Tomorrow
Test Automation: Investment Today Pays Back TomorrowTest Automation: Investment Today Pays Back Tomorrow
Test Automation: Investment Today Pays Back TomorrowTechWell
 
Improving the SharePoint Development Process with Continuous Integration
Improving the SharePoint Development Process with Continuous IntegrationImproving the SharePoint Development Process with Continuous Integration
Improving the SharePoint Development Process with Continuous IntegrationSharePoint Saturday New Jersey
 
Bugday bkk-2014 nitisak-auto_perf
Bugday bkk-2014 nitisak-auto_perfBugday bkk-2014 nitisak-auto_perf
Bugday bkk-2014 nitisak-auto_perfNitisak Mooltreesri
 
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
 
Shift Left Quality Assurance: How to do it. Why it matters.
Shift Left Quality Assurance: How to do it. Why it matters.Shift Left Quality Assurance: How to do it. Why it matters.
Shift Left Quality Assurance: How to do it. Why it matters.Worksoft
 
An Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdfAn Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdfKMSSolutionsMarketin
 
How to scale your Test Automation
How to scale your Test AutomationHow to scale your Test Automation
How to scale your Test AutomationKlaus Salchner
 
Continuous Performance Testing: The New Standard
Continuous Performance Testing: The New StandardContinuous Performance Testing: The New Standard
Continuous Performance Testing: The New StandardTechWell
 

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

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
 
QAorHighway2016
QAorHighway2016QAorHighway2016
QAorHighway2016
 
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 ...
 
AUG NYC June 12 - Event Presentations
AUG NYC June 12 - Event PresentationsAUG NYC June 12 - Event Presentations
AUG NYC June 12 - Event Presentations
 
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
 
What is performance_engineering_v0.2
What is performance_engineering_v0.2What is performance_engineering_v0.2
What is performance_engineering_v0.2
 
Test Automation Architecture That Works by Bhupesh Dahal
Test Automation Architecture That Works by Bhupesh DahalTest Automation Architecture That Works by Bhupesh Dahal
Test Automation Architecture That Works by Bhupesh Dahal
 
Atagg 2015 Test automation and effective continuous integration
Atagg 2015 Test automation and effective continuous integrationAtagg 2015 Test automation and effective continuous integration
Atagg 2015 Test automation and effective continuous integration
 
Agile Testing 2020
Agile Testing 2020Agile Testing 2020
Agile Testing 2020
 
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
 
Creating a successful continuous testing environment by Eran Kinsbruner
Creating a successful continuous testing environment by Eran KinsbrunerCreating a successful continuous testing environment by Eran Kinsbruner
Creating a successful continuous testing environment by Eran Kinsbruner
 
Test Automation: Investment Today Pays Back Tomorrow
Test Automation: Investment Today Pays Back TomorrowTest Automation: Investment Today Pays Back Tomorrow
Test Automation: Investment Today Pays Back Tomorrow
 
Improving the SharePoint Development Process with Continuous Integration
Improving the SharePoint Development Process with Continuous IntegrationImproving the SharePoint Development Process with Continuous Integration
Improving the SharePoint Development Process with Continuous Integration
 
Bugday bkk-2014 nitisak-auto_perf
Bugday bkk-2014 nitisak-auto_perfBugday bkk-2014 nitisak-auto_perf
Bugday bkk-2014 nitisak-auto_perf
 
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
 
Shift Left Quality Assurance: How to do it. Why it matters.
Shift Left Quality Assurance: How to do it. Why it matters.Shift Left Quality Assurance: How to do it. Why it matters.
Shift Left Quality Assurance: How to do it. Why it matters.
 
An Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdfAn Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdf
 
How to scale your Test Automation
How to scale your Test AutomationHow to scale your Test Automation
How to scale your Test Automation
 
Continuous Performance Testing: The New Standard
Continuous Performance Testing: The New StandardContinuous Performance Testing: The New Standard
Continuous Performance Testing: The New Standard
 
Ashish Baraiya
Ashish BaraiyaAshish Baraiya
Ashish Baraiya
 

More from Intechnica

Surviving Spikes in Retail
Surviving Spikes in RetailSurviving Spikes in Retail
Surviving Spikes in RetailIntechnica
 
Technical Debt 101
Technical Debt 101Technical Debt 101
Technical Debt 101Intechnica
 
All about Product Roadmaps
All about Product RoadmapsAll about Product Roadmaps
All about Product RoadmapsIntechnica
 
Top Web Performers - Grand National 2013
Top Web Performers - Grand National 2013Top Web Performers - Grand National 2013
Top Web Performers - Grand National 2013Intechnica
 
How Nisa Retail improve service & cut costs through APM
How Nisa Retail improve service & cut costs through APMHow Nisa Retail improve service & cut costs through APM
How Nisa Retail improve service & cut costs through APMIntechnica
 
Extending on premise applications to the cloud
Extending on premise applications to the cloudExtending on premise applications to the cloud
Extending on premise applications to the cloudIntechnica
 
Developing for the Cloud
Developing for the CloudDeveloping for the Cloud
Developing for the CloudIntechnica
 

More from Intechnica (7)

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

Recently uploaded

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
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
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
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 

Recently uploaded (20)

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
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
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
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 

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