SlideShare a Scribd company logo
1 of 12
Download to read offline
William	
  Josephson	
  
Co-­‐Founder,	
  Solano	
  Labs	
  
@SolanoLabs	
  
	
  
Automated	
  Tes,ng	
  NYC	
  

Automated	
  Tes,ng,	
  Con,nuous	
  Integra,on	
  &	
  Con,nuous	
  Deployment	
  
Solano Labs – Lets you Test More, Faster

Some Metrics on how Fast we have Sped Up our Customers:
• 
• 
• 
• 

18 hrs serial, 2 + hrs on Parallel Team City w/ local HW to 13 mins
30 min on Jenkins to 6 mins
5 hrs serial PyPy test suite to 15 mins
5 hour queuing to 5 min max wait time
Solano Labs

© 2013 Confidential

2
Some Facts & Figures*
High performing organizations:
• 

Deploy code 30 times more frequently.
–  8000 times faster than their peers
–  Deploy multiple times a day, versus an average of once a month.

• 

Have 50 percent fewer failures.

• 

Restore service 12 times faster than their peers.
–  Fewer failures and faster recovery mean less risk to the business when
changes are deployed.

*Source:	
  Puppet	
  Labs	
  2013	
  State	
  of	
  DevOps	
  Report	
  
How	
  are	
  they	
  doing	
  this?	
  
I	
  don’t	
  have	
  all	
  the	
  answers…	
  

But	
  here’s	
  one:	
  	
  Automa,on	
  
Automated Testing Does More Than Find Bugs
Its Helps Teams Build a Better Product
Bug are Common, Difficult
to Eliminate & Very Costly

Automated Testing:
Using software to test software

•  Reduces	
  cost	
  of	
  bugs	
  by	
  
reducing	
  ,me	
  between	
  
introduc,on	
  and	
  discovery	
  
•  Frees	
  engineers	
  to	
  make	
  
large	
  changes	
  fearlessly,	
  
reducing	
  cycle	
  ,me	
  
•  Reduces	
  complexity	
  and	
  
risk	
  at	
  feature	
  integra,on	
  
Automation: Reduces the Cognitive Feedback Loop
Automa,on	
  shortens	
  the	
  
cogni,ve	
  loop	
  for	
  engineers	
  	
  

Waiting for tests to run
is no fun!

	
  	
  
• 
• 
• 

Automa,on	
  delivers	
  results	
  for	
  a	
  build	
  quickly	
  
Shorter	
  turn-­‐around	
  ,mes	
  change	
  how	
  
engineers	
  work	
  
Test-­‐Driven	
  Development	
  (TDD)	
  is	
  one	
  logical	
  
extreme	
  

Incorporate	
  
Feedback	
  

Get	
  Results	
  

Write	
  
Code	
  

Run	
  
Tests	
  
What Makes for a Good Automated Test?
•  Eliminate repetitive manual tests
•  Yield reproducible results
•  Cover common and edge/error cases
•  Ideally either pure unit or integration test
•  Strive for clarity even when code is gnarly
•  Test for business requirements
Why Not Automate Everything?
•  Writing tests does have a cost
–  May not be appropriate for experimental code
–  May be fragile – UI/mobile automated testing is evolving
–  Difficult or impossible to express design and human factors
•  Thorough testing requires commitment and discipline
–  Writing tests is a short-term pain for a specific individual
–  Test suite as a whole is valuable to the team over time
What	
  do	
  you	
  do	
  with	
  all	
  those	
  	
  
automated	
  tests?	
  
Continuous Integration: A Discipline for Testing Every
Change
Typical CI Setup:

Components that Make for Effective CI:
	
  	
  	
  
	
  	
  	
  Consistent	
  	
  
	
  	
  	
  Run,me	
  
	
  	
  	
  Environment	
  
	
  	
  	
  

I	
  	
  	
  	
  	
  	
  	
  Strong	
  
	
  	
  	
  	
  	
  	
  	
  	
  Isola,on	
  

	
  	
  	
  	
  	
  	
  	
  Detailed	
  
	
  	
  	
  	
  	
  	
  	
  Reproducible	
  
	
  	
  	
  	
  	
  	
  	
  Instrumenta,on	
   	
  	
  	
  	
  	
  	
  	
  Results	
  
