SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Destaque

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
 

Destaque (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
 

Último

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
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
 

Último (20)

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
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
 

Continuous improvement - Selenium Conf 2013