SlideShare une entreprise Scribd logo
1  sur  38
ContinuousImprovement
HowrapidreleasecyclesalterQAandtesting.
NoahSussman
SeleniumConf2013
@noahsussman
#seconf
TheCanonicalAgileReleaseCycle
Sprintsoftwoweeksormoreinlength.
Startdeploymentprocessattheendofthesprint.
QAispartofthedeploymentprocess.
QAmustbecompletebeforenewcodegoeslive.
TheContinuousDeliveryEnvironment
Minimumviablefeatureset.
Deploymentisdecoupledfromrelease.
Real-timedataonhowreleasesimpactrevenue.
Constanttweakstolivefeatures.
HowContinousDeliveryDiffersFrom
“Canonical”AgileProcess
Largefeaturesaredeployedpiecemealovertime
ConfigFlags
Darklaunches
Wire-Offs
EveryfeatureispartofanA/Bcampaign
Thereisno“DoneDone”
Releasingafeature
isdecoupledfrom
deployingcode.
David E. Smith http://www.flickr.com/photos/david_e_smith/3566697122
Anairportwithout
anairtrafficcontroller.
—ChadDickerson
ObservedBehaviorOfComplexSystems
Emergentbehaviorsrequireunplannedresponses.
Improvements,tooarediscoverednotdesigned.
Usersofthesystemhavecomplexexpectations.
Suchsystemsarenever“complete.”
QAHappensWhen?
Firstofall,whatis“QualityAssurance?”
Authoritativelyassuringthattherearenodefects?
No.Becausecompletetestingisimpossible.
Wearenotcustodians
ofinherentlysafe
systems.
—SidneyDekker
Testingiseveryone’sjob.
Library of Congress
FalsehoodsAboutQualityAssurance
Thereareafinitenumberofbugs.
Thereareafinitenumberofdetectablebugs.
Allseverityonebugscanbefoundbeforerelease.
Softwareisbuilttospecifications.
Atsomepoint,softwareisfinished.
AndTheBiggestMythAboutQA…
FALSE:Allbugshavelarge,complex,unpredictablecauses.
Infact,manybugs—evenseverity1productionissues—
resultfromerrorsthatatfirstglanceappeartrivial.
John Allspaw
ManySmallAnomaliesCombined
The“SwissCheese”modelofriskpresentsuswitha
strongcaseforprioritizingtheeliminationofsmall
errorsratherthanfocusingonthemitigationoflarge
catastrophicfailures.
Unittestingisgreatateliminatingsmallerrors.
Safetyisanemergentproperty…its
erosionisnotaboutthebreakageor
lackofqualityofsinglecomponents…
managingqualityisaboutsingle
components,aboutseeinghowthey
meetparticularspecifications…
—SidneyDekker
…thebestsoftwareengineering
principles…qualityassurance,
testing…thehigheststandards—
it'snotgoingtobeenough
—NancyLeveson
Leveson’s3PracticesForLimitingRisk
1.Oversight.
2.Limitingcomplexity.
3.Systemsthinking.
CharacteristicsofResilientSoftware
Readablecode.
Reasonableautomatedtestcoverage.
Sanearchitecture.
Gooddebuggingtools.
Anengineeringculturethatvaluesrefactoring.
QAHappensWhen???
Exploratorytestingcanbeperformedanytime.
Rigorous,scientificapproach.
Focusoncustomersatisfactionratherthanaspec.
Equallyusefulbeforeorafterarelease.
…exploratorytestingistestdesignandtest
executionatthesametime.Thisisthe
oppositeofscriptedtesting(predefined
testprocedures,whethermanualor
automated).Exploratorytests,unlike
scriptedtests,arenotdefinedinadvance
andcarriedoutpreciselyaccordingtoplan.
—JamesMarcusBach
ExploratoryTesting
AddressesareasthatDeveloperTestingcan’t.
Unit&Integrationtestsvalidateassumptions.
There’salsoaneedtoinvalidateassumptions.
ManualTesting
Itdoesn’talwayslooklikeyouthinkitlooks.
Real-TimeMonitoringisthenewfaceofmanualtesting.
Sufficientlyadvanced
monitoringis
indistinguishable
fromtesting.
—EdKeyes
CaseStudy:WatchingTheGraphs
Asof2012,Etsycollected>250,000real-timemetrics.
Decidingwhichmetricsmatterisahumanproblem.
Humanvisionexcelsatanomalydetection.
Thus,atEtsy,everyonewatchesasubsetofthegraphs.
Anomalydetectionishard.
Mostbugs,mostofthetime,are
easilynailedgivenevenan
incompletebutsuggestive
characterizationoftheirerror
conditionsatsource-codelevel.
—EricS.Raymond
Sourcecode,diffsandlogs.
IfyourQAAnalystsdon’tlookatthese,teachthem!
Keepthefeedbackloopshort.
PayCloseAttentionToYour
Effeciency-ToThoroughness-Trade-Offs
Continuousreleasecycleshavedifferentrisksthan
monthlyorquarterlyreleasecycles.
ButnoaspectofContinuousDeliveryislessrisky.
ThereIsNoSpecification
Watchyourgraphs.
Testyourwholesystem.
Incrementallyimproveyourproduct.
Questions?
ns@noahsussman.com
@noahsussman
falsehoodsabouttime.com
FurtherReading
“How Google Tests Software,” James Whittaker (especially chapter 5)
“Look At Your Data,” John Rausser
“Optimizing For Developer Happiness,” Chad Dickerson
“Outages, Postmortems and Human Error,” John Allspaw
“Prevention versus Governance versus Adaptive Capacities”, John Allspaw
The Swiss Cheese Model of Risk (Wikipedia)
The ETTO Principle (Wikipedia)
“What Is Exploratory Testing?,” James Marcus Bach
“How Many Eyeballs Tame Complexity,” Eric S. Raymond
“The Timeless Way of Building,” Christopher Alexander
“Ten Questions about Human Error”, Sidney Dekker
“Sufficiently Advanced Monitoring is Indistinguishable From Testing”, Ed Keyes
“SEC Technology Roundtable 10/2/2012”, Nancy Leveson
“Reliable Software Systems Design,” Gerard J. Holzmann
“The Power of Ten: Rules for Developing Safety Critical Code,” Gerard J. Holzmann