Continuous Deployment: Automatically Release Validated
Changes
•  Goal: make release a non-event
–  Popularized by Web 2.0, but much more widely applicable
–  Final decision to deploy may still be manual
•  Valuable to business and engineering sides of the house:
–  Selectively enabled features – feature flags
–  Consistent, widespread measurement
•  Key Ingredients:
–  Small changes, continuously integrated
–  Automated infrastructure (DevOps)
–  Staging/test environment accurately models production
Further Reading

•  Martin Fowler from ThoughtWorks: martinfowler.com
•  Book: Continuous Delivery: Reliable Software (Jez Humble)
•  IMVU: http://timothyfitz.com/2009/02/10/continuous-deployment-atimvu-doing-the-impossible-fifty-times-a-day/
•  Etsy Blog: codeascraft.com
•  Github: teach.github.com/articles/lesson-continuous-delivery/
•  http://info.puppetlabs.com/2013-state-of-devops-report.html
•  http://engineering.quora.com/Continuous-Deployment-at-Quora

More Related Content

What's hot

Usg Web Tech Day 2016 - Continuous Integration, Deployment, and Delivery
Usg Web Tech Day 2016 - Continuous Integration, Deployment, and DeliveryUsg Web Tech Day 2016 - Continuous Integration, Deployment, and Delivery
Usg Web Tech Day 2016 - Continuous Integration, Deployment, and DeliveryStephen Garrett
 
The Hard Problems of Continuous Deployment
The Hard Problems of Continuous DeploymentThe Hard Problems of Continuous Deployment
The Hard Problems of Continuous DeploymentTimothy Fitz
 
Being a Professional Software Developer
Being a Professional Software DeveloperBeing a Professional Software Developer
Being a Professional Software DeveloperAnton Keks
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous DeploymentTimothy Fitz
 
Introduction to Automated Testing
Introduction to Automated TestingIntroduction to Automated Testing
Introduction to Automated TestingLars Thorup
 
Dev ops is more than CI+CD tools
Dev ops is more than CI+CD toolsDev ops is more than CI+CD tools
Dev ops is more than CI+CD toolsSudipta Lahiri
 
SDET approach for Agile Testing
SDET approach for Agile TestingSDET approach for Agile Testing
SDET approach for Agile TestingGopikrishna Kannan
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous DeliveryMike McGarr
 
Extreme programming talk wise consulting - www.talkwiseconsulting
Extreme programming   talk wise consulting - www.talkwiseconsultingExtreme programming   talk wise consulting - www.talkwiseconsulting
Extreme programming talk wise consulting - www.talkwiseconsultingtalkwiseone
 
So you-want-to-go-faster
So you-want-to-go-fasterSo you-want-to-go-faster
So you-want-to-go-fasterOoblioob
 
Software Dev Process In A Nutshell
Software Dev Process In A NutshellSoftware Dev Process In A Nutshell
Software Dev Process In A NutshellOcean Dong
 
[Quang nguyen] Continuous Integration XP Day 2015 Vietnam Danang
[Quang nguyen] Continuous Integration XP Day 2015 Vietnam Danang[Quang nguyen] Continuous Integration XP Day 2015 Vietnam Danang
[Quang nguyen] Continuous Integration XP Day 2015 Vietnam DanangAgile đây Vietnam
 
Software Characterization & Performance Testing - Beat Your Software with a S...
Software Characterization & Performance Testing - Beat Your Software with a S...Software Characterization & Performance Testing - Beat Your Software with a S...
Software Characterization & Performance Testing - Beat Your Software with a S...Tze Chin Tang
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous DeploymentTimothy Fitz
 
Introduction to Continuous Integration
Introduction to Continuous IntegrationIntroduction to Continuous Integration
Introduction to Continuous IntegrationSomkiat Puisungnoen
 
