SlideShare a Scribd company logo
Test parallelization using Jenkins
Scott Mills - Rogue Wave Software
What am I going to cover in this session?
1. About me
2. About Rogue Wave
3. The problem
4. The challenge
5. The solution
6. Jenkins plugins
7. What’s next
8. Closing thoughts
What are you going to take away from this session?
1. Easy to get started with Jenkins
2. Monitor job health, process results
3. Parallelize your test suites
4. Plugins are your friends
About me
About Me
Dallas, TX
Ottawa, ON
My technical background
• Over 15 years designing, developing, maintaining and supporting
Automation systems
• Application Performance Testing
• Application Security testing (OWASP Top 10)
• Automated Web testing (Selenium, Silk Test, TestPartner)
• Test Automation framework development, maintenance and
evolution in Java, Python, Jenkins
No, I don’t test software in my spare time…
About Rogue Wave Software
“Making it easier to write, test and deploy complex code”
• Largest independent provider of cross-platform software
development tools and embedded components in the world
• Founded in 1989
• Global company, headquartered in Louisville, CO.
• Customers: Over 3,000 companies in 57 countries
Tools Libraries
SourcePro OS, database, network, and analysis
abstraction for C++
Visualization Real-time data visualization at scale
IMSL Numerical Libraries Scalable math
and statistics algorithms
PV-WAVE Visual data analysis
HydraExpress SOA/C++ modernization
framework
HostAccess Terminal emulation for Windows
Stingray MFC GUI components
OpenLogic Audits Detailed open source
license and security risk guidance
OpenLogic Support Enterprise-grade SLA support
Klocwork On-the-fly static code analysis for app
security
TotalView for HPC Scalable parallel debugging
CodeDynamics Commercial dynamic analysis
Zend Server Enterprise PHP app server
Zend Studio PHP IDE
Zend Guard PHP encoding and obfuscation
Rogue Wave customers
Klocwork
• Continuous Static Code Analysis
• Find defects early!
• Web-based portal for reporting and analyzing results
• Ability to be built into your Continuous Integration process
• Very popular with mission critical industries
• Allows customers to meet industry standards
• Try it!!
The problem
Enforcing quality means ensuring quality
• If Klocwork enforces code quality, Rogue Wave needs to be extremely
diligent about delivering high quality software
• New features and fixes need to be tested
• Regression testing extremely important – reducing false positives may
accidentally hide real code defects
?
Testing
• 6000+ test cases run against our nightly build
• Total execution time: 18+ hours
• Too long of a delay to get results (especially in an Agile environment!)
to determine the health of the build and identify potential regression
defects
• Problem goes downstream: QA waits for test results, developers wait
for QA to report bugs, bugs get fixed and issue repeats.
The challenge
The challenge
• Execute tests against the continuous integration build
• Drastically reduce the execution time of the test suites
• Reuse the existing automation framework as much as possible
• Report on results as they come in
• Make it scalable
• Use open source solutions
The solution
The solution
• Parallel execution of our tests suites across multiple VMs
• Controlled by Jenkins, open source continuous integration tool
• Already used to generate our nightly and CI builds
• Test runs are kicked off as soon as a new CI build is available
The solution
• Results imported into TestLink, open source test management system
• Scalable: Add more VMs to the pool to further reduce execution time
• Utilizes the bulk of the existing automation framework
• High level results also sent to “Build health monitor board”
Health monitor board
Job: automation_CI
# Run Started Duration Total tests Failed Status
0 11.2.0.3913 31.08.2016 604:31 7109 77
1 11.2.0.3920 31.08.2016 441:29 7154 121
2 11.2.0.3921 01.09.2016 625:04 7043 59
3 11.2.0.3926 01.09.2016 410:19 7154 62
4 11.2.0.3928 01.09.2016 266:42 7154 60
bad
bad
good
bad
good
Health monitor board
Continuous integration
• Integrating code from many developers into a baseline multiple times
a day
• In best practices, paired with the execution of automated testing
upon submission
Jenkins
• Open source continuous integration tool
• Triggers a new build every time source code changes are submitted
• Can be used for much more than just builds!
• jenkins.io
Jenkins basics – demonstration
• Jobs
• Options
• Build steps
• Post-build actions
• Slaves & labels
• Execution
• Output
• Artifacts
• Downstream jobs
Solution workflow
Jenkins job Role Downstream job
Automation
daemon
Continuously polls an artifact produced by the CI Linux build, looking for a new
build to run against (identified by a new GUID). Will run the most recent new build.
Parallelization
master
Parallelization
master
Inherits the data from the daemon and triggers the job matrix jobs. Aggregates the
results from job matrix, reports overall build health (scripts, portal repos)
Job matrix scripts
Job matrix portal
Job matrix scripts Launches separate jobs for each individual suite of tests in the scripts repository
across the Linux VMs allocated for Linux testing. Result of each suite execution are
copied up to the parallelization master, and sent downstream to the TestLink
import job for import into our TestLink instance.
TestLink import
Job matrix portal Launches separate jobs for each individual suite of tests in the Portal repository
across the Linux VMs allocated for Linux testing. Result of each suite execution are
copied up to the parallelization master, and sent downstream to the TestLink
import job for import into our TestLink instance.
TestLink import
TestLink import Inherits the results.xml file from job matrix scripts and portal and imports the data
into TestLink via API.
THEN
python runAll.py
NOW
python parallel.py $SUITE_NAME
The queue
Jobs to process
scripts – config
scripts – licensing
scripts – auth
portal - reports
portal - issues
scripts - sync
portal - auth
scripts - refactor
scripts - local
portal - search
VM Farm (Label: CT_LINUX)
Ubuntu 1 : scripts - defectdetection
Ubuntu 2 : free
Ubuntu 3 : scripts - usability
Ubuntu 4 : portal - import
Ubuntu 5 : portal - build
Ubuntu 6 : portal - roles
Ubuntu 7 : scripts - macros
Ubuntu 8 : scripts - migration
Jenkins plugins
Jenkins plugins
• Many plugins available
• Written by the community
• Easy to install to your Jenkins instance
• “I wonder if there’s a plugin for that?”
Problems solved by plugins - 1
Problem:
“How can we distribute the execution of our test suites across multiple
machines?”
Problems solved by plugins - 1
Solution:
Matrix project plugin
• The Configuration Matrix allows you to specify what steps to duplicate, and
create a multiple-axis graph of the type of build to create
• User-defined axis
• Slave axis
Configuration
Matrix
CentOS_6.7 CentOS_7.2 Debian_7.9 Debian_8.4 Fedora_22 Fedora_23
authentication
bonobo
cdefectdetection
configuration
csharp
dbvalidator
distributed
Problems solved by plugins - 1
Pass
Some
failures
Fail
Problems solved by plugins - 2
Problem:
“Build Steps can be written in either Windows batch or Linux shell. How
can we create platform independent jobs?”
Problems solved by plugins - 2
Solution:
Execute Python script plugin
• Our automation framework written in Python, so readily available across all
machines
Problems solved by plugins - 3
Problem:
“Eeesh. If one of the slaves gets in a bad state and immediately fails
tests, most tests in the queue will be directed to that slave and all fail.”
Problems solved by plugins - 3
Solution:
Offline on failure plugin
• Allows you to take nodes offline immediately when a job reports FAILURE
Problems solved by plugins - 4
Problem:
“A job seems to be hung, it’s been running for 4 hours with no update.
We’re going to have to kill it manually to free up its machine.”
Problems solved by plugins - 4
Solution:
Build-timeout plugin
• Abort build based on:
• Fixed time-out limit
• Specific deadline time
• Average duration of last n executions
• No activity in log
Problems solved by plugins - 5
Problem:
“Can rename the build numbers to something more applicable?”
Problems solved by plugins - 5
Solution:
Build name setter plugin
• Set the build name using variables, properties or file contents
Problems solved by plugins - 6
Problem:
“Can we view the test results in Jenkins?”
Problems solved by plugins - 6
Solution (part 1):
Junit plugin
• Publish Junit test result report:
• Drill down into test suites to find individual test failures
• View stack traces
Problems solved by plugins - 6
Problems solved by plugins - 6
Solution (part 2):
Test results analyzer plugin
• Produces a table of build history results
• Drill down into test suites to find individual test failures
• Determine build-to-build trends
Problems solved by plugins - 6
What’s next?
Folks, we’re almost done…
I hope you are able to take away the following points:
1. Easy to get started with Jenkins
2. Monitor job health, process results
3. Parallelize your test suites
4. Plugins are your friends
In closing…
• Invest in your framework
• Look for opportunities to evolve
• Open source is great, but…
• Reusing your legacy framework is great, but…
Anything else that you want to ask me?
Contact Scott Mills

