SlideShare a Scribd company logo
1 of 24
Testing in Production - Evgeny Rahman
Testing in Production
A talk about testing, production, what these terms mean, and a look at what people do in order to
keep their businesses running without totally giving up on the former or completely breaking the
latter.
More information about this talk may be available in the server log.
Evgeny Rahman
Testing in Production - Evgeny Rahman
What is “production?”
• An app on a server
• A spreadsheet on a desktop
“The one that matters”
Testing in Production - Evgeny Rahman
How “in production” are you?
• UAT
• Alpha/Beta
• First Release
• Internal/External
• Rollout
• Unknown
Testing in Production - Evgeny Rahman
How “in production” are you?
Deployment != Release
Testing in Production - Evgeny Rahman
Testing
• What is testing?
• Why do we test?
• Who does the testing?
• When do we test?
• Where do we test?
Testing in Production - Evgeny Rahman
The “Real” Testing Pyramid
The Real World
User Acceptance
End to End
Integration
Unit
Testing in Production - Evgeny Rahman
Environments & Data
• Classic
• Dev/Test/Perf-UAT/Prod
• Parity
• Drift
• Maintenance
• *SECRET* The best test data is in Production *SECRET*
Testing in Production - Evgeny Rahman
Testing in Production - Evgeny Rahman
Testing in Production!
“ Program testing can be used to show the presence of bugs,
but never to show their absence! “
– Edsger W Dijkstra
Testing in Production - Evgeny Rahman
Testing in Production - Evgeny Rahman
Real User Monitoring
Testing in Production - Evgeny Rahman
What does the User see?
Expectations Reality
Testing in Production - Evgeny Rahman
Money
• Do you accept payments?
• Can you accept payments?
• Are orders making it through your system?
Testing in Production - Evgeny Rahman
Canary Releases
Feature Flags
Phased Rollouts
Testing in Production - Evgeny Rahman
Dogfooding
Testing in Production - Evgeny Rahman
A/B Testing
Testing in Production - Evgeny Rahman
Chaos
• People and computers out on the Internet
• Users don't follow scripts
• Random failure
• Malice
Testing in Production - Evgeny Rahman
Chaos
• Fault Injection Testing
• Resiliency
• Security
Testing in Production - Evgeny Rahman
Chaos
Testing in Production - Evgeny Rahman
Danger
• Security
• Compliance
• Observability
• Unintended consequences
• Think of the customers!
• Doesn’t replace all other testing
Testing in Production - Evgeny Rahman
Danger
“While any increase in confidence in the system’s resiliency is
positive, it’s still just that: an increase, not a completion of
perfect confidence. Any complex system can (and will) fail in
surprising ways.”
- John Allspaw, Etsy
Testing in Production - Evgeny Rahman
Resources
• https://medium.com/netflix-techblog/fit-failure-injection-testing-
35d8e2a9bb2
• https://medium.com/@copyconstruct/testing-in-production-the-safe-
way-18ca102d0ef1
• https://opensource.com/article/17/8/testing-production
• https://martinfowler.com/articles/practical-test-pyramid.html
• https://featureflags.io/canary-testing/
TESTING_IN_PRODUCTION - Evgeny Rahman
This is the Q&A Section
Please:
• Ask me questions
• Comments are also welcome
• My LinkedIn profile is at
https://www.linkedin.com/in/evgenyrahman/
Testing in Production - Evgeny Rahman
Thank you!

More Related Content

What's hot

Test Strategy-The real silver bullet in testing by Matthew Eakin
Test Strategy-The real silver bullet in testing by Matthew EakinTest Strategy-The real silver bullet in testing by Matthew Eakin
Test Strategy-The real silver bullet in testing by Matthew EakinQA or the Highway
 
The limits of unit testing by Craig Stuntz
The limits of unit testing by Craig StuntzThe limits of unit testing by Craig Stuntz
The limits of unit testing by Craig StuntzQA or the Highway
 
