SlideShare a Scribd company logo
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 Eakin
QA 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 Stuntz
QA 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 perseverance
Ranjeet 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 Fear
TechWell
 
Machine learning in software testing
Machine learning in software testingMachine learning in software testing
Machine learning in software testing
Thoughtworks
 
10 qa and testing
10 qa and testing10 qa and testing
10 qa and testing
Daniel Gordon
 
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.10
Solano Labs
 
Build FAST with parallel_calabash
Build FAST with parallel_calabashBuild FAST with parallel_calabash
Build FAST with parallel_calabash
Thoughtworks
 
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
shawnfaunce
 
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
TEST 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 Approach
TechWell
 
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
Sauce 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 SDLC
Fumikazu FUJIWARA
 
How to use selenium successfully
How to use selenium successfullyHow to use selenium successfully
How to use selenium successfully
TEST 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 Health
Anna Royzman
 
Integration Testing in Enterprises using TaaS
Integration Testing in Enterprises using TaaSIntegration Testing in Enterprises using TaaS
Integration Testing in Enterprises using TaaS
Anand 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 Required
TechWell
 
Defect root cause analysis, Андрей Титаренко
Defect root cause analysis, Андрей ТитаренкоDefect root cause analysis, Андрей Титаренко
Defect root cause analysis, Андрей Титаренко
Sigma Software
 
Agile testingandautomation
Agile testingandautomationAgile testingandautomation
Agile testingandautomation
jeisner
 

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

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
DevDay Dresden
 
Why Automated Testing Matters To DevOps
Why Automated Testing Matters To DevOpsWhy Automated Testing Matters To DevOps
Why Automated Testing Matters To DevOps
dpaulmerrill
 
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
Inflectra
 
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
Anne-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 ops
Agile Montréal
 
Exploratory testing using heuristics
Exploratory testing using heuristicsExploratory testing using heuristics
Exploratory testing using heuristics
Michelle 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 Design
Winston Laoh
 
Dallas Techologies
Dallas TechologiesDallas Techologies
Dallas Techologies
DallasTechnologies
 
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
Varun 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 Software
Chris 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 View
Stephen 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.pptx
Prasanta 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 you
Israel Rogoza
 
Continuous Delivery & Testing Madrid AfterTest
Continuous Delivery & Testing Madrid AfterTestContinuous Delivery & Testing Madrid AfterTest
Continuous Delivery & Testing Madrid AfterTest
Peter 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 Code
XebiaLabs
 
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
TechWell
 
Software testing
Software testingSoftware testing
Software testing
Omar Al-Bokari
 
SoftwareTesting
SoftwareTestingSoftwareTesting
SoftwareTesting
Dharaa_gateway
 
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
TechWell
 

Similar to Testing in-production (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

Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
Srikant77
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 

Recently uploaded (20)

Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 

Testing in-production

  • 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?