DevOps Summit 2015 Presentation: Continuous Testing At the Speed of DevOps
DevOps Summit 2015 Presentation: Continuous Testing At the Speed of DevOpsDevOps Summit 2015 Presentation: Continuous Testing At the Speed of DevOps
DevOps Summit 2015 Presentation: Continuous Testing At the Speed of DevOpsSailaja Tennati
 
DevOps Tactical Adoption Theory: Continuous Testing
DevOps Tactical Adoption Theory: Continuous TestingDevOps Tactical Adoption Theory: Continuous Testing
DevOps Tactical Adoption Theory: Continuous TestingBerk Dülger
 
Setting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile AppSetting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile AppNaresh Jain
 

What's hot (20)

Usg Web Tech Day 2016 - Continuous Integration, Deployment, and Delivery
Usg Web Tech Day 2016 - Continuous Integration, Deployment, and DeliveryUsg Web Tech Day 2016 - Continuous Integration, Deployment, and Delivery
Usg Web Tech Day 2016 - Continuous Integration, Deployment, and Delivery
 
The Hard Problems of Continuous Deployment
The Hard Problems of Continuous DeploymentThe Hard Problems of Continuous Deployment
The Hard Problems of Continuous Deployment
 
Being a Professional Software Developer
Being a Professional Software DeveloperBeing a Professional Software Developer
Being a Professional Software Developer
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous Deployment
 
Introduction to Automated Testing
Introduction to Automated TestingIntroduction to Automated Testing
Introduction to Automated Testing
 
Dev ops is more than CI+CD tools
Dev ops is more than CI+CD toolsDev ops is more than CI+CD tools
Dev ops is more than CI+CD tools
 
SDET approach for Agile Testing
SDET approach for Agile TestingSDET approach for Agile Testing
SDET approach for Agile Testing
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
Extreme programming talk wise consulting - www.talkwiseconsulting
Extreme programming   talk wise consulting - www.talkwiseconsultingExtreme programming   talk wise consulting - www.talkwiseconsulting
Extreme programming talk wise consulting - www.talkwiseconsulting
 
So you-want-to-go-faster
So you-want-to-go-fasterSo you-want-to-go-faster
So you-want-to-go-faster
 
Software Dev Process In A Nutshell
Software Dev Process In A NutshellSoftware Dev Process In A Nutshell
Software Dev Process In A Nutshell
 
Benefits from AATs
Benefits from AATsBenefits from AATs
Benefits from AATs
 
[Quang nguyen] Continuous Integration XP Day 2015 Vietnam Danang
[Quang nguyen] Continuous Integration XP Day 2015 Vietnam Danang[Quang nguyen] Continuous Integration XP Day 2015 Vietnam Danang
[Quang nguyen] Continuous Integration XP Day 2015 Vietnam Danang
 
Software Characterization & Performance Testing - Beat Your Software with a S...
Software Characterization & Performance Testing - Beat Your Software with a S...Software Characterization & Performance Testing - Beat Your Software with a S...
Software Characterization & Performance Testing - Beat Your Software with a S...
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous Deployment
 
Introduction to Continuous Integration
Introduction to Continuous IntegrationIntroduction to Continuous Integration
Introduction to Continuous Integration
 
Ci Basics & Jenkins
Ci Basics & JenkinsCi Basics & Jenkins
Ci Basics & Jenkins
 
DevOps Summit 2015 Presentation: Continuous Testing At the Speed of DevOps
DevOps Summit 2015 Presentation: Continuous Testing At the Speed of DevOpsDevOps Summit 2015 Presentation: Continuous Testing At the Speed of DevOps
DevOps Summit 2015 Presentation: Continuous Testing At the Speed of DevOps
 
DevOps Tactical Adoption Theory: Continuous Testing
DevOps Tactical Adoption Theory: Continuous TestingDevOps Tactical Adoption Theory: Continuous Testing
DevOps Tactical Adoption Theory: Continuous Testing
 
Setting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile AppSetting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile App
 

Similar to Automated Testing Speeds Up Software Delivery

5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test AutomationSauce Labs
 