Addressing the elephant through persistence and perseverance
Addressing the elephant through persistence and perseveranceAddressing the elephant through persistence and perseverance
Addressing the elephant through persistence and perseveranceRanjeet Pethe
 
Scaling Your Tests: Continued Change Without Fear
Scaling Your Tests: Continued Change Without FearScaling Your Tests: Continued Change Without Fear
Scaling Your Tests: Continued Change Without FearTechWell
 
Machine learning in software testing
Machine learning in software testingMachine learning in software testing
Machine learning in software testingThoughtworks
 
Regression Testing: Down the Rabbit Hole (MEWT 2014)
Regression Testing: Down the Rabbit Hole (MEWT 2014)Regression Testing: Down the Rabbit Hole (MEWT 2014)
Regression Testing: Down the Rabbit Hole (MEWT 2014)Neil Studd
 
Boston MeetUp 10.10
Boston MeetUp 10.10Boston MeetUp 10.10
Boston MeetUp 10.10Solano Labs
 
Build FAST with parallel_calabash
Build FAST with parallel_calabashBuild FAST with parallel_calabash
Build FAST with parallel_calabashThoughtworks
 
What You are Doing Wrong with Automated Testing
What You are Doing Wrong with Automated TestingWhat You are Doing Wrong with Automated Testing
What You are Doing Wrong with Automated Testingshawnfaunce
 
The 3 Top Techniques for Web Security Testing Using a Proxy
The 3 Top Techniques for Web Security Testing Using a ProxyThe 3 Top Techniques for Web Security Testing Using a Proxy
The 3 Top Techniques for Web Security Testing Using a ProxyTEST Huddle
 
Application Performance Testing: A Simplified Universal Approach
Application Performance Testing: A Simplified Universal ApproachApplication Performance Testing: A Simplified Universal Approach
Application Performance Testing: A Simplified Universal ApproachTechWell
 
A lean automation blueprint for testing in continuous delivery
A lean automation blueprint for testing in continuous deliveryA lean automation blueprint for testing in continuous delivery
A lean automation blueprint for testing in continuous deliverySauce Labs
 
Test management struggles and challenges in SDLC
Test management struggles and challenges in SDLCTest management struggles and challenges in SDLC
Test management struggles and challenges in SDLCFumikazu FUJIWARA
 
How to use selenium successfully
How to use selenium successfullyHow to use selenium successfully
How to use selenium successfullyTEST Huddle
 
Robert and Anne Sabourin: Gauging Software Health
Robert and Anne Sabourin: Gauging Software HealthRobert and Anne Sabourin: Gauging Software Health
Robert and Anne Sabourin: Gauging Software HealthAnna Royzman
 
Integration Testing in Enterprises using TaaS
Integration Testing in Enterprises using TaaSIntegration Testing in Enterprises using TaaS
Integration Testing in Enterprises using TaaSAnand Bagmar
 
Rapid Performance Testing: No Load Generation Required
Rapid Performance Testing: No Load Generation RequiredRapid Performance Testing: No Load Generation Required
Rapid Performance Testing: No Load Generation RequiredTechWell
 
Defect root cause analysis, Андрей Титаренко
Defect root cause analysis, Андрей ТитаренкоDefect root cause analysis, Андрей Титаренко
Defect root cause analysis, Андрей ТитаренкоSigma Software
 
Agile testingandautomation
Agile testingandautomationAgile testingandautomation
Agile testingandautomationjeisner
 

What's hot (20)

Test Strategy-The real silver bullet in testing by Matthew Eakin
Test Strategy-The real silver bullet in testing by Matthew EakinTest Strategy-The real silver bullet in testing by Matthew Eakin
Test Strategy-The real silver bullet in testing by Matthew Eakin
 
The limits of unit testing by Craig Stuntz
The limits of unit testing by Craig StuntzThe limits of unit testing by Craig Stuntz
The limits of unit testing by Craig Stuntz
 
Addressing the elephant through persistence and perseverance
Addressing the elephant through persistence and perseveranceAddressing the elephant through persistence and perseverance
Addressing the elephant through persistence and perseverance
 