Contenu connexe

En vedette

Interview with the Vampire
Interview with the VampireInterview with the Vampire
Interview with the VampireGil Zilberfeld
 
Transitioning from Traditional to Modern QA
Transitioning from Traditional to Modern QATransitioning from Traditional to Modern QA
Transitioning from Traditional to Modern QASauce Labs
 
Continous improvement
Continous improvementContinous improvement
Continous improvementMichał Gruca
 
Continous improvement tools
Continous improvement toolsContinous improvement tools
Continous improvement toolsDEPROCESS
 
Ignite Talk: Help, we have no more time for testing!
Ignite Talk: Help, we have no more time for testing!Ignite Talk: Help, we have no more time for testing!
Ignite Talk: Help, we have no more time for testing!Dr. Alexander Schwartz
 
Design Patterns for Scalable Test Automation With Selenium & WebdriverIO
Design Patterns for Scalable Test Automation With Selenium & WebdriverIODesign Patterns for Scalable Test Automation With Selenium & WebdriverIO
Design Patterns for Scalable Test Automation With Selenium & WebdriverIOSauce Labs
 
Continous Improvement: How To Make it Happen
Continous Improvement: How To Make it HappenContinous Improvement: How To Make it Happen
Continous Improvement: How To Make it HappenJason Little
 
Selenium and Appium Training from Sauce Labs
Selenium and Appium Training from Sauce LabsSelenium and Appium Training from Sauce Labs
Selenium and Appium Training from Sauce LabsSauce Labs
 
Fringe Accessibility: London Web Standards
Fringe Accessibility: London Web StandardsFringe Accessibility: London Web Standards
Fringe Accessibility: London Web StandardsAdrian Roselli
 
Automation Best Practices
Automation Best PracticesAutomation Best Practices
Automation Best PracticesSauce Labs
 
Practical Tips & Tricks for Selenium Test Automation
Practical Tips & Tricks for Selenium Test AutomationPractical Tips & Tricks for Selenium Test Automation
Practical Tips & Tricks for Selenium Test AutomationSauce Labs
 
Outages, PostMortems, and Human Error
Outages, PostMortems, and Human ErrorOutages, PostMortems, and Human Error
Outages, PostMortems, and Human ErrorJohn Allspaw
 