More Related Content

What's hot

Automated Testing Using Selenium
Automated Testing Using SeleniumAutomated Testing Using Selenium
Automated Testing Using Selenium
TechWell
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
drluckyspin
 
SecDevOps: The New Black of IT
SecDevOps: The New Black of ITSecDevOps: The New Black of IT
SecDevOps: The New Black of IT
CloudPassage
 
Hp fortify source code analyzer(sca)
Hp fortify source code analyzer(sca)Hp fortify source code analyzer(sca)
Hp fortify source code analyzer(sca)
Nagaraju Repala
 
Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration
Amazon Web Services
 
Building a high quality+ products with SCA
Building a high quality+ products with SCABuilding a high quality+ products with SCA
Building a high quality+ products with SCA
Suman Sourav
 
Continuous Integration at T3CON08
Continuous Integration at T3CON08Continuous Integration at T3CON08
Continuous Integration at T3CON08
Sebastian Kurfürst
 
Nonfunctional Testing: Examine the Other Side of the Coin
Nonfunctional Testing: Examine the Other Side of the CoinNonfunctional Testing: Examine the Other Side of the Coin
Nonfunctional Testing: Examine the Other Side of the Coin
TechWell
 
Devops, Secops, Opsec, DevSec *ops *.* ?
Devops, Secops, Opsec, DevSec *ops *.* ?Devops, Secops, Opsec, DevSec *ops *.* ?
Devops, Secops, Opsec, DevSec *ops *.* ?
Kris Buytaert
 
Continuous Testing and New Tools for Automation - Presentation from StarWest ...
Continuous Testing and New Tools for Automation - Presentation from StarWest ...Continuous Testing and New Tools for Automation - Presentation from StarWest ...
Continuous Testing and New Tools for Automation - Presentation from StarWest ...
Sauce Labs
 
Become a Performance Diagnostics Hero
Become a Performance Diagnostics HeroBecome a Performance Diagnostics Hero
Become a Performance Diagnostics Hero
TechWell
 
10 Things You Might Not Know: Continuous Integration
10 Things You Might Not Know: Continuous Integration10 Things You Might Not Know: Continuous Integration
10 Things You Might Not Know: Continuous Integration
Coveros, Inc.
 
Create code confidence for better application security
Create code confidence for better application security Create code confidence for better application security
Create code confidence for better application security
Rogue Wave Software
 
Jenkins Test Automation with codeBeamer ALM
Jenkins Test Automation with codeBeamer ALMJenkins Test Automation with codeBeamer ALM
Jenkins Test Automation with codeBeamer ALM
Intland Software GmbH
 
Succeeding-Marriage-Cybersecurity-DevOps final
Succeeding-Marriage-Cybersecurity-DevOps finalSucceeding-Marriage-Cybersecurity-DevOps final
Succeeding-Marriage-Cybersecurity-DevOps finalrkadayam
 