Scaling Your Tests: Continued Change Without Fear
Scaling Your Tests: Continued Change Without FearScaling Your Tests: Continued Change Without Fear
Scaling Your Tests: Continued Change Without Fear
 
Machine learning in software testing
Machine learning in software testingMachine learning in software testing
Machine learning in software testing
 
10 qa and testing
10 qa and testing10 qa and testing
10 qa and testing
 
Regression Testing: Down the Rabbit Hole (MEWT 2014)
Regression Testing: Down the Rabbit Hole (MEWT 2014)Regression Testing: Down the Rabbit Hole (MEWT 2014)
Regression Testing: Down the Rabbit Hole (MEWT 2014)
 
Boston MeetUp 10.10
Boston MeetUp 10.10Boston MeetUp 10.10
Boston MeetUp 10.10
 
Build FAST with parallel_calabash
Build FAST with parallel_calabashBuild FAST with parallel_calabash
Build FAST with parallel_calabash
 
What You are Doing Wrong with Automated Testing
What You are Doing Wrong with Automated TestingWhat You are Doing Wrong with Automated Testing
What You are Doing Wrong with Automated Testing
 
The 3 Top Techniques for Web Security Testing Using a Proxy
The 3 Top Techniques for Web Security Testing Using a ProxyThe 3 Top Techniques for Web Security Testing Using a Proxy
The 3 Top Techniques for Web Security Testing Using a Proxy
 
Application Performance Testing: A Simplified Universal Approach
Application Performance Testing: A Simplified Universal ApproachApplication Performance Testing: A Simplified Universal Approach
Application Performance Testing: A Simplified Universal Approach
 
A lean automation blueprint for testing in continuous delivery
A lean automation blueprint for testing in continuous deliveryA lean automation blueprint for testing in continuous delivery
A lean automation blueprint for testing in continuous delivery
 
Test management struggles and challenges in SDLC
Test management struggles and challenges in SDLCTest management struggles and challenges in SDLC
Test management struggles and challenges in SDLC
 
How to use selenium successfully
How to use selenium successfullyHow to use selenium successfully
How to use selenium successfully
 
Robert and Anne Sabourin: Gauging Software Health
Robert and Anne Sabourin: Gauging Software HealthRobert and Anne Sabourin: Gauging Software Health
Robert and Anne Sabourin: Gauging Software Health
 
Integration Testing in Enterprises using TaaS
Integration Testing in Enterprises using TaaSIntegration Testing in Enterprises using TaaS
Integration Testing in Enterprises using TaaS
 
Rapid Performance Testing: No Load Generation Required
Rapid Performance Testing: No Load Generation RequiredRapid Performance Testing: No Load Generation Required
Rapid Performance Testing: No Load Generation Required
 
Defect root cause analysis, Андрей Титаренко
Defect root cause analysis, Андрей ТитаренкоDefect root cause analysis, Андрей Титаренко
Defect root cause analysis, Андрей Титаренко
 
Agile testingandautomation
Agile testingandautomationAgile testingandautomation
Agile testingandautomation
 

Similar to Testing in Production - Evgeny Rahman

DevDay 2016: Dave Farley - Acceptance testing for continuous delivery
DevDay 2016: Dave Farley - Acceptance testing for continuous deliveryDevDay 2016: Dave Farley - Acceptance testing for continuous delivery
DevDay 2016: Dave Farley - Acceptance testing for continuous deliveryDevDay Dresden
 
Why Automated Testing Matters To DevOps
Why Automated Testing Matters To DevOpsWhy Automated Testing Matters To DevOps
Why Automated Testing Matters To DevOpsdpaulmerrill
 
The DevOps Dance - Shift Left, Shift Right - Get It Right
The DevOps Dance - Shift Left, Shift Right - Get It RightThe DevOps Dance - Shift Left, Shift Right - Get It Right
The DevOps Dance - Shift Left, Shift Right - Get It RightInflectra
 
It takes a village to build a quality product
It takes a village to build a quality productIt takes a village to build a quality product
It takes a village to build a quality productAnne-Marie Charrett
 
