SlideShare a Scribd company logo
LOAD TESTING
using continuous integration tools
Richard Pitts
Sr. Load Test Engineer | CommerceHub
Agenda
 Our experience adding NeoLoad to our Continuous
Integration process.
1. Benefits of using CI to run NeoLoad
2. Why we run NeoLoad using CI
3. How NeoLoad + CI has helped us
4. Common pitfalls to avoid
5. Getting started + best practices
About CommerceHub
 Hosted services for e-commerce & retail.
 [B2B] Connection between 200+ retailers and 8,900 brands/distributors.
 Translate & route drop shipment orders amongst business partners.
 Goal: Facilitate e-commerce sales growth for our customers
 Processed $10bil GrossMerchValue for our customers in 2014 [33.7mil orders]
 Why performance matters to us:
 “retail busy season”: Black Friday  Christmas
 38k+ users  8.25 mil logins/yr
 2 mil hits per month on most visited web page
Benefits of using CI to run NeoLoad
Same benefit as any CI Job
 Easy to execute
 Easy to schedule
 Easy to monitor
 Build history
 Results in Workspace
Benefits of using NeoLoad Plugin
 Retrieve Neoload
results back into
to Jenkins
 Display Trends:
Avg Response
Time & Error Rate
 Maintain build
history & preserve
Neoload reports
for each build.
Benefits of using NeoLoad Plugin
Collaborate.
Easy to share.
Link to the build.
Why you should run NeoLoad using CI
 If load testing occurs less frequently than desired
 New development methodologies  more frequent releases
 Scheduled automation avoids waiting on humans, keeps a faster pace.
 Our Story…
 before NeoLoad
 with NeoLoad
 with NeoLoad plus CI
Load Testing before NeoLoad
• Close to the release date
• Late testing  Late Discoveries  Delayed Releases.
feature complete build
Monthly releases
Performance test
@ end of dev cycle
Load Testing before NeoLoad
 An automated tool could help us load test.
 Hopefully one that would inspire us to load test earlier + more often.
 Started to Trial + Assess several load testing tools
NeoLoad pilot
 Began recording &
designing our Neoload scripts
A better Load Test environment
 Properly designed for load testing @ high volume [150+ users]
 Used CI to automate deployment & configuration of this env
 On-premise Load Generators
 Web cluster behind Load Balancer
NeoLoad pilot: real progress
 Started generating performance test results
Success
 implement an automated load testing tool
 library of scripts
 now easier to include load testing for releases
 load testing more things, more often
 stockpile load test results for future benchmark comparisons
NeoLoad + Waterfall: How to?
So, how did we regularly include NeoLoad
tests as part of our waterfall releases?
NeoLoad + Waterfall: Option 1
Three options to include Neoload testing for a release:
1) author new NeoLoad scripts designed to target specific concerns.
 Record/Playback
 Configure for multi-user concurrency & unique data
 Run scripts
 Share results
NeoLoad + Waterfall: Option 2
Three options to include Neoload testing for a release:
2) run existing NeoLoad scripts + compare w/ previous release results
 Try/validate the scripts
 Update/fix outdated scripts
 Run scripts
 Share results
NeoLoad + Waterfall: Option 3
Three options to include Neoload testing for a release:
3) run NeoLoad scripts on project vs mainline branches, comparing results
 Run scripts on mainline branch to obtain baseline results
 Run scripts on project branch
 Compare project results to baseline results
 Is performance of the project branch better/no worse/worse than mainline
Results: Still a Waterfall
 Performance testing still occurred @ end of dev cycles
 Limited time to re-work performance issues before release dates.
 Often, the tests were short samples due to time constraints.
 The most recent set of results for comparison was often many weeks old.
 Centralized around performance engineer (bottleneck risk)
 Sometimes it was “testing for the sake of testing”
Meanwhile: Along comes Agile
 Continuous Integration of code
 Automated CI builds
 Continuous Delivery to test environments
 Automated regressions using CI builds
 Cross functional team members
 “Everyone is responsible for quality” approach
 Result:
 Sped up development + shortened our dev lifecycle!
Release more frequently
Load Testing + Agile Teams
 Team mindset: “Performance is everybody's job”
 But, most team members had little load testing experience.
 Result:
 Still had all of the same problems getting Load Tests done.
 Completed “in the margins” by perf engineer + agile team member.
 Relied upon Ops and/or performance engineer (bottleneck risk)
 Load testing wasn’t keeping pace with our Agile teams.
 Needed a way to bake Load Testing into our Agile process.