Shorten Business Life Cycle Using DevOps
Shorten Business Life Cycle Using DevOpsShorten Business Life Cycle Using DevOps
Shorten Business Life Cycle Using DevOpsPerfecto Mobile
 
Test automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application ServerTest automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application ServerRobbie Minshall
 
Continuous everything
Continuous everythingContinuous everything
Continuous everythingTEST Huddle
 
Software Test Automation
Software Test AutomationSoftware Test Automation
Software Test AutomationYash Patel
 
Introduction to-automated-testing
Introduction to-automated-testingIntroduction to-automated-testing
Introduction to-automated-testingBestBrains
 
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...Roberto Pérez Alcolea
 
Enhancing Quality and Test in Medical Device Design - Part 2.pdf
Enhancing Quality and Test in Medical Device Design - Part 2.pdfEnhancing Quality and Test in Medical Device Design - Part 2.pdf
Enhancing Quality and Test in Medical Device Design - Part 2.pdfICS
 
Solving the 3 Biggest Questions in Continuous Testing
Solving the 3 Biggest Questions in Continuous TestingSolving the 3 Biggest Questions in Continuous Testing
Solving the 3 Biggest Questions in Continuous TestingPerfecto by Perforce
 
Continuous delivery
Continuous deliveryContinuous delivery
Continuous deliveryMasas Dani
 
Automate Everything! (No stress development/Tallinn)
Automate Everything! (No stress development/Tallinn)Automate Everything! (No stress development/Tallinn)
Automate Everything! (No stress development/Tallinn)Arto Santala
 
Continuous delivery @wcap 5-09-2013
Continuous delivery   @wcap 5-09-2013Continuous delivery   @wcap 5-09-2013
Continuous delivery @wcap 5-09-2013David Funaro
 
Agile Acceptance testing with Fitnesse
Agile Acceptance testing with FitnesseAgile Acceptance testing with Fitnesse
Agile Acceptance testing with FitnesseClareMcLennan
 
Agile Engineering Best Practices by Richard Cheng
Agile Engineering Best Practices by Richard ChengAgile Engineering Best Practices by Richard Cheng
Agile Engineering Best Practices by Richard ChengExcella
 
Use Automation to Assist—Not Replace—Manual Testing
Use Automation to Assist—Not Replace—Manual TestingUse Automation to Assist—Not Replace—Manual Testing
Use Automation to Assist—Not Replace—Manual TestingTechWell
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comAviran Mordo
 
How to build confidence in your release cycle
How to build confidence in your release cycleHow to build confidence in your release cycle
How to build confidence in your release cycleDiUS
 
Bugday bkk-2014 nitisak-auto_perf
Bugday bkk-2014 nitisak-auto_perfBugday bkk-2014 nitisak-auto_perf
Bugday bkk-2014 nitisak-auto_perfNitisak Mooltreesri
 

Similar to Automated Testing Speeds Up Software Delivery (20)

5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation
 
Shorten Business Life Cycle Using DevOps
Shorten Business Life Cycle Using DevOpsShorten Business Life Cycle Using DevOps
Shorten Business Life Cycle Using DevOps
 
Test automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application ServerTest automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application Server
 
Continuous everything
Continuous everythingContinuous everything
Continuous everything
 
Software Test Automation
Software Test AutomationSoftware Test Automation
Software Test Automation
 
Introduction to-automated-testing
Introduction to-automated-testingIntroduction to-automated-testing
Introduction to-automated-testing
 
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
 
Enhancing Quality and Test in Medical Device Design - Part 2.pdf
Enhancing Quality and Test in Medical Device Design - Part 2.pdfEnhancing Quality and Test in Medical Device Design - Part 2.pdf
Enhancing Quality and Test in Medical Device Design - Part 2.pdf
 
Solving the 3 Biggest Questions in Continuous Testing
Solving the 3 Biggest Questions in Continuous TestingSolving the 3 Biggest Questions in Continuous Testing
Solving the 3 Biggest Questions in Continuous Testing
 