Flight East 2018 Presentation–A DevOps State of Mind: Continuous Security wit...
Flight East 2018 Presentation–A DevOps State of Mind: Continuous Security wit...Flight East 2018 Presentation–A DevOps State of Mind: Continuous Security wit...
Flight East 2018 Presentation–A DevOps State of Mind: Continuous Security wit...
Synopsys Software Integrity Group
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
Mike McGarr
 
Continuous testing
Continuous testing Continuous testing
Continuous testing
Dr Ganesh Iyer
 
WSO2 IoTS Device Manufacturer Guide
WSO2 IoTS Device Manufacturer GuideWSO2 IoTS Device Manufacturer Guide
WSO2 IoTS Device Manufacturer Guide
hugo lu
 

What's hot (20)

Automated Testing Using Selenium
Automated Testing Using SeleniumAutomated Testing Using Selenium
Automated Testing Using Selenium
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
SecDevOps: The New Black of IT
SecDevOps: The New Black of ITSecDevOps: The New Black of IT
SecDevOps: The New Black of IT
 
Hp fortify source code analyzer(sca)
Hp fortify source code analyzer(sca)Hp fortify source code analyzer(sca)
Hp fortify source code analyzer(sca)
 
Continuous Integration 101
Continuous Integration 101Continuous Integration 101
Continuous Integration 101
 
Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration
 
Building a high quality+ products with SCA
Building a high quality+ products with SCABuilding a high quality+ products with SCA
Building a high quality+ products with SCA
 
Continuous Integration at T3CON08
Continuous Integration at T3CON08Continuous Integration at T3CON08
Continuous Integration at T3CON08
 
Nonfunctional Testing: Examine the Other Side of the Coin
Nonfunctional Testing: Examine the Other Side of the CoinNonfunctional Testing: Examine the Other Side of the Coin
Nonfunctional Testing: Examine the Other Side of the Coin
 
Devops, Secops, Opsec, DevSec *ops *.* ?
Devops, Secops, Opsec, DevSec *ops *.* ?Devops, Secops, Opsec, DevSec *ops *.* ?
Devops, Secops, Opsec, DevSec *ops *.* ?
 
Continuous Testing and New Tools for Automation - Presentation from StarWest ...
Continuous Testing and New Tools for Automation - Presentation from StarWest ...Continuous Testing and New Tools for Automation - Presentation from StarWest ...
Continuous Testing and New Tools for Automation - Presentation from StarWest ...
 
Become a Performance Diagnostics Hero
Become a Performance Diagnostics HeroBecome a Performance Diagnostics Hero
Become a Performance Diagnostics Hero
 
10 Things You Might Not Know: Continuous Integration
10 Things You Might Not Know: Continuous Integration10 Things You Might Not Know: Continuous Integration
10 Things You Might Not Know: Continuous Integration
 
Create code confidence for better application security
Create code confidence for better application security Create code confidence for better application security
Create code confidence for better application security
 
Jenkins Test Automation with codeBeamer ALM
Jenkins Test Automation with codeBeamer ALMJenkins Test Automation with codeBeamer ALM
Jenkins Test Automation with codeBeamer ALM
 
Succeeding-Marriage-Cybersecurity-DevOps final
Succeeding-Marriage-Cybersecurity-DevOps finalSucceeding-Marriage-Cybersecurity-DevOps final
Succeeding-Marriage-Cybersecurity-DevOps final
 
Flight East 2018 Presentation–A DevOps State of Mind: Continuous Security wit...
Flight East 2018 Presentation–A DevOps State of Mind: Continuous Security wit...Flight East 2018 Presentation–A DevOps State of Mind: Continuous Security wit...
Flight East 2018 Presentation–A DevOps State of Mind: Continuous Security wit...
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
Continuous testing
Continuous testing Continuous testing
Continuous testing
 
WSO2 IoTS Device Manufacturer Guide
WSO2 IoTS Device Manufacturer GuideWSO2 IoTS Device Manufacturer Guide
WSO2 IoTS Device Manufacturer Guide
 

Viewers also liked

Gimme shelter: Tips on protecting proprietary and open source code
Gimme shelter: Tips on protecting proprietary and open source codeGimme shelter: Tips on protecting proprietary and open source code
Gimme shelter: Tips on protecting proprietary and open source code
Rogue Wave Software
 
How to achieve security, reliability, and productivity in less time
How to achieve security, reliability, and productivity in less timeHow to achieve security, reliability, and productivity in less time
How to achieve security, reliability, and productivity in less time
Rogue Wave Software
 
Continuous security: Bringing agility to the secure development lifecycle
Continuous security: Bringing agility to the secure development lifecycleContinuous security: Bringing agility to the secure development lifecycle
Continuous security: Bringing agility to the secure development lifecycle
Rogue Wave Software
 
Easy offline-first mobile and desktop web apps with PouchDB
Easy offline-first mobile and desktop web apps with PouchDBEasy offline-first mobile and desktop web apps with PouchDB
Easy offline-first mobile and desktop web apps with PouchDB
Rogue Wave Software
 
Open source software support for the enterprise
Open source software support for the enterpriseOpen source software support for the enterprise
Open source software support for the enterprise
Rogue Wave Software
 
Verification at scale: Fitting static code analysis into continuous integration
Verification at scale: Fitting static code analysis into continuous integrationVerification at scale: Fitting static code analysis into continuous integration
Verification at scale: Fitting static code analysis into continuous integration
Rogue Wave Software
 
Static analysis works for mission-critical systems, why not yours?
Static analysis works for mission-critical systems, why not yours? Static analysis works for mission-critical systems, why not yours?
Static analysis works for mission-critical systems, why not yours?
Rogue Wave Software
 