Scaling Etsy: What Went Wrong, What Went Right
Scaling Etsy: What Went Wrong, What Went RightScaling Etsy: What Went Wrong, What Went Right
Scaling Etsy: What Went Wrong, What Went RightRoss Snyder
 
High School Continuous Improvement Presentation
High School Continuous Improvement PresentationHigh School Continuous Improvement Presentation
High School Continuous Improvement PresentationJay Marino
 
Selfish Accessibility: Government Digital Service
Selfish Accessibility: Government Digital ServiceSelfish Accessibility: Government Digital Service
Selfish Accessibility: Government Digital ServiceAdrian Roselli
 
Railway Oriented Programming
Railway Oriented ProgrammingRailway Oriented Programming
Railway Oriented ProgrammingScott Wlaschin
 
Domain Driven Design with the F# type System -- F#unctional Londoners 2014
Domain Driven Design with the F# type System -- F#unctional Londoners 2014Domain Driven Design with the F# type System -- F#unctional Londoners 2014
Domain Driven Design with the F# type System -- F#unctional Londoners 2014Scott Wlaschin
 

En vedette (17)

Interview with the Vampire
Interview with the VampireInterview with the Vampire
Interview with the Vampire
 
Transitioning from Traditional to Modern QA
Transitioning from Traditional to Modern QATransitioning from Traditional to Modern QA
Transitioning from Traditional to Modern QA
 
Continous improvement
Continous improvementContinous improvement
Continous improvement
 
Continous improvement tools
Continous improvement toolsContinous improvement tools
Continous improvement tools
 
Ignite Talk: Help, we have no more time for testing!
Ignite Talk: Help, we have no more time for testing!Ignite Talk: Help, we have no more time for testing!
Ignite Talk: Help, we have no more time for testing!
 
Design Patterns for Scalable Test Automation With Selenium & WebdriverIO
Design Patterns for Scalable Test Automation With Selenium & WebdriverIODesign Patterns for Scalable Test Automation With Selenium & WebdriverIO
Design Patterns for Scalable Test Automation With Selenium & WebdriverIO
 
Continous Improvement: How To Make it Happen
Continous Improvement: How To Make it HappenContinous Improvement: How To Make it Happen
Continous Improvement: How To Make it Happen
 
Selenium and Appium Training from Sauce Labs
Selenium and Appium Training from Sauce LabsSelenium and Appium Training from Sauce Labs
Selenium and Appium Training from Sauce Labs
 
Fringe Accessibility: London Web Standards
Fringe Accessibility: London Web StandardsFringe Accessibility: London Web Standards
Fringe Accessibility: London Web Standards
 
Automation Best Practices
Automation Best PracticesAutomation Best Practices
Automation Best Practices
 
Practical Tips & Tricks for Selenium Test Automation
Practical Tips & Tricks for Selenium Test AutomationPractical Tips & Tricks for Selenium Test Automation
Practical Tips & Tricks for Selenium Test Automation
 
Outages, PostMortems, and Human Error
Outages, PostMortems, and Human ErrorOutages, PostMortems, and Human Error
Outages, PostMortems, and Human Error
 
Scaling Etsy: What Went Wrong, What Went Right
Scaling Etsy: What Went Wrong, What Went RightScaling Etsy: What Went Wrong, What Went Right
Scaling Etsy: What Went Wrong, What Went Right
 
High School Continuous Improvement Presentation
High School Continuous Improvement PresentationHigh School Continuous Improvement Presentation
High School Continuous Improvement Presentation
 
Selfish Accessibility: Government Digital Service
Selfish Accessibility: Government Digital ServiceSelfish Accessibility: Government Digital Service
Selfish Accessibility: Government Digital Service
 
Railway Oriented Programming
Railway Oriented ProgrammingRailway Oriented Programming
Railway Oriented Programming
 
Domain Driven Design with the F# type System -- F#unctional Londoners 2014
Domain Driven Design with the F# type System -- F#unctional Londoners 2014Domain Driven Design with the F# type System -- F#unctional Londoners 2014
Domain Driven Design with the F# type System -- F#unctional Londoners 2014
 

Dernier

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 

Dernier (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

Continuous improvement - Selenium Conf 2013