Continuous delivery
Continuous deliveryContinuous delivery
Continuous delivery
 
Automate Everything! (No stress development/Tallinn)
Automate Everything! (No stress development/Tallinn)Automate Everything! (No stress development/Tallinn)
Automate Everything! (No stress development/Tallinn)
 
AgileTesting_Ver1.0
AgileTesting_Ver1.0AgileTesting_Ver1.0
AgileTesting_Ver1.0
 
Continuous delivery @wcap 5-09-2013
Continuous delivery   @wcap 5-09-2013Continuous delivery   @wcap 5-09-2013
Continuous delivery @wcap 5-09-2013
 
Agile Acceptance testing with Fitnesse
Agile Acceptance testing with FitnesseAgile Acceptance testing with Fitnesse
Agile Acceptance testing with Fitnesse
 
Agile Engineering Best Practices by Richard Cheng
Agile Engineering Best Practices by Richard ChengAgile Engineering Best Practices by Richard Cheng
Agile Engineering Best Practices by Richard Cheng
 
Use Automation to Assist—Not Replace—Manual Testing
Use Automation to Assist—Not Replace—Manual TestingUse Automation to Assist—Not Replace—Manual Testing
Use Automation to Assist—Not Replace—Manual Testing
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.com
 
How to build confidence in your release cycle
How to build confidence in your release cycleHow to build confidence in your release cycle
How to build confidence in your release cycle
 
Bugday bkk-2014 nitisak-auto_perf
Bugday bkk-2014 nitisak-auto_perfBugday bkk-2014 nitisak-auto_perf
Bugday bkk-2014 nitisak-auto_perf
 
Agile testing
Agile testingAgile testing
Agile testing
 

More from Solano Labs

Constant Contact SF's Road to CD
Constant Contact SF's Road to CDConstant Contact SF's Road to CD
Constant Contact SF's Road to CDSolano Labs
 
Testing sad-paths
Testing sad-pathsTesting sad-paths
Testing sad-pathsSolano Labs
 
Why Software Test Performance Matters
Why Software Test Performance MattersWhy Software Test Performance Matters
Why Software Test Performance MattersSolano Labs
 
The 10 Commandments of Release Engineering
The 10 Commandments of Release EngineeringThe 10 Commandments of Release Engineering
The 10 Commandments of Release EngineeringSolano Labs
 
Don't hate, automate. lessons learned from implementing continuous delivery
Don't hate, automate. lessons learned from implementing continuous deliveryDon't hate, automate. lessons learned from implementing continuous delivery
Don't hate, automate. lessons learned from implementing continuous deliverySolano Labs
 
Object-Oriented BDD w/ Cucumber by Matt van Horn
Object-Oriented BDD w/ Cucumber by Matt van HornObject-Oriented BDD w/ Cucumber by Matt van Horn
Object-Oriented BDD w/ Cucumber by Matt van HornSolano Labs
 

More from Solano Labs (6)

Constant Contact SF's Road to CD
Constant Contact SF's Road to CDConstant Contact SF's Road to CD
Constant Contact SF's Road to CD
 
Testing sad-paths
Testing sad-pathsTesting sad-paths
Testing sad-paths
 
Why Software Test Performance Matters
Why Software Test Performance MattersWhy Software Test Performance Matters
Why Software Test Performance Matters
 
The 10 Commandments of Release Engineering
The 10 Commandments of Release EngineeringThe 10 Commandments of Release Engineering
The 10 Commandments of Release Engineering
 
Don't hate, automate. lessons learned from implementing continuous delivery
Don't hate, automate. lessons learned from implementing continuous deliveryDon't hate, automate. lessons learned from implementing continuous delivery
Don't hate, automate. lessons learned from implementing continuous delivery
 
Object-Oriented BDD w/ Cucumber by Matt van Horn
Object-Oriented BDD w/ Cucumber by Matt van HornObject-Oriented BDD w/ Cucumber by Matt van Horn
Object-Oriented BDD w/ Cucumber by Matt van Horn
 

Recently uploaded

Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 

Recently uploaded (20)

Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 