Load Testing + Agile Teams
 How could we include LT more often, under Agile process?
 Manual performance testing? [+leverage firebug, Yslow, Fiddler, etc.]
 Collect performance metrics while we run our automated regression?
 WebPagetest.org?
 Schedule NeoLoad to run using Cron jobs?
 Schedule NeoLoad to run using NeoLoad internal scheduler?
 Schedule Neoload to run using CI? Hmmmm… we do have Jenkins.
Jenkins NeoLoad plugin v4.2 [Nov 2013]
 Retrieve Neoload
results back into
to Jenkins
 Display Trends:
Avg Response
Time & Error Rate
 Maintain build
history & preserve
Neoload reports
for each build.
Gains from NeoLoad + CI
Daily
performance
“pulse”
Gains from NeoLoad + CI
JUnit test results based on SLA profiles
Gains from NeoLoad + CI
Collaborate.
Easy to share.
Link to the build.
Increased
Collaboration.
NeoLoad Tests: Controlled by CI
Scheduled nightly.
Lessons learned
Pitfalls to Avoid:
 Using only “happy path” scripts
 Comparing results over long gaps time  risky
 Comparing multiple short samples  inaccurate
 Swap sharing the Load Testing environment  bottlenecks
 Requiring involvement from Ops or perf. engineer  bottlenecks
Your turn!
 Run NeoLoad using Continuous Integration
Step1: get a CI Server, setup for NeoLoad
We used an existing remote Jenkins server.
Use your existing remote CI server
or install Jenkins along side NeoLoad.
Step2: add CI step to run NeoLoadCmd
Neotys’ Jenkins Integration Guide explains how to configure –options
Step3: Install NeoLoad plugin for Jenkins
Step4: retrieve Neoload results
Jenkins Integration Guide explains how to incorporate
NeoLoad results
Where to go from here?
Best practices & Pro Tips:
 Incorporate performance testing into every DevOps team
 Intelligent testing: only run load scripts that test the code that was changed
 Reduce the amount of time & resources needed for load testing
 For “hardening sprints”- setup a Stress test scenario. Run on-demand using CI
 Make use of email alerts and chat notifications in CI
Best Practices: Setup SLA profiles
 Setup SLA profiles so
pass/fail criteria are
bubbled up to CI results
Best Practices: Increase collaboration
Best Practices: Smoke test
 Smoke test first (low volume), then run full Load Test
Richard Pitts We are hiring:
pittsrt@gmail.com http://www.commercehub.com/about-us/careers/
Share with me:
How are you using CI to drive your NeoLoad process? Let me know.
Learn more:
http://www.neotys.com/introduction/neoload-continuous-integration.html
http://www.neotys.com/webcast/Continuous-Performance-Testing-with-NeoLoad.html
https://wiki.jenkins-ci.org/display/JENKINS/NeoLoad+Plugin
https://github.com/jenkinsci/neoload-plugin
Ad

More Related Content

What's hot (20)

Performance testing : An Overview
Performance testing : An OverviewPerformance testing : An Overview
Performance testing : An Overview
sharadkjain
 
Performance Testing using LoadRunner
Performance Testing using LoadRunnerPerformance Testing using LoadRunner
Performance Testing using LoadRunner
Kumar Gupta
 
Load Testing and JMeter Presentation
Load Testing and JMeter PresentationLoad Testing and JMeter Presentation
Load Testing and JMeter Presentation
Neill Lima
 
Performance Testing
Performance TestingPerformance Testing
Performance Testing
sharmaparish
 
QSpiders - Introduction to HP Load Runner
QSpiders - Introduction to HP Load RunnerQSpiders - Introduction to HP Load Runner
QSpiders - Introduction to HP Load Runner
Qspiders - Software Testing Training Institute
 
Loadrunner vs Jmeter
Loadrunner vs JmeterLoadrunner vs Jmeter
Loadrunner vs Jmeter
Atul Pant
 
Performance and load testing
Performance and load testingPerformance and load testing
Performance and load testing
sonukalpana
 
Performance testing
Performance testingPerformance testing
Performance testing
Ranpreet kaur
 
QA. Load Testing
QA. Load TestingQA. Load Testing
QA. Load Testing
Alex Galkin
 
Jmeter vs loadrunner vs neoload
Jmeter vs loadrunner vs neoloadJmeter vs loadrunner vs neoload
Jmeter vs loadrunner vs neoload
pratik mohite
 
Ansible roles done right
Ansible roles done rightAnsible roles done right
Ansible roles done right
Dan Vaida
 
