SlideShare a Scribd company logo
The Final Frontier?
Testing in Production
Franziska Haaf (@franziskaHaaf)
Benjamin Hofmann (@benny_hfm)
Marcel Gehlen (@Marcel_Gehlen)
Why should I test in Production?
How do others test in Production already?
What to do to tackle common contraints?
How do I start testing in Production?
Starring...
Who has ever found a bug
in production?
Who has ever found a bug
in production?
Who found a bug in production
more than once?
Who has ever found a bug
in production?
Who found a bug in production
more than once?
Who found a bug in production
they could only find or reproduce
in Production?
A staging environment is designed
to duplicate production so you
can test your software in a
production-like environment to
prohibit bugs from occuring
in your actual Production.
We invest a lot of time and
money in our staging environment:
We need additional production-
grade hardware and more
software licences.
We have aditional maintenance
costs for patches or updates.
Different Hardware
Different Server Setup
Different Software Versions
Different Application
Different neighboring Systems
A staging environment is
never a Duplication of Production
You and your users have the same patch levels
You have the best test data available
Your neihboring systems are (almost) never down
Every problem you find is a problem your users are facing right now
There is a place where...
Your Production Environment
Give your software to a
group of end users and have
them interact with it.
Then watch what they do and
listen to their feedback.
Give your software to a
group of end users and have
them interact with it.
Then watch what they do and
listen to their feedback:
Dogfooding
Beta-Testing
A/B-Testing
„Sufficiently Advanced
Monitoring is indistinguishable
from Testing.“
- Ed Keys, Google, 2009
1 hour
successful logins
attempted logins
successful logins
1 hour
1 hour
calls to /login
attempted logins
successful logins
calls to /login
attempted logins
successful logins
2 days
Production starts with the
deployment. So this is where
we should start testing!
Canary Release
Staged Rollout
Dark Launch
Dark Launch
Dark Launch
Dark Launch
!
Deployed means the new code
has been put on Production.
Released means the new code
is affecting end users.
Alert! Condition: Red!
I can‘t possibly test in Production!
If I can use a Feature in Production then so can the user!
Feature Toggle
new
toggle
old
if(isTestUser()) {
newFeature();
} else {
oldFeature();
}
Feature Toggle
Feature Toggle
Feature Toggle
I will break our Production!
Breaking Production
Adopt technical resilience
Breaking Production
Adopt technical resilience
Adopt business resilience
Breaking Production
Adopt technical resilience
Adopt business resilience
Alert on your Monitoring
Breaking Production
Adopt technical resilience
Adopt business resilience
Alert on your Monitoring
Breaking Production
Reduce mean time to repair
My test data will screw up our analytics!
Analytics
Evaluate statistical significance
Analytics
Evaluate statistical significance
Flag / Seperate test data
Analytics
Evaluate statistical significance
Flag / Seperate test data
Use feature toggles
Analytics
If we expose Endpoints for testing in Production we can be hacked!
Security Risks
Hide features behind an authentication layer
Security Risks
Hide features behind an authentication layer
Make features only accessible via VPN / Proxy
Security Risks
Hide features behind an authentication layer
Make features only accessible via VPN / Proxy
Transparency: Logging, Monitoring, Tracing
Security Risks
Get into the right mindset
Pick one(!) thing to move forward
Find out what you are already doing
Widen your activities at a steady rate
Pick a new thing
How to move testing to Production
Alert! Condition: Red!
Testing in Production is a huge risk!
If only there was
a way to know about risk ...
Test It!
„F}}k Staging,
Test in Production.“
Charity Majors, Honeycomb.io, 2018
Credits
Speakers
Benjamin Hofmann (@benny_hfm)
Marcel Gehlen (@Marcel_Gehlen)
Artwork
Franziska Haaf (@franziskaHaaf)

More Related Content

What's hot

Manual testing
Manual testingManual testing
Manual testing
Mehul Chauhan
 
ic test engineering cost down in China
ic test engineering cost down in Chinaic test engineering cost down in China
ic test engineering cost down in China
julianjiang
 
Efficient And Effective Test Design
Efficient And Effective Test DesignEfficient And Effective Test Design
Efficient And Effective Test Design
Justin Hunter
 
Test
TestTest
Test
Eddie Kao
 