Continuous delivery is more than dev ops
Continuous delivery is more than dev opsContinuous delivery is more than dev ops
Continuous delivery is more than dev opsAgile Montréal
 
Exploratory testing using heuristics
Exploratory testing using heuristicsExploratory testing using heuristics
Exploratory testing using heuristicsMichelle Lagare, CSM
 
Fantastic Tests - The Crimes of Bad Test Design
Fantastic Tests - The Crimes of Bad Test DesignFantastic Tests - The Crimes of Bad Test Design
Fantastic Tests - The Crimes of Bad Test DesignWinston Laoh
 
Real%20 world%20software%20testing%20white%20backgoround1
Real%20 world%20software%20testing%20white%20backgoround1Real%20 world%20software%20testing%20white%20backgoround1
Real%20 world%20software%20testing%20white%20backgoround1Varun Sharma
 
Beyond TDD: Enabling Your Team to Continuously Deliver Software
Beyond TDD: Enabling Your Team to Continuously Deliver SoftwareBeyond TDD: Enabling Your Team to Continuously Deliver Software
Beyond TDD: Enabling Your Team to Continuously Deliver SoftwareChris Weldon
 
Check This - Test Automation, A Development Managers View
Check This - Test Automation, A Development Managers ViewCheck This - Test Automation, A Development Managers View
Check This - Test Automation, A Development Managers ViewStephen Janaway
 
Manual Testing tutorials and Interview Questions.pptx
Manual Testing tutorials and Interview Questions.pptxManual Testing tutorials and Interview Questions.pptx
Manual Testing tutorials and Interview Questions.pptxPrasanta Sahoo
 
Mt s1 basic_fundamentals
Mt s1 basic_fundamentalsMt s1 basic_fundamentals
Mt s1 basic_fundamentalsTestingGeeks
 
5 Ways to make load testing work for you
5 Ways to make load testing work for you5 Ways to make load testing work for you
5 Ways to make load testing work for youIsrael Rogoza
 
Continuous Delivery & Testing Madrid AfterTest
Continuous Delivery & Testing Madrid AfterTestContinuous Delivery & Testing Madrid AfterTest
Continuous Delivery & Testing Madrid AfterTestPeter Marshall
 
Moving to Continuous Delivery Without Breaking Your Code
Moving to Continuous Delivery Without Breaking Your CodeMoving to Continuous Delivery Without Breaking Your Code
Moving to Continuous Delivery Without Breaking Your CodeXebiaLabs
 
Tune Agile Test Strategies to Project and Product Maturity
Tune Agile Test Strategies to Project and Product MaturityTune Agile Test Strategies to Project and Product Maturity
Tune Agile Test Strategies to Project and Product MaturityTechWell
 
Your Team’s Not Agile If You’re Not Doing Agile Testing
Your Team’s Not Agile If You’re Not Doing Agile TestingYour Team’s Not Agile If You’re Not Doing Agile Testing
Your Team’s Not Agile If You’re Not Doing Agile TestingTechWell
 

Similar to Testing in Production - Evgeny Rahman (20)

DevDay 2016: Dave Farley - Acceptance testing for continuous delivery
DevDay 2016: Dave Farley - Acceptance testing for continuous deliveryDevDay 2016: Dave Farley - Acceptance testing for continuous delivery
DevDay 2016: Dave Farley - Acceptance testing for continuous delivery
 
Why Automated Testing Matters To DevOps
Why Automated Testing Matters To DevOpsWhy Automated Testing Matters To DevOps
Why Automated Testing Matters To DevOps
 
The DevOps Dance - Shift Left, Shift Right - Get It Right
The DevOps Dance - Shift Left, Shift Right - Get It RightThe DevOps Dance - Shift Left, Shift Right - Get It Right
The DevOps Dance - Shift Left, Shift Right - Get It Right
 
It takes a village to build a quality product
It takes a village to build a quality productIt takes a village to build a quality product
It takes a village to build a quality product
 