Introduction to ansible
Introduction to ansibleIntroduction to ansible
Introduction to ansible
Omid Vahdaty
 
Performance testing presentation
Performance testing presentationPerformance testing presentation
Performance testing presentation
Belatrix Software
 
JMeter vs LoadRunner | Edureka
JMeter vs LoadRunner | EdurekaJMeter vs LoadRunner | Edureka
JMeter vs LoadRunner | Edureka
Edureka!
 
LoadRunner Performance Testing
LoadRunner Performance TestingLoadRunner Performance Testing
LoadRunner Performance Testing
Atul Pant
 
Test automation using selenium
Test automation using seleniumTest automation using selenium
Test automation using selenium
shreyas JC
 
OPENMARU APM 브로셔
OPENMARU APM 브로셔OPENMARU APM 브로셔
OPENMARU APM 브로셔
Opennaru, inc.
 
Performance Testing Overview
Performance Testing OverviewPerformance Testing Overview
Performance Testing Overview
James Venetsanakos
 
Infographic: Importance of Performance Testing
Infographic: Importance of Performance TestingInfographic: Importance of Performance Testing
Infographic: Importance of Performance Testing
KiwiQA
 
Performance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter introPerformance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter intro
Mykola Kovsh
 
Performance testing : An Overview
Performance testing : An OverviewPerformance testing : An Overview
Performance testing : An Overview
sharadkjain
 
Performance Testing using LoadRunner
Performance Testing using LoadRunnerPerformance Testing using LoadRunner
Performance Testing using LoadRunner
Kumar Gupta
 
Load Testing and JMeter Presentation
Load Testing and JMeter PresentationLoad Testing and JMeter Presentation
Load Testing and JMeter Presentation
Neill Lima
 
Performance Testing
Performance TestingPerformance Testing
Performance Testing
sharmaparish
 
Loadrunner vs Jmeter
Loadrunner vs JmeterLoadrunner vs Jmeter
Loadrunner vs Jmeter
Atul Pant
 
Performance and load testing
Performance and load testingPerformance and load testing
Performance and load testing
sonukalpana
 
QA. Load Testing
QA. Load TestingQA. Load Testing
QA. Load Testing
Alex Galkin
 
Jmeter vs loadrunner vs neoload
Jmeter vs loadrunner vs neoloadJmeter vs loadrunner vs neoload
Jmeter vs loadrunner vs neoload
pratik mohite
 
Ansible roles done right
Ansible roles done rightAnsible roles done right
Ansible roles done right
Dan Vaida
 
Introduction to ansible
Introduction to ansibleIntroduction to ansible
Introduction to ansible
Omid Vahdaty
 
Performance testing presentation
Performance testing presentationPerformance testing presentation
Performance testing presentation
Belatrix Software
 
JMeter vs LoadRunner | Edureka
JMeter vs LoadRunner | EdurekaJMeter vs LoadRunner | Edureka
JMeter vs LoadRunner | Edureka
Edureka!
 
LoadRunner Performance Testing
LoadRunner Performance TestingLoadRunner Performance Testing
LoadRunner Performance Testing
Atul Pant
 
Test automation using selenium
Test automation using seleniumTest automation using selenium
Test automation using selenium
shreyas JC
 
Infographic: Importance of Performance Testing
Infographic: Importance of Performance TestingInfographic: Importance of Performance Testing
Infographic: Importance of Performance Testing
KiwiQA
 
Performance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter introPerformance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter intro
Mykola Kovsh
 

Viewers also liked (9)

JavaOne - Performance Focused DevOps to Improve Cont Delivery
JavaOne - Performance Focused DevOps to Improve Cont DeliveryJavaOne - Performance Focused DevOps to Improve Cont Delivery
JavaOne - Performance Focused DevOps to Improve Cont Delivery
Andreas Grabner
 
Automated Performance Testing With J Meter And Maven
Automated  Performance  Testing With  J Meter And  MavenAutomated  Performance  Testing With  J Meter And  Maven
Automated Performance Testing With J Meter And Maven
PerconaPerformance
 
Gatling
Gatling Gatling
Gatling
Gaurav Shukla
 
Continous delivery with sbt
Continous delivery with sbtContinous delivery with sbt
Continous delivery with sbt
Wojciech Pituła
 
Performance testing and reporting with JMeter
Performance testing and reporting with JMeterPerformance testing and reporting with JMeter
Performance testing and reporting with JMeter
jvSlideshare
 