Overcoming The Challenges Faced in Exploratory Testing
Overcoming The Challenges Faced in Exploratory TestingOvercoming The Challenges Faced in Exploratory Testing
Overcoming The Challenges Faced in Exploratory Testing
Sarah Elson
 
Howto Test A Patch And Make A Difference!
Howto Test A Patch And Make A Difference!Howto Test A Patch And Make A Difference!
Howto Test A Patch And Make A Difference!
Joel Farris
 
FAQ - why does my code throw a null pointer exception - common reason #1 Rede...
FAQ - why does my code throw a null pointer exception - common reason #1 Rede...FAQ - why does my code throw a null pointer exception - common reason #1 Rede...
FAQ - why does my code throw a null pointer exception - common reason #1 Rede...
Alan Richardson
 
iOS Unit Testing
iOS Unit TestingiOS Unit Testing
iOS Unit Testing
sgleadow
 
Presentation13
Presentation13Presentation13
Presentation13
Nikita Warma
 
Understand regression testing
Understand regression testingUnderstand regression testing
Understand regression testing
gaoliang641
 
All you need to know about regression testing | David Tzemach
All you need to know about regression testing | David TzemachAll you need to know about regression testing | David Tzemach
All you need to know about regression testing | David Tzemach
David Tzemach
 
Test Reports
Test ReportsTest Reports
Testing in Django
Testing in DjangoTesting in Django
Testing in Django
Kevin Harvey
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
Ching Yi Chan
 

What's hot (14)

Manual testing
Manual testingManual testing
Manual testing
 
ic test engineering cost down in China
ic test engineering cost down in Chinaic test engineering cost down in China
ic test engineering cost down in China
 
Efficient And Effective Test Design
Efficient And Effective Test DesignEfficient And Effective Test Design
Efficient And Effective Test Design
 
Test
TestTest
Test
 
Overcoming The Challenges Faced in Exploratory Testing
Overcoming The Challenges Faced in Exploratory TestingOvercoming The Challenges Faced in Exploratory Testing
Overcoming The Challenges Faced in Exploratory Testing
 
Howto Test A Patch And Make A Difference!
Howto Test A Patch And Make A Difference!Howto Test A Patch And Make A Difference!
Howto Test A Patch And Make A Difference!
 
FAQ - why does my code throw a null pointer exception - common reason #1 Rede...
FAQ - why does my code throw a null pointer exception - common reason #1 Rede...FAQ - why does my code throw a null pointer exception - common reason #1 Rede...
FAQ - why does my code throw a null pointer exception - common reason #1 Rede...
 
iOS Unit Testing
iOS Unit TestingiOS Unit Testing
iOS Unit Testing
 
Presentation13
Presentation13Presentation13
Presentation13
 
Understand regression testing
Understand regression testingUnderstand regression testing
Understand regression testing
 
All you need to know about regression testing | David Tzemach
All you need to know about regression testing | David TzemachAll you need to know about regression testing | David Tzemach
All you need to know about regression testing | David Tzemach
 
Test Reports
Test ReportsTest Reports
Test Reports
 
Testing in Django
Testing in DjangoTesting in Django
Testing in Django
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 

Similar to Final frontier testinginproduction

Principles and Practices in Continuous Deployment at Etsy
Principles and Practices in Continuous Deployment at EtsyPrinciples and Practices in Continuous Deployment at Etsy
Principles and Practices in Continuous Deployment at Etsy
Mike Brittain
 
Software testing overview by subbu
Software testing overview by subbuSoftware testing overview by subbu
Software testing overview by subbu
palla subrahmanyam
 
Software Testing_Overview
Software Testing_OverviewSoftware Testing_Overview
Software Testing_Overview
Subramanya Mudukutore
 
Review of an open source unit test tool- Cucumber_Presentation
Review of an open source unit test tool- Cucumber_PresentationReview of an open source unit test tool- Cucumber_Presentation
Review of an open source unit test tool- Cucumber_Presentation
Jabeen Shazia Posses H1 B Visa (Jazz)
 
Configuration testing
Configuration testingConfiguration testing
Configuration testing
farouq umar
 
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
Applitools
 
Manual testing visonia
Manual testing   visoniaManual testing   visonia
Manual testing visonia
VisoniaTechlab
 