Automated Testing Speeds Up Software Delivery

  • 1. William  Josephson   Co-­‐Founder,  Solano  Labs   @SolanoLabs     Automated  Tes,ng  NYC   Automated  Tes,ng,  Con,nuous  Integra,on  &  Con,nuous  Deployment  
  • 2. Solano Labs – Lets you Test More, Faster Some Metrics on how Fast we have Sped Up our Customers: •  •  •  •  18 hrs serial, 2 + hrs on Parallel Team City w/ local HW to 13 mins 30 min on Jenkins to 6 mins 5 hrs serial PyPy test suite to 15 mins 5 hour queuing to 5 min max wait time Solano Labs © 2013 Confidential 2
  • 3. Some Facts & Figures* High performing organizations: •  Deploy code 30 times more frequently. –  8000 times faster than their peers –  Deploy multiple times a day, versus an average of once a month. •  Have 50 percent fewer failures. •  Restore service 12 times faster than their peers. –  Fewer failures and faster recovery mean less risk to the business when changes are deployed. *Source:  Puppet  Labs  2013  State  of  DevOps  Report  
  • 4. How  are  they  doing  this?   I  don’t  have  all  the  answers…   But  here’s  one:    Automa,on  
  • 5. Automated Testing Does More Than Find Bugs Its Helps Teams Build a Better Product Bug are Common, Difficult to Eliminate & Very Costly Automated Testing: Using software to test software •  Reduces  cost  of  bugs  by   reducing  ,me  between   introduc,on  and  discovery   •  Frees  engineers  to  make   large  changes  fearlessly,   reducing  cycle  ,me   •  Reduces  complexity  and   risk  at  feature  integra,on  
  • 6. Automation: Reduces the Cognitive Feedback Loop Automa,on  shortens  the   cogni,ve  loop  for  engineers     Waiting for tests to run is no fun!     •  •  •  Automa,on  delivers  results  for  a  build  quickly   Shorter  turn-­‐around  ,mes  change  how   engineers  work   Test-­‐Driven  Development  (TDD)  is  one  logical   extreme   Incorporate   Feedback   Get  Results   Write   Code   Run   Tests  
  • 7. What Makes for a Good Automated Test? •  Eliminate repetitive manual tests •  Yield reproducible results •  Cover common and edge/error cases •  Ideally either pure unit or integration test •  Strive for clarity even when code is gnarly •  Test for business requirements
  • 8. Why Not Automate Everything? •  Writing tests does have a cost –  May not be appropriate for experimental code –  May be fragile – UI/mobile automated testing is evolving –  Difficult or impossible to express design and human factors •  Thorough testing requires commitment and discipline –  Writing tests is a short-term pain for a specific individual –  Test suite as a whole is valuable to the team over time
  • 9. What  do  you  do  with  all  those     automated  tests?  
  • 10. Continuous Integration: A Discipline for Testing Every Change Typical CI Setup: Components that Make for Effective CI:            Consistent          Run,me        Environment         I              Strong                  Isola,on                Detailed                Reproducible                Instrumenta,on                Results  
  • 11. Continuous Deployment: Automatically Release Validated Changes •  Goal: make release a non-event –  Popularized by Web 2.0, but much more widely applicable –  Final decision to deploy may still be manual •  Valuable to business and engineering sides of the house: –  Selectively enabled features – feature flags –  Consistent, widespread measurement •  Key Ingredients: –  Small changes, continuously integrated –  Automated infrastructure (DevOps) –  Staging/test environment accurately models production
  • 12. Further Reading •  Martin Fowler from ThoughtWorks: martinfowler.com •  Book: Continuous Delivery: Reliable Software (Jez Humble) •  IMVU: http://timothyfitz.com/2009/02/10/continuous-deployment-atimvu-doing-the-impossible-fifty-times-a-day/ •  Etsy Blog: codeascraft.com •  Github: teach.github.com/articles/lesson-continuous-delivery/ •  http://info.puppetlabs.com/2013-state-of-devops-report.html •  http://engineering.quora.com/Continuous-Deployment-at-Quora