Using Jenkins and Jmeter to build a scalable Load Testing solution
Using Jenkins and Jmeter to build a scalable Load Testing solutionUsing Jenkins and Jmeter to build a scalable Load Testing solution
Using Jenkins and Jmeter to build a scalable Load Testing solution
Ruslan Strazhnyk
 
Client-side Performance Testing
Client-side Performance TestingClient-side Performance Testing
Client-side Performance Testing
Thoughtworks
 
Yale Jenkins Show and Tell
Yale Jenkins Show and TellYale Jenkins Show and Tell
Yale Jenkins Show and Tell
E. Camden Fisher
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with Jenkins
Martin Málek
 
JavaOne - Performance Focused DevOps to Improve Cont Delivery
JavaOne - Performance Focused DevOps to Improve Cont DeliveryJavaOne - Performance Focused DevOps to Improve Cont Delivery
JavaOne - Performance Focused DevOps to Improve Cont Delivery
Andreas Grabner
 
Automated Performance Testing With J Meter And Maven
Automated  Performance  Testing With  J Meter And  MavenAutomated  Performance  Testing With  J Meter And  Maven
Automated Performance Testing With J Meter And Maven
PerconaPerformance
 
Continous delivery with sbt
Continous delivery with sbtContinous delivery with sbt
Continous delivery with sbt
Wojciech Pituła
 
Performance testing and reporting with JMeter
Performance testing and reporting with JMeterPerformance testing and reporting with JMeter
Performance testing and reporting with JMeter
jvSlideshare
 
Using Jenkins and Jmeter to build a scalable Load Testing solution
Using Jenkins and Jmeter to build a scalable Load Testing solutionUsing Jenkins and Jmeter to build a scalable Load Testing solution
Using Jenkins and Jmeter to build a scalable Load Testing solution
Ruslan Strazhnyk
 
Client-side Performance Testing
Client-side Performance TestingClient-side Performance Testing
Client-side Performance Testing
Thoughtworks
 
Yale Jenkins Show and Tell
Yale Jenkins Show and TellYale Jenkins Show and Tell
Yale Jenkins Show and Tell
E. Camden Fisher
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with Jenkins
Martin Málek
 
Ad

Similar to Load Testing using Continuous Integration tools (20)

CI-CD and DevOps with Ruby
CI-CD and DevOps with RubyCI-CD and DevOps with Ruby
CI-CD and DevOps with Ruby
Pierluigi Riti
 
RubyDay-Turin13_Nov_15
RubyDay-Turin13_Nov_15RubyDay-Turin13_Nov_15
RubyDay-Turin13_Nov_15
Pierluigi Riti
 
Dev ops continuousdeliveryforcloudproduct
Dev ops continuousdeliveryforcloudproductDev ops continuousdeliveryforcloudproduct
Dev ops continuousdeliveryforcloudproduct
Gopinath Ramachandran
 
TMF2014 CI-CD Workshop Michael Palotas
TMF2014 CI-CD Workshop Michael PalotasTMF2014 CI-CD Workshop Michael Palotas
TMF2014 CI-CD Workshop Michael Palotas
KJR
 
Continuous Testing - What QA means for DevOps
Continuous Testing - What QA means for DevOpsContinuous Testing - What QA means for DevOps
Continuous Testing - What QA means for DevOps
SeaLights
 
Build your QA Pipeline using Serenity , Selenium WebDriver , Rest Assured and...
Build your QA Pipeline using Serenity , Selenium WebDriver , Rest Assured and...Build your QA Pipeline using Serenity , Selenium WebDriver , Rest Assured and...
Build your QA Pipeline using Serenity , Selenium WebDriver , Rest Assured and...
Moataz Nabil
 
week2.pptx Internet communication Technology
week2.pptx Internet communication Technologyweek2.pptx Internet communication Technology
week2.pptx Internet communication Technology
WaseemHanif8
 
Back To Basics
Back To BasicsBack To Basics
Back To Basics
kamalikamj
 
Waseem Hanif SQE Project.pptx software Quality
Waseem Hanif SQE Project.pptx software QualityWaseem Hanif SQE Project.pptx software Quality
Waseem Hanif SQE Project.pptx software Quality
WaseemHanif8
 
Scale security for a dollar or less
Scale security for a dollar or lessScale security for a dollar or less
Scale security for a dollar or less
Mohammed A. Imran
 
DevOps Pipeline for Liferay Application
DevOps Pipeline for Liferay ApplicationDevOps Pipeline for Liferay Application
DevOps Pipeline for Liferay Application
Maruti Gollapudi
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+Ops
Shalu Ahuja
 
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValueDevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
RapidValue
 