What if you could eliminate the hidden costs of development?
What if you could eliminate the hidden costs of development?What if you could eliminate the hidden costs of development?
What if you could eliminate the hidden costs of development?
Rogue Wave Software
 
JUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache Mesos
JUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache MesosJUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache Mesos
JUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache Mesos
CloudBees
 
Containerized End-2-End-Testing - Tobias Schneck
Containerized End-2-End-Testing - Tobias SchneckContainerized End-2-End-Testing - Tobias Schneck
Containerized End-2-End-Testing - Tobias Schneck
Tobias Schneck
 
Jenkins Squish Integration
Jenkins Squish IntegrationJenkins Squish Integration
Jenkins Squish Integration
Ankit Vashistha
 
TORIKUL CV-2016
TORIKUL CV-2016TORIKUL CV-2016
TORIKUL CV-2016TAREQ KHAN
 
Cách diệt virus
Cách diệt virusCách diệt virus
Cách diệt virus
Nguyễn Anh
 
GlassFish v3 : En Route Java EE 6
GlassFish v3 : En Route Java EE 6GlassFish v3 : En Route Java EE 6
GlassFish v3 : En Route Java EE 6
Alexis Moussine-Pouchkine
 
Estrategia de enseñanza Métodos Numéricos
Estrategia de enseñanza Métodos NuméricosEstrategia de enseñanza Métodos Numéricos
Estrategia de enseñanza Métodos Numéricos
PasttOr MaanUel ヅ
 
Snapchat and Instagram for Charities
Snapchat and Instagram for CharitiesSnapchat and Instagram for Charities
Snapchat and Instagram for Charities
Mary Mitchell
 
Teorias Cientifica Clasica y Relaciones Humanas
Teorias Cientifica Clasica y Relaciones HumanasTeorias Cientifica Clasica y Relaciones Humanas
Teorias Cientifica Clasica y Relaciones Humanas
Virtualización Distancia Empresas
 

Viewers also liked (20)

Gimme shelter: Tips on protecting proprietary and open source code
Gimme shelter: Tips on protecting proprietary and open source codeGimme shelter: Tips on protecting proprietary and open source code
Gimme shelter: Tips on protecting proprietary and open source code
 
How to achieve security, reliability, and productivity in less time
How to achieve security, reliability, and productivity in less timeHow to achieve security, reliability, and productivity in less time
How to achieve security, reliability, and productivity in less time
 
Continuous security: Bringing agility to the secure development lifecycle
Continuous security: Bringing agility to the secure development lifecycleContinuous security: Bringing agility to the secure development lifecycle
Continuous security: Bringing agility to the secure development lifecycle
 
Easy offline-first mobile and desktop web apps with PouchDB
Easy offline-first mobile and desktop web apps with PouchDBEasy offline-first mobile and desktop web apps with PouchDB
Easy offline-first mobile and desktop web apps with PouchDB
 
Open source software support for the enterprise
Open source software support for the enterpriseOpen source software support for the enterprise
Open source software support for the enterprise
 
Verification at scale: Fitting static code analysis into continuous integration
Verification at scale: Fitting static code analysis into continuous integrationVerification at scale: Fitting static code analysis into continuous integration
Verification at scale: Fitting static code analysis into continuous integration
 
Static analysis works for mission-critical systems, why not yours?
Static analysis works for mission-critical systems, why not yours? Static analysis works for mission-critical systems, why not yours?
Static analysis works for mission-critical systems, why not yours?
 
What if you could eliminate the hidden costs of development?
What if you could eliminate the hidden costs of development?What if you could eliminate the hidden costs of development?
What if you could eliminate the hidden costs of development?
 
JUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache Mesos
JUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache MesosJUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache Mesos
JUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache Mesos
 
Containerized End-2-End-Testing - Tobias Schneck
Containerized End-2-End-Testing - Tobias SchneckContainerized End-2-End-Testing - Tobias Schneck
Containerized End-2-End-Testing - Tobias Schneck
 
Jenkins Squish Integration
Jenkins Squish IntegrationJenkins Squish Integration
Jenkins Squish Integration
 
TORIKUL CV-2016
TORIKUL CV-2016TORIKUL CV-2016
TORIKUL CV-2016
 
Cách diệt virus
Cách diệt virusCách diệt virus
Cách diệt virus
 
تاشيرات
تاشيراتتاشيرات
تاشيرات
 
GlassFish v3 : En Route Java EE 6
GlassFish v3 : En Route Java EE 6GlassFish v3 : En Route Java EE 6
GlassFish v3 : En Route Java EE 6
 
Estrategia de enseñanza Métodos Numéricos
Estrategia de enseñanza Métodos NuméricosEstrategia de enseñanza Métodos Numéricos
Estrategia de enseñanza Métodos Numéricos
 
CV
CVCV
CV
 
Смисъл на живота
Смисъл на животаСмисъл на живота
Смисъл на живота
 
Snapchat and Instagram for Charities
Snapchat and Instagram for CharitiesSnapchat and Instagram for Charities
Snapchat and Instagram for Charities
 
Teorias Cientifica Clasica y Relaciones Humanas
Teorias Cientifica Clasica y Relaciones HumanasTeorias Cientifica Clasica y Relaciones Humanas
Teorias Cientifica Clasica y Relaciones Humanas
 

Similar to Test parallelization using Jenkins

The Key Components of Adopting CI The OpenStack Way
The Key Components of Adopting CI The OpenStack WayThe Key Components of Adopting CI The OpenStack Way
The Key Components of Adopting CI The OpenStack Way
iWeb (group INAP)
 
Continuous delivery @wcap 5-09-2013
Continuous delivery   @wcap 5-09-2013Continuous delivery   @wcap 5-09-2013
Continuous delivery @wcap 5-09-2013
David Funaro
 