Continuous delivery is more than dev ops
Continuous delivery is more than dev opsContinuous delivery is more than dev ops
Continuous delivery is more than dev ops
 
Exploratory testing using heuristics
Exploratory testing using heuristicsExploratory testing using heuristics
Exploratory testing using heuristics
 
Fantastic Tests - The Crimes of Bad Test Design
Fantastic Tests - The Crimes of Bad Test DesignFantastic Tests - The Crimes of Bad Test Design
Fantastic Tests - The Crimes of Bad Test Design
 
Dallas Techologies
Dallas TechologiesDallas Techologies
Dallas Techologies
 
Real%20 world%20software%20testing%20white%20backgoround1
Real%20 world%20software%20testing%20white%20backgoround1Real%20 world%20software%20testing%20white%20backgoround1
Real%20 world%20software%20testing%20white%20backgoround1
 
Beyond TDD: Enabling Your Team to Continuously Deliver Software
Beyond TDD: Enabling Your Team to Continuously Deliver SoftwareBeyond TDD: Enabling Your Team to Continuously Deliver Software
Beyond TDD: Enabling Your Team to Continuously Deliver Software
 
Check This - Test Automation, A Development Managers View
Check This - Test Automation, A Development Managers ViewCheck This - Test Automation, A Development Managers View
Check This - Test Automation, A Development Managers View
 
Manual Testing tutorials and Interview Questions.pptx
Manual Testing tutorials and Interview Questions.pptxManual Testing tutorials and Interview Questions.pptx
Manual Testing tutorials and Interview Questions.pptx
 
Mt s1 basic_fundamentals
Mt s1 basic_fundamentalsMt s1 basic_fundamentals
Mt s1 basic_fundamentals
 
5 Ways to make load testing work for you
5 Ways to make load testing work for you5 Ways to make load testing work for you
5 Ways to make load testing work for you
 
Continuous Delivery & Testing Madrid AfterTest
Continuous Delivery & Testing Madrid AfterTestContinuous Delivery & Testing Madrid AfterTest
Continuous Delivery & Testing Madrid AfterTest
 
Moving to Continuous Delivery Without Breaking Your Code
Moving to Continuous Delivery Without Breaking Your CodeMoving to Continuous Delivery Without Breaking Your Code
Moving to Continuous Delivery Without Breaking Your Code
 
Tune Agile Test Strategies to Project and Product Maturity
Tune Agile Test Strategies to Project and Product MaturityTune Agile Test Strategies to Project and Product Maturity
Tune Agile Test Strategies to Project and Product Maturity
 
Software testing
Software testingSoftware testing
Software testing
 
SoftwareTesting
SoftwareTestingSoftwareTesting
SoftwareTesting
 
Your Team’s Not Agile If You’re Not Doing Agile Testing
Your Team’s Not Agile If You’re Not Doing Agile TestingYour Team’s Not Agile If You’re Not Doing Agile Testing
Your Team’s Not Agile If You’re Not Doing Agile Testing
 

Recently uploaded

Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?Watsoo Telematics
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 

Recently uploaded (20)

Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 