How to Build and Maintain Quality Drupal Sites with Automated Testing
How to Build and Maintain Quality Drupal Sites with Automated TestingHow to Build and Maintain Quality Drupal Sites with Automated Testing
How to Build and Maintain Quality Drupal Sites with Automated Testing
Acquia
 
DevTestOps
DevTestOpsDevTestOps
DevTestOps
Paul Mateos
 
DevOps in an Embedded World
DevOps in an Embedded WorldDevOps in an Embedded World
DevOps in an Embedded World
Sajeewa Dayaratne
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
DevOps for Enterprise Systems
 
MeetingPoint 2015 - Swimming upstream in the container revolution
MeetingPoint 2015 - Swimming upstream in the container revolutionMeetingPoint 2015 - Swimming upstream in the container revolution
MeetingPoint 2015 - Swimming upstream in the container revolution
Bert Jan Schrijver
 
DevOps is a Journey - Choose Your Own Adventure
DevOps is a Journey - Choose Your Own AdventureDevOps is a Journey - Choose Your Own Adventure
DevOps is a Journey - Choose Your Own Adventure
Fabian Iannarella
 
Strengthen and Scale Security for a dollar or less
Strengthen and Scale Security for a dollar or lessStrengthen and Scale Security for a dollar or less
Strengthen and Scale Security for a dollar or less
Mohammed A. Imran
 
CI-CD and DevOps with Ruby
CI-CD and DevOps with RubyCI-CD and DevOps with Ruby
CI-CD and DevOps with Ruby
Pierluigi Riti
 
RubyDay-Turin13_Nov_15
RubyDay-Turin13_Nov_15RubyDay-Turin13_Nov_15
RubyDay-Turin13_Nov_15
Pierluigi Riti
 
Dev ops continuousdeliveryforcloudproduct
Dev ops continuousdeliveryforcloudproductDev ops continuousdeliveryforcloudproduct
Dev ops continuousdeliveryforcloudproduct
Gopinath Ramachandran
 
TMF2014 CI-CD Workshop Michael Palotas
TMF2014 CI-CD Workshop Michael PalotasTMF2014 CI-CD Workshop Michael Palotas
TMF2014 CI-CD Workshop Michael Palotas
KJR
 
Continuous Testing - What QA means for DevOps
Continuous Testing - What QA means for DevOpsContinuous Testing - What QA means for DevOps
Continuous Testing - What QA means for DevOps
SeaLights
 
Build your QA Pipeline using Serenity , Selenium WebDriver , Rest Assured and...
Build your QA Pipeline using Serenity , Selenium WebDriver , Rest Assured and...Build your QA Pipeline using Serenity , Selenium WebDriver , Rest Assured and...
Build your QA Pipeline using Serenity , Selenium WebDriver , Rest Assured and...
Moataz Nabil
 
week2.pptx Internet communication Technology
week2.pptx Internet communication Technologyweek2.pptx Internet communication Technology
week2.pptx Internet communication Technology
WaseemHanif8
 
Back To Basics
Back To BasicsBack To Basics
Back To Basics
kamalikamj
 
Waseem Hanif SQE Project.pptx software Quality
Waseem Hanif SQE Project.pptx software QualityWaseem Hanif SQE Project.pptx software Quality
Waseem Hanif SQE Project.pptx software Quality
WaseemHanif8
 
Scale security for a dollar or less
Scale security for a dollar or lessScale security for a dollar or less
Scale security for a dollar or less
Mohammed A. Imran
 
DevOps Pipeline for Liferay Application
DevOps Pipeline for Liferay ApplicationDevOps Pipeline for Liferay Application
DevOps Pipeline for Liferay Application
Maruti Gollapudi
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+Ops
Shalu Ahuja
 
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValueDevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
RapidValue
 
How to Build and Maintain Quality Drupal Sites with Automated Testing
How to Build and Maintain Quality Drupal Sites with Automated TestingHow to Build and Maintain Quality Drupal Sites with Automated Testing
How to Build and Maintain Quality Drupal Sites with Automated Testing
Acquia
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
DevOps for Enterprise Systems
 
MeetingPoint 2015 - Swimming upstream in the container revolution
MeetingPoint 2015 - Swimming upstream in the container revolutionMeetingPoint 2015 - Swimming upstream in the container revolution
MeetingPoint 2015 - Swimming upstream in the container revolution
Bert Jan Schrijver
 