Introduction to jenkins
Introduction to jenkinsIntroduction to jenkins
Introduction to jenkins
Abe Diaz
 
Test automation proposal
Test automation proposalTest automation proposal
Test automation proposal
Mihai-Cristian Fratila
 
MyHeritage - QA Automations in a Continuous Deployment environment
MyHeritage -  QA Automations in a Continuous Deployment environmentMyHeritage -  QA Automations in a Continuous Deployment environment
MyHeritage - QA Automations in a Continuous Deployment environment
MatanGoren
 
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...
CloudBees
 
Continuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at DashlaneContinuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at Dashlane
Dashlane
 
CD with spinnaker
CD with spinnakerCD with spinnaker
CD with spinnaker
AbdulBasit Kabir
 
Hudson
HudsonHudson
Hudson
8x8
 
Application Lifecycle Management
Application Lifecycle ManagementApplication Lifecycle Management
Application Lifecycle Management
Amazon Web Services
 
Continuous Delivery Using Jenkins
Continuous Delivery Using JenkinsContinuous Delivery Using Jenkins
Continuous Delivery Using Jenkins
Cliffano Subagio
 
Continuous Integration Testing for SAP
Continuous Integration Testing for SAPContinuous Integration Testing for SAP
Continuous Integration Testing for SAP
Worksoft
 
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CDDevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
DevOps_Fest
 
Building High Quality Android Applications
Building High Quality Android ApplicationsBuilding High Quality Android Applications
Building High Quality Android Applications
Leif Janzik
 
Continuous deployment steve povilaitis
Continuous deployment   steve povilaitisContinuous deployment   steve povilaitis
Continuous deployment steve povilaitisSteve Povilaitis
 
Why NXTware Remote for Jenkins
Why NXTware Remote for JenkinsWhy NXTware Remote for Jenkins
Why NXTware Remote for Jenkins
ecubemarketing
 
Cloudstack Continuous Delivery
Cloudstack Continuous DeliveryCloudstack Continuous Delivery
Cloudstack Continuous Deliverybuildacloud
 
Devops architecture
Devops architectureDevops architecture
Devops architecture
Ojasvi Jagtap
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applications
Sunil Dalal
 

Similar to Test parallelization using Jenkins (20)

The Key Components of Adopting CI The OpenStack Way
The Key Components of Adopting CI The OpenStack WayThe Key Components of Adopting CI The OpenStack Way
The Key Components of Adopting CI The OpenStack Way
 
Continuous delivery @wcap 5-09-2013
Continuous delivery   @wcap 5-09-2013Continuous delivery   @wcap 5-09-2013
Continuous delivery @wcap 5-09-2013
 
Introduction to jenkins
Introduction to jenkinsIntroduction to jenkins
Introduction to jenkins
 
Test automation proposal
Test automation proposalTest automation proposal
Test automation proposal
 
MyHeritage - QA Automations in a Continuous Deployment environment
MyHeritage -  QA Automations in a Continuous Deployment environmentMyHeritage -  QA Automations in a Continuous Deployment environment
MyHeritage - QA Automations in a Continuous Deployment environment
 
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...
 
Continuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at DashlaneContinuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at Dashlane
 
CD with spinnaker
CD with spinnakerCD with spinnaker
CD with spinnaker
 
Contineous integration
Contineous integrationContineous integration
Contineous integration
 
Hudson
HudsonHudson
Hudson
 
Application Lifecycle Management
Application Lifecycle ManagementApplication Lifecycle Management
Application Lifecycle Management
 
Continuous Delivery Using Jenkins
Continuous Delivery Using JenkinsContinuous Delivery Using Jenkins
Continuous Delivery Using Jenkins
 
Continuous Integration Testing for SAP
Continuous Integration Testing for SAPContinuous Integration Testing for SAP
Continuous Integration Testing for SAP
 
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CDDevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
DevOps Fest 2020. Kohsuke Kawaguchi. GitOps, Jenkins X & the Future of CI/CD
 
Building High Quality Android Applications
Building High Quality Android ApplicationsBuilding High Quality Android Applications
Building High Quality Android Applications
 
Continuous deployment steve povilaitis
Continuous deployment   steve povilaitisContinuous deployment   steve povilaitis
Continuous deployment steve povilaitis
 
Why NXTware Remote for Jenkins
Why NXTware Remote for JenkinsWhy NXTware Remote for Jenkins
Why NXTware Remote for Jenkins
 
Cloudstack Continuous Delivery
Cloudstack Continuous DeliveryCloudstack Continuous Delivery
Cloudstack Continuous Delivery
 
Devops architecture
Devops architectureDevops architecture
Devops architecture
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applications
 

More from Rogue Wave Software

The Global Influence of Open Banking, API Security, and an Open Data Perspective
The Global Influence of Open Banking, API Security, and an Open Data PerspectiveThe Global Influence of Open Banking, API Security, and an Open Data Perspective
The Global Influence of Open Banking, API Security, and an Open Data Perspective
Rogue Wave Software
 
No liftoff, touchdown, or heartbeat shall miss because of a software failure
No liftoff, touchdown, or heartbeat shall miss because of a software failureNo liftoff, touchdown, or heartbeat shall miss because of a software failure
No liftoff, touchdown, or heartbeat shall miss because of a software failure
Rogue Wave Software
 
Disrupt or be disrupted – Using secure APIs to drive digital transformation
Disrupt or be disrupted – Using secure APIs to drive digital transformationDisrupt or be disrupted – Using secure APIs to drive digital transformation
Disrupt or be disrupted – Using secure APIs to drive digital transformation
Rogue Wave Software
 