Testing in Production - Evgeny Rahman

  • 1. Testing in Production - Evgeny Rahman Testing in Production A talk about testing, production, what these terms mean, and a look at what people do in order to keep their businesses running without totally giving up on the former or completely breaking the latter. More information about this talk may be available in the server log. Evgeny Rahman
  • 2. Testing in Production - Evgeny Rahman What is “production?” • An app on a server • A spreadsheet on a desktop “The one that matters”
  • 3. Testing in Production - Evgeny Rahman How “in production” are you? • UAT • Alpha/Beta • First Release • Internal/External • Rollout • Unknown
  • 4. Testing in Production - Evgeny Rahman How “in production” are you? Deployment != Release
  • 5. Testing in Production - Evgeny Rahman Testing • What is testing? • Why do we test? • Who does the testing? • When do we test? • Where do we test?
  • 6. Testing in Production - Evgeny Rahman The “Real” Testing Pyramid The Real World User Acceptance End to End Integration Unit
  • 7. Testing in Production - Evgeny Rahman Environments & Data • Classic • Dev/Test/Perf-UAT/Prod • Parity • Drift • Maintenance • *SECRET* The best test data is in Production *SECRET*
  • 8. Testing in Production - Evgeny Rahman
  • 9. Testing in Production - Evgeny Rahman Testing in Production! “ Program testing can be used to show the presence of bugs, but never to show their absence! “ – Edsger W Dijkstra
  • 10. Testing in Production - Evgeny Rahman
  • 11. Testing in Production - Evgeny Rahman Real User Monitoring
  • 12. Testing in Production - Evgeny Rahman What does the User see? Expectations Reality
  • 13. Testing in Production - Evgeny Rahman Money • Do you accept payments? • Can you accept payments? • Are orders making it through your system?
  • 14. Testing in Production - Evgeny Rahman Canary Releases Feature Flags Phased Rollouts
  • 15. Testing in Production - Evgeny Rahman Dogfooding
  • 16. Testing in Production - Evgeny Rahman A/B Testing
  • 17. Testing in Production - Evgeny Rahman Chaos • People and computers out on the Internet • Users don't follow scripts • Random failure • Malice
  • 18. Testing in Production - Evgeny Rahman Chaos • Fault Injection Testing • Resiliency • Security
  • 19. Testing in Production - Evgeny Rahman Chaos
  • 20. Testing in Production - Evgeny Rahman Danger • Security • Compliance • Observability • Unintended consequences • Think of the customers! • Doesn’t replace all other testing
  • 21. Testing in Production - Evgeny Rahman Danger “While any increase in confidence in the system’s resiliency is positive, it’s still just that: an increase, not a completion of perfect confidence. Any complex system can (and will) fail in surprising ways.” - John Allspaw, Etsy
  • 22. Testing in Production - Evgeny Rahman Resources • https://medium.com/netflix-techblog/fit-failure-injection-testing- 35d8e2a9bb2 • https://medium.com/@copyconstruct/testing-in-production-the-safe- way-18ca102d0ef1 • https://opensource.com/article/17/8/testing-production • https://martinfowler.com/articles/practical-test-pyramid.html • https://featureflags.io/canary-testing/
  • 23. TESTING_IN_PRODUCTION - Evgeny Rahman This is the Q&A Section Please: • Ask me questions • Comments are also welcome • My LinkedIn profile is at https://www.linkedin.com/in/evgenyrahman/
  • 24. Testing in Production - Evgeny Rahman Thank you!

Editor's Notes

  1. I'm Evgeny, I work on the MVP team. I work on MVPs.
  2. Alpha/Beta Alpha First testable version. Prone to being buggy. Beta More stable than alpha. Some software perpetually in Beta (Gmail) Unknown Low traffic site "Brochureware" site Next slide - Deployment != Release
  3. Alpha/Beta Alpha First testable version. Prone to being buggy. Beta More stable than alpha. Some software perpetually in Beta (Gmail) Unknown Low traffic site "Brochureware" site Deployment != Release
  4. Measuring against an expected outcome Do you do anything different if a test fails?
  5. Should you integrate with a dev environment or with a production environment? Licensing/logistical issues for data and integrations in lower environments Unpredictability of behavior and combination of variables in Production is tough to consistently replicate in lower environments User data copied from Production needs to be scrubbed and things like emails get tricky
  6. Is your application or service designed with supportability in mind? Does it know what environment it is in? Is it easy to tell what is going on? “Cell Phone Plan” support - unlimited nights and weekends
  7. Don’t be this guy
  8. Real User Testing See how users are doing with your software Don’t “track” users if you don’t need to – this is about your software, not private individuals
  9. The user might not be on a fancy machine with a high speed connection
  10. The most important slide of all Who cares if your animations work if your bank account is empty
  11. A little release to see how it does
  12. Microsoft “Drinking our own champagne” Be your own customer Use for UAT Usability Production Support Anything! Careful
  13. Test your hypothesis Collect real data
  14. There is a whole suite of tools called the Simian Army Why let hackers have all the fun?