DevOps is a Journey - Choose Your Own Adventure
DevOps is a Journey - Choose Your Own AdventureDevOps is a Journey - Choose Your Own Adventure
DevOps is a Journey - Choose Your Own Adventure
Fabian Iannarella
 
Strengthen and Scale Security for a dollar or less
Strengthen and Scale Security for a dollar or lessStrengthen and Scale Security for a dollar or less
Strengthen and Scale Security for a dollar or less
Mohammed A. Imran
 
Ad

Recently uploaded (20)

Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software DevelopmentSecure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Shubham Joshi
 
Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]
saniaaftab72555
 
WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)
sh607827
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
FlakyFix: Using Large Language Models for Predicting Flaky Test Fix Categorie...
FlakyFix: Using Large Language Models for Predicting Flaky Test Fix Categorie...FlakyFix: Using Large Language Models for Predicting Flaky Test Fix Categorie...
FlakyFix: Using Large Language Models for Predicting Flaky Test Fix Categorie...
Lionel Briand
 
Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)
Allon Mureinik
 
How can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptxHow can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptx
laravinson24
 
Odoo ERP for Education Management to Streamline Your Education Process
Odoo ERP for Education Management to Streamline Your Education ProcessOdoo ERP for Education Management to Streamline Your Education Process
Odoo ERP for Education Management to Streamline Your Education Process
iVenture Team LLP
 
Tools of the Trade: Linux and SQL - Google Certificate
Tools of the Trade: Linux and SQL - Google CertificateTools of the Trade: Linux and SQL - Google Certificate
Tools of the Trade: Linux and SQL - Google Certificate
VICTOR MAESTRE RAMIREZ
 
Microsoft Excel Core Points Training.pptx
Microsoft Excel Core Points Training.pptxMicrosoft Excel Core Points Training.pptx
Microsoft Excel Core Points Training.pptx
Mekonnen
 
Download YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full ActivatedDownload YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full Activated
saniamalik72555
 
How to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud PerformanceHow to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud Performance
ThousandEyes
 
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRYLEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
NidaFarooq10
 
Top 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docxTop 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docx
Portli
 
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
AxisTechnolabs
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
Automation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath CertificateAutomation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath Certificate
VICTOR MAESTRE RAMIREZ
 
DVDFab Crack FREE Download Latest Version 2025
DVDFab Crack FREE Download Latest Version 2025DVDFab Crack FREE Download Latest Version 2025
DVDFab Crack FREE Download Latest Version 2025
younisnoman75
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software DevelopmentSecure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Shubham Joshi
 
Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]
saniaaftab72555
 
WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)
sh607827
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
FlakyFix: Using Large Language Models for Predicting Flaky Test Fix Categorie...
FlakyFix: Using Large Language Models for Predicting Flaky Test Fix Categorie...FlakyFix: Using Large Language Models for Predicting Flaky Test Fix Categorie...
FlakyFix: Using Large Language Models for Predicting Flaky Test Fix Categorie...
Lionel Briand
 
Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)
Allon Mureinik
 
How can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptxHow can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptx
laravinson24
 
Odoo ERP for Education Management to Streamline Your Education Process
Odoo ERP for Education Management to Streamline Your Education ProcessOdoo ERP for Education Management to Streamline Your Education Process
Odoo ERP for Education Management to Streamline Your Education Process
iVenture Team LLP
 
Tools of the Trade: Linux and SQL - Google Certificate
Tools of the Trade: Linux and SQL - Google CertificateTools of the Trade: Linux and SQL - Google Certificate
Tools of the Trade: Linux and SQL - Google Certificate
VICTOR MAESTRE RAMIREZ
 
Microsoft Excel Core Points Training.pptx
Microsoft Excel Core Points Training.pptxMicrosoft Excel Core Points Training.pptx
Microsoft Excel Core Points Training.pptx
Mekonnen
 
Download YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full ActivatedDownload YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full Activated
saniamalik72555
 
How to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud PerformanceHow to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud Performance
ThousandEyes
 
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRYLEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
NidaFarooq10
 
Top 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docxTop 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docx
Portli
 
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
AxisTechnolabs
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
Automation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath CertificateAutomation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath Certificate
VICTOR MAESTRE RAMIREZ
 
DVDFab Crack FREE Download Latest Version 2025
DVDFab Crack FREE Download Latest Version 2025DVDFab Crack FREE Download Latest Version 2025
DVDFab Crack FREE Download Latest Version 2025
younisnoman75
 