Leveraging open banking specifications for rigorous API security – What’s in...
Leveraging open banking specifications for rigorous API security –  What’s in...Leveraging open banking specifications for rigorous API security –  What’s in...
Leveraging open banking specifications for rigorous API security – What’s in...
Rogue Wave Software
 
Adding layers of security to an API in real-time
Adding layers of security to an API in real-timeAdding layers of security to an API in real-time
Adding layers of security to an API in real-time
Rogue Wave Software
 
Getting the most from your API management platform: A case study
Getting the most from your API management platform: A case studyGetting the most from your API management platform: A case study
Getting the most from your API management platform: A case study
Rogue Wave Software
 
Advanced technologies and techniques for debugging HPC applications
Advanced technologies and techniques for debugging HPC applicationsAdvanced technologies and techniques for debugging HPC applications
Advanced technologies and techniques for debugging HPC applications
Rogue Wave Software
 
The forgotten route: Making Apache Camel work for you
The forgotten route: Making Apache Camel work for youThe forgotten route: Making Apache Camel work for you
The forgotten route: Making Apache Camel work for you
Rogue Wave Software
 
Are open source and embedded software development on a collision course?
Are open source and embedded software development on a  collision course?Are open source and embedded software development on a  collision course?
Are open source and embedded software development on a collision course?
Rogue Wave Software
 
Three big mistakes with APIs and microservices
Three big mistakes with APIs and microservices Three big mistakes with APIs and microservices
Three big mistakes with APIs and microservices
Rogue Wave Software
 
5 strategies for enterprise cloud infrastructure success
5 strategies for enterprise cloud infrastructure success5 strategies for enterprise cloud infrastructure success
5 strategies for enterprise cloud infrastructure success
Rogue Wave Software
 
PSD2 & Open Banking: How to go from standards to implementation and compliance
PSD2 & Open Banking: How to go from standards to implementation and compliancePSD2 & Open Banking: How to go from standards to implementation and compliance
PSD2 & Open Banking: How to go from standards to implementation and compliance
Rogue Wave Software
 
Java 10 and beyond: Keeping up with the language and planning for the future
Java 10 and beyond: Keeping up with the language and planning for the futureJava 10 and beyond: Keeping up with the language and planning for the future
Java 10 and beyond: Keeping up with the language and planning for the future
Rogue Wave Software
 
How to keep developers happy and lawyers calm (Presented at ESC Boston)
How to keep developers happy and lawyers calm (Presented at ESC Boston)How to keep developers happy and lawyers calm (Presented at ESC Boston)
How to keep developers happy and lawyers calm (Presented at ESC Boston)
Rogue Wave Software
 
Open source applied - Real world use cases (Presented at Open Source 101)
Open source applied - Real world use cases (Presented at Open Source 101)Open source applied - Real world use cases (Presented at Open Source 101)
Open source applied - Real world use cases (Presented at Open Source 101)
Rogue Wave Software
 
How to migrate SourcePro apps from Solaris to Linux
How to migrate SourcePro apps from Solaris to LinuxHow to migrate SourcePro apps from Solaris to Linux
How to migrate SourcePro apps from Solaris to Linux
Rogue Wave Software
 
Approaches to debugging mixed-language HPC apps
Approaches to debugging mixed-language HPC appsApproaches to debugging mixed-language HPC apps
Approaches to debugging mixed-language HPC apps
Rogue Wave Software
 
Enterprise Linux: Justify your migration from Red Hat to CentOS
Enterprise Linux: Justify your migration from Red Hat to CentOSEnterprise Linux: Justify your migration from Red Hat to CentOS
Enterprise Linux: Justify your migration from Red Hat to CentOS
Rogue Wave Software
 
Walk through an enterprise Linux migration
Walk through an enterprise Linux migrationWalk through an enterprise Linux migration
Walk through an enterprise Linux migration
Rogue Wave Software
 
How to keep developers happy and lawyers calm
How to keep developers happy and lawyers calmHow to keep developers happy and lawyers calm
How to keep developers happy and lawyers calm
Rogue Wave Software
 

More from Rogue Wave Software (20)

The Global Influence of Open Banking, API Security, and an Open Data Perspective
The Global Influence of Open Banking, API Security, and an Open Data PerspectiveThe Global Influence of Open Banking, API Security, and an Open Data Perspective
The Global Influence of Open Banking, API Security, and an Open Data Perspective
 
No liftoff, touchdown, or heartbeat shall miss because of a software failure
No liftoff, touchdown, or heartbeat shall miss because of a software failureNo liftoff, touchdown, or heartbeat shall miss because of a software failure
No liftoff, touchdown, or heartbeat shall miss because of a software failure
 
Disrupt or be disrupted – Using secure APIs to drive digital transformation
Disrupt or be disrupted – Using secure APIs to drive digital transformationDisrupt or be disrupted – Using secure APIs to drive digital transformation
Disrupt or be disrupted – Using secure APIs to drive digital transformation
 
Leveraging open banking specifications for rigorous API security – What’s in...
Leveraging open banking specifications for rigorous API security –  What’s in...Leveraging open banking specifications for rigorous API security –  What’s in...
Leveraging open banking specifications for rigorous API security – What’s in...
 
Adding layers of security to an API in real-time
Adding layers of security to an API in real-timeAdding layers of security to an API in real-time
Adding layers of security to an API in real-time
 
Getting the most from your API management platform: A case study
Getting the most from your API management platform: A case studyGetting the most from your API management platform: A case study
Getting the most from your API management platform: A case study
 
Advanced technologies and techniques for debugging HPC applications
Advanced technologies and techniques for debugging HPC applicationsAdvanced technologies and techniques for debugging HPC applications
Advanced technologies and techniques for debugging HPC applications
 
The forgotten route: Making Apache Camel work for you
The forgotten route: Making Apache Camel work for youThe forgotten route: Making Apache Camel work for you
The forgotten route: Making Apache Camel work for you
 