Tdd dev session
Tdd dev sessionTdd dev session
Tdd dev session
Danyllo Albuquerque
 
Application Testing
Application TestingApplication Testing
Application Testing
Reggie Niccolo Santos
 
Myths and reality about software testing
Myths and reality about software testingMyths and reality about software testing
Myths and reality about software testing
Alisha Henderson
 
ANTIVIRUS
ANTIVIRUSANTIVIRUS
ANTIVIRUS
fauscha
 
5-Ways-to-Revolutionize-Your-Software-Testing
5-Ways-to-Revolutionize-Your-Software-Testing5-Ways-to-Revolutionize-Your-Software-Testing
5-Ways-to-Revolutionize-Your-Software-Testing
Mary Clemons
 
Software Testing basics
Software Testing basicsSoftware Testing basics
Software Testing basics
Olia Khlystun
 
Test plan
Test planTest plan
Test plan
Sagar Shelar
 
Deviceanywhere studio 5.1
Deviceanywhere studio 5.1Deviceanywhere studio 5.1
Deviceanywhere studio 5.1
SATISH GORRIPOTU
 
Test execution may_04_2006
Test execution may_04_2006Test execution may_04_2006
Test execution may_04_2006
SivaprasanthRentala1975
 
TEST EXECUTION AND REPORTING
TEST EXECUTION AND REPORTINGTEST EXECUTION AND REPORTING
TEST EXECUTION AND REPORTING
suhasreddy1
 
Testing Presentation
Testing PresentationTesting Presentation
Testing Presentation
sureshpkumar
 
Future of QA
Future of QAFuture of QA
Future of QA
amitagarwal2006
 
Futureofqa
FutureofqaFutureofqa
Futureofqa
amitagarwal2006
 

Similar to Final frontier testinginproduction (20)

Principles and Practices in Continuous Deployment at Etsy
Principles and Practices in Continuous Deployment at EtsyPrinciples and Practices in Continuous Deployment at Etsy
Principles and Practices in Continuous Deployment at Etsy
 
Software testing overview by subbu
Software testing overview by subbuSoftware testing overview by subbu
Software testing overview by subbu
 
Software Testing_Overview
Software Testing_OverviewSoftware Testing_Overview
Software Testing_Overview
 
Review of an open source unit test tool- Cucumber_Presentation
Review of an open source unit test tool- Cucumber_PresentationReview of an open source unit test tool- Cucumber_Presentation
Review of an open source unit test tool- Cucumber_Presentation
 
Configuration testing
Configuration testingConfiguration testing
Configuration testing
 
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
 
Manual testing visonia
Manual testing   visoniaManual testing   visonia
Manual testing visonia
 
Tdd dev session
Tdd dev sessionTdd dev session
Tdd dev session
 
Application Testing
Application TestingApplication Testing
Application Testing
 
Myths and reality about software testing
Myths and reality about software testingMyths and reality about software testing
Myths and reality about software testing
 
ANTIVIRUS
ANTIVIRUSANTIVIRUS
ANTIVIRUS
 
5-Ways-to-Revolutionize-Your-Software-Testing
5-Ways-to-Revolutionize-Your-Software-Testing5-Ways-to-Revolutionize-Your-Software-Testing
5-Ways-to-Revolutionize-Your-Software-Testing
 
Software Testing basics
Software Testing basicsSoftware Testing basics
Software Testing basics
 
Test plan
Test planTest plan
Test plan
 
Deviceanywhere studio 5.1
Deviceanywhere studio 5.1Deviceanywhere studio 5.1
Deviceanywhere studio 5.1
 
Test execution may_04_2006
Test execution may_04_2006Test execution may_04_2006
Test execution may_04_2006
 
TEST EXECUTION AND REPORTING
TEST EXECUTION AND REPORTINGTEST EXECUTION AND REPORTING
TEST EXECUTION AND REPORTING
 
Testing Presentation
Testing PresentationTesting Presentation
Testing Presentation
 
Future of QA
Future of QAFuture of QA
Future of QA
 
Futureofqa
FutureofqaFutureofqa
Futureofqa
 

Recently uploaded

GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
Federico Razzoli
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 

Recently uploaded (20)

GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 

Final frontier testinginproduction