Load Testing using Continuous Integration tools

  • 1. LOAD TESTING using continuous integration tools Richard Pitts Sr. Load Test Engineer | CommerceHub
  • 2. Agenda  Our experience adding NeoLoad to our Continuous Integration process. 1. Benefits of using CI to run NeoLoad 2. Why we run NeoLoad using CI 3. How NeoLoad + CI has helped us 4. Common pitfalls to avoid 5. Getting started + best practices
  • 3. About CommerceHub  Hosted services for e-commerce & retail.  [B2B] Connection between 200+ retailers and 8,900 brands/distributors.  Translate & route drop shipment orders amongst business partners.  Goal: Facilitate e-commerce sales growth for our customers  Processed $10bil GrossMerchValue for our customers in 2014 [33.7mil orders]  Why performance matters to us:  “retail busy season”: Black Friday  Christmas  38k+ users  8.25 mil logins/yr  2 mil hits per month on most visited web page
  • 4. Benefits of using CI to run NeoLoad Same benefit as any CI Job  Easy to execute  Easy to schedule  Easy to monitor  Build history  Results in Workspace
  • 5. Benefits of using NeoLoad Plugin  Retrieve Neoload results back into to Jenkins  Display Trends: Avg Response Time & Error Rate  Maintain build history & preserve Neoload reports for each build.
  • 6. Benefits of using NeoLoad Plugin Collaborate. Easy to share. Link to the build.
  • 7. Why you should run NeoLoad using CI  If load testing occurs less frequently than desired  New development methodologies  more frequent releases  Scheduled automation avoids waiting on humans, keeps a faster pace.  Our Story…  before NeoLoad  with NeoLoad  with NeoLoad plus CI
  • 8. Load Testing before NeoLoad • Close to the release date • Late testing  Late Discoveries  Delayed Releases. feature complete build Monthly releases Performance test @ end of dev cycle
  • 9. Load Testing before NeoLoad  An automated tool could help us load test.  Hopefully one that would inspire us to load test earlier + more often.  Started to Trial + Assess several load testing tools
  • 10. NeoLoad pilot  Began recording & designing our Neoload scripts
  • 11. A better Load Test environment  Properly designed for load testing @ high volume [150+ users]  Used CI to automate deployment & configuration of this env  On-premise Load Generators  Web cluster behind Load Balancer
  • 12. NeoLoad pilot: real progress  Started generating performance test results
  • 13. Success  implement an automated load testing tool  library of scripts  now easier to include load testing for releases  load testing more things, more often  stockpile load test results for future benchmark comparisons
  • 14. NeoLoad + Waterfall: How to? So, how did we regularly include NeoLoad tests as part of our waterfall releases?
  • 15. NeoLoad + Waterfall: Option 1 Three options to include Neoload testing for a release: 1) author new NeoLoad scripts designed to target specific concerns.  Record/Playback  Configure for multi-user concurrency & unique data  Run scripts  Share results
  • 16. NeoLoad + Waterfall: Option 2 Three options to include Neoload testing for a release: 2) run existing NeoLoad scripts + compare w/ previous release results  Try/validate the scripts  Update/fix outdated scripts  Run scripts  Share results
  • 17. NeoLoad + Waterfall: Option 3 Three options to include Neoload testing for a release: 3) run NeoLoad scripts on project vs mainline branches, comparing results  Run scripts on mainline branch to obtain baseline results  Run scripts on project branch  Compare project results to baseline results  Is performance of the project branch better/no worse/worse than mainline
  • 18. Results: Still a Waterfall  Performance testing still occurred @ end of dev cycles  Limited time to re-work performance issues before release dates.  Often, the tests were short samples due to time constraints.  The most recent set of results for comparison was often many weeks old.  Centralized around performance engineer (bottleneck risk)  Sometimes it was “testing for the sake of testing”
  • 19. Meanwhile: Along comes Agile  Continuous Integration of code  Automated CI builds  Continuous Delivery to test environments  Automated regressions using CI builds  Cross functional team members  “Everyone is responsible for quality” approach  Result:  Sped up development + shortened our dev lifecycle! Release more frequently
  • 20. Load Testing + Agile Teams  Team mindset: “Performance is everybody's job”  But, most team members had little load testing experience.  Result:  Still had all of the same problems getting Load Tests done.  Completed “in the margins” by perf engineer + agile team member.  Relied upon Ops and/or performance engineer (bottleneck risk)  Load testing wasn’t keeping pace with our Agile teams.  Needed a way to bake Load Testing into our Agile process.
  • 21. Load Testing + Agile Teams  How could we include LT more often, under Agile process?  Manual performance testing? [+leverage firebug, Yslow, Fiddler, etc.]  Collect performance metrics while we run our automated regression?  WebPagetest.org?  Schedule NeoLoad to run using Cron jobs?  Schedule NeoLoad to run using NeoLoad internal scheduler?  Schedule Neoload to run using CI? Hmmmm… we do have Jenkins.
  • 22. Jenkins NeoLoad plugin v4.2 [Nov 2013]  Retrieve Neoload results back into to Jenkins  Display Trends: Avg Response Time & Error Rate  Maintain build history & preserve Neoload reports for each build.
  • 23. Gains from NeoLoad + CI Daily performance “pulse”
  • 24. Gains from NeoLoad + CI JUnit test results based on SLA profiles
  • 25. Gains from NeoLoad + CI Collaborate. Easy to share. Link to the build. Increased Collaboration.
  • 26. NeoLoad Tests: Controlled by CI Scheduled nightly.
  • 27. Lessons learned Pitfalls to Avoid:  Using only “happy path” scripts  Comparing results over long gaps time  risky  Comparing multiple short samples  inaccurate  Swap sharing the Load Testing environment  bottlenecks  Requiring involvement from Ops or perf. engineer  bottlenecks
  • 28. Your turn!  Run NeoLoad using Continuous Integration
  • 29. Step1: get a CI Server, setup for NeoLoad We used an existing remote Jenkins server. Use your existing remote CI server or install Jenkins along side NeoLoad.
  • 30. Step2: add CI step to run NeoLoadCmd Neotys’ Jenkins Integration Guide explains how to configure –options
  • 31. Step3: Install NeoLoad plugin for Jenkins
  • 32. Step4: retrieve Neoload results Jenkins Integration Guide explains how to incorporate NeoLoad results
  • 33. Where to go from here? Best practices & Pro Tips:  Incorporate performance testing into every DevOps team  Intelligent testing: only run load scripts that test the code that was changed  Reduce the amount of time & resources needed for load testing  For “hardening sprints”- setup a Stress test scenario. Run on-demand using CI  Make use of email alerts and chat notifications in CI
  • 34. Best Practices: Setup SLA profiles  Setup SLA profiles so pass/fail criteria are bubbled up to CI results
  • 35. Best Practices: Increase collaboration
  • 36. Best Practices: Smoke test  Smoke test first (low volume), then run full Load Test
  • 37. Richard Pitts We are hiring: [email protected] http://www.commercehub.com/about-us/careers/ Share with me: How are you using CI to drive your NeoLoad process? Let me know. Learn more: http://www.neotys.com/introduction/neoload-continuous-integration.html http://www.neotys.com/webcast/Continuous-Performance-Testing-with-NeoLoad.html https://wiki.jenkins-ci.org/display/JENKINS/NeoLoad+Plugin https://github.com/jenkinsci/neoload-plugin