Are open source and embedded software development on a collision course?
Are open source and embedded software development on a  collision course?Are open source and embedded software development on a  collision course?
Are open source and embedded software development on a collision course?
 
Three big mistakes with APIs and microservices
Three big mistakes with APIs and microservices Three big mistakes with APIs and microservices
Three big mistakes with APIs and microservices
 
5 strategies for enterprise cloud infrastructure success
5 strategies for enterprise cloud infrastructure success5 strategies for enterprise cloud infrastructure success
5 strategies for enterprise cloud infrastructure success
 
PSD2 & Open Banking: How to go from standards to implementation and compliance
PSD2 & Open Banking: How to go from standards to implementation and compliancePSD2 & Open Banking: How to go from standards to implementation and compliance
PSD2 & Open Banking: How to go from standards to implementation and compliance
 
Java 10 and beyond: Keeping up with the language and planning for the future
Java 10 and beyond: Keeping up with the language and planning for the futureJava 10 and beyond: Keeping up with the language and planning for the future
Java 10 and beyond: Keeping up with the language and planning for the future
 
How to keep developers happy and lawyers calm (Presented at ESC Boston)
How to keep developers happy and lawyers calm (Presented at ESC Boston)How to keep developers happy and lawyers calm (Presented at ESC Boston)
How to keep developers happy and lawyers calm (Presented at ESC Boston)
 
Open source applied - Real world use cases (Presented at Open Source 101)
Open source applied - Real world use cases (Presented at Open Source 101)Open source applied - Real world use cases (Presented at Open Source 101)
Open source applied - Real world use cases (Presented at Open Source 101)
 
How to migrate SourcePro apps from Solaris to Linux
How to migrate SourcePro apps from Solaris to LinuxHow to migrate SourcePro apps from Solaris to Linux
How to migrate SourcePro apps from Solaris to Linux
 
Approaches to debugging mixed-language HPC apps
Approaches to debugging mixed-language HPC appsApproaches to debugging mixed-language HPC apps
Approaches to debugging mixed-language HPC apps
 
Enterprise Linux: Justify your migration from Red Hat to CentOS
Enterprise Linux: Justify your migration from Red Hat to CentOSEnterprise Linux: Justify your migration from Red Hat to CentOS
Enterprise Linux: Justify your migration from Red Hat to CentOS
 
Walk through an enterprise Linux migration
Walk through an enterprise Linux migrationWalk through an enterprise Linux migration
Walk through an enterprise Linux migration
 
How to keep developers happy and lawyers calm
How to keep developers happy and lawyers calmHow to keep developers happy and lawyers calm
How to keep developers happy and lawyers calm
 

Recently uploaded

How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
varshanayak241
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
MayankTawar1
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
Visitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.appVisitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.app
NaapbooksPrivateLimi
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Hivelance Technology
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
Peter Caitens
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
Tendenci - The Open Source AMS (Association Management Software)
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 

Recently uploaded (20)

How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Visitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.appVisitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.app
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 