Editor's Notes

  • #4: 38,000+ active users (out of 86k) 2 million hits per month on most popular page. Dashboard. (On AVG) For busy season, we expect hits on that page to be higher by a factor of 2 or 2.5
  • #5: CI tools themselves bring lots of value to the table.
  • #6: Available starting with Version 4.2 (Nov 2013)
  • #7: Archived report for every build. Easy to share Neoload test results. Provide a link to the build and everyone on the team, plus other stakeholders, can view Neoload reports and trends.
  • #9: Occasionally with Jmeter, but mostly manual tests
  • #10: Adopted Neoload and began our journey into Automated Performance Testing Technology Radar by ThoughtWorks (Hold, Assess, Trial, Adopt)
  • #11: Record/Playback, configure for concurrency and unique data, add error handling
  • #24: Build History + Test result trend graphs help us keep a daily “pulse” of the performance of our mainline branch We finally have constant monitoring of application performance.. Trends over several builds SLA pass/fall criteria bubble up to CI results
  • #25: SLA pass/fall criteria bubble up to CI results
  • #26: Archived report for every build. Easy to share Neoload test results. Provide a link to the build and everyone on the team, plus other stakeholders, can view Neoload reports and trends.
  • #28: Drawbacks, Tradeoffs, and Fallacies to avoid
  • #33: Add Post-build actions to incorporate Neoload Results, and archive results. If using SLAs, also Publish Junit test result XMLs
  • #36: First thing every morning, check the status of nightly Jenkins job in a HipChat room