Test parallelization using Jenkins

  • 1. Test parallelization using Jenkins Scott Mills - Rogue Wave Software
  • 2. What am I going to cover in this session? 1. About me 2. About Rogue Wave 3. The problem 4. The challenge 5. The solution 6. Jenkins plugins 7. What’s next 8. Closing thoughts
  • 3. What are you going to take away from this session? 1. Easy to get started with Jenkins 2. Monitor job health, process results 3. Parallelize your test suites 4. Plugins are your friends
  • 6. My technical background • Over 15 years designing, developing, maintaining and supporting Automation systems • Application Performance Testing • Application Security testing (OWASP Top 10) • Automated Web testing (Selenium, Silk Test, TestPartner) • Test Automation framework development, maintenance and evolution in Java, Python, Jenkins
  • 7. No, I don’t test software in my spare time…
  • 8. About Rogue Wave Software
  • 9. “Making it easier to write, test and deploy complex code” • Largest independent provider of cross-platform software development tools and embedded components in the world • Founded in 1989 • Global company, headquartered in Louisville, CO. • Customers: Over 3,000 companies in 57 countries
  • 10. Tools Libraries SourcePro OS, database, network, and analysis abstraction for C++ Visualization Real-time data visualization at scale IMSL Numerical Libraries Scalable math and statistics algorithms PV-WAVE Visual data analysis HydraExpress SOA/C++ modernization framework HostAccess Terminal emulation for Windows Stingray MFC GUI components OpenLogic Audits Detailed open source license and security risk guidance OpenLogic Support Enterprise-grade SLA support Klocwork On-the-fly static code analysis for app security TotalView for HPC Scalable parallel debugging CodeDynamics Commercial dynamic analysis Zend Server Enterprise PHP app server Zend Studio PHP IDE Zend Guard PHP encoding and obfuscation
  • 12. Klocwork • Continuous Static Code Analysis • Find defects early! • Web-based portal for reporting and analyzing results • Ability to be built into your Continuous Integration process • Very popular with mission critical industries • Allows customers to meet industry standards • Try it!!
  • 14. Enforcing quality means ensuring quality • If Klocwork enforces code quality, Rogue Wave needs to be extremely diligent about delivering high quality software • New features and fixes need to be tested • Regression testing extremely important – reducing false positives may accidentally hide real code defects ?
  • 15. Testing • 6000+ test cases run against our nightly build • Total execution time: 18+ hours • Too long of a delay to get results (especially in an Agile environment!) to determine the health of the build and identify potential regression defects • Problem goes downstream: QA waits for test results, developers wait for QA to report bugs, bugs get fixed and issue repeats.
  • 17. The challenge • Execute tests against the continuous integration build • Drastically reduce the execution time of the test suites • Reuse the existing automation framework as much as possible • Report on results as they come in • Make it scalable • Use open source solutions
  • 19. The solution • Parallel execution of our tests suites across multiple VMs • Controlled by Jenkins, open source continuous integration tool • Already used to generate our nightly and CI builds • Test runs are kicked off as soon as a new CI build is available
  • 20. The solution • Results imported into TestLink, open source test management system • Scalable: Add more VMs to the pool to further reduce execution time • Utilizes the bulk of the existing automation framework • High level results also sent to “Build health monitor board”
  • 21. Health monitor board Job: automation_CI # Run Started Duration Total tests Failed Status 0 11.2.0.3913 31.08.2016 604:31 7109 77 1 11.2.0.3920 31.08.2016 441:29 7154 121 2 11.2.0.3921 01.09.2016 625:04 7043 59 3 11.2.0.3926 01.09.2016 410:19 7154 62 4 11.2.0.3928 01.09.2016 266:42 7154 60 bad bad good bad good
  • 23. Continuous integration • Integrating code from many developers into a baseline multiple times a day • In best practices, paired with the execution of automated testing upon submission
  • 24. Jenkins • Open source continuous integration tool • Triggers a new build every time source code changes are submitted • Can be used for much more than just builds! • jenkins.io
  • 25. Jenkins basics – demonstration • Jobs • Options • Build steps • Post-build actions • Slaves & labels • Execution • Output • Artifacts • Downstream jobs
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31. Solution workflow Jenkins job Role Downstream job Automation daemon Continuously polls an artifact produced by the CI Linux build, looking for a new build to run against (identified by a new GUID). Will run the most recent new build. Parallelization master Parallelization master Inherits the data from the daemon and triggers the job matrix jobs. Aggregates the results from job matrix, reports overall build health (scripts, portal repos) Job matrix scripts Job matrix portal Job matrix scripts Launches separate jobs for each individual suite of tests in the scripts repository across the Linux VMs allocated for Linux testing. Result of each suite execution are copied up to the parallelization master, and sent downstream to the TestLink import job for import into our TestLink instance. TestLink import Job matrix portal Launches separate jobs for each individual suite of tests in the Portal repository across the Linux VMs allocated for Linux testing. Result of each suite execution are copied up to the parallelization master, and sent downstream to the TestLink import job for import into our TestLink instance. TestLink import TestLink import Inherits the results.xml file from job matrix scripts and portal and imports the data into TestLink via API.
  • 33. The queue Jobs to process scripts – config scripts – licensing scripts – auth portal - reports portal - issues scripts - sync portal - auth scripts - refactor scripts - local portal - search VM Farm (Label: CT_LINUX) Ubuntu 1 : scripts - defectdetection Ubuntu 2 : free Ubuntu 3 : scripts - usability Ubuntu 4 : portal - import Ubuntu 5 : portal - build Ubuntu 6 : portal - roles Ubuntu 7 : scripts - macros Ubuntu 8 : scripts - migration
  • 35. Jenkins plugins • Many plugins available • Written by the community • Easy to install to your Jenkins instance • “I wonder if there’s a plugin for that?”
  • 36. Problems solved by plugins - 1 Problem: “How can we distribute the execution of our test suites across multiple machines?”
  • 37. Problems solved by plugins - 1 Solution: Matrix project plugin • The Configuration Matrix allows you to specify what steps to duplicate, and create a multiple-axis graph of the type of build to create • User-defined axis • Slave axis
  • 38. Configuration Matrix CentOS_6.7 CentOS_7.2 Debian_7.9 Debian_8.4 Fedora_22 Fedora_23 authentication bonobo cdefectdetection configuration csharp dbvalidator distributed Problems solved by plugins - 1 Pass Some failures Fail
  • 39. Problems solved by plugins - 2 Problem: “Build Steps can be written in either Windows batch or Linux shell. How can we create platform independent jobs?”
  • 40. Problems solved by plugins - 2 Solution: Execute Python script plugin • Our automation framework written in Python, so readily available across all machines
  • 41. Problems solved by plugins - 3 Problem: “Eeesh. If one of the slaves gets in a bad state and immediately fails tests, most tests in the queue will be directed to that slave and all fail.”
  • 42. Problems solved by plugins - 3 Solution: Offline on failure plugin • Allows you to take nodes offline immediately when a job reports FAILURE
  • 43. Problems solved by plugins - 4 Problem: “A job seems to be hung, it’s been running for 4 hours with no update. We’re going to have to kill it manually to free up its machine.”
  • 44. Problems solved by plugins - 4 Solution: Build-timeout plugin • Abort build based on: • Fixed time-out limit • Specific deadline time • Average duration of last n executions • No activity in log
  • 45. Problems solved by plugins - 5 Problem: “Can rename the build numbers to something more applicable?”
  • 46. Problems solved by plugins - 5 Solution: Build name setter plugin • Set the build name using variables, properties or file contents
  • 47. Problems solved by plugins - 6 Problem: “Can we view the test results in Jenkins?”
  • 48. Problems solved by plugins - 6 Solution (part 1): Junit plugin • Publish Junit test result report: • Drill down into test suites to find individual test failures • View stack traces
  • 49. Problems solved by plugins - 6
  • 50. Problems solved by plugins - 6 Solution (part 2): Test results analyzer plugin • Produces a table of build history results • Drill down into test suites to find individual test failures • Determine build-to-build trends
  • 51. Problems solved by plugins - 6
  • 53.
  • 55. I hope you are able to take away the following points: 1. Easy to get started with Jenkins 2. Monitor job health, process results 3. Parallelize your test suites 4. Plugins are your friends
  • 56. In closing… • Invest in your framework • Look for opportunities to evolve • Open source is great, but… • Reusing your legacy framework is great, but…
  • 57. Anything else that you want to ask me?