SlideShare a Scribd company logo
1 of 47
Download to read offline
I have a test network. You may know it as
production.
– Andreas Thienemann
Testing
Asking the right questions
● Information is not a scarce resource, attention
is
– Herb Simon
Asking the right questions
● Information is not a scarce resource, attention
is
– Herb Simon
● What do you know?
Asking the right questions
● Information is not a scarce resource, attention
is
– Herb Simon
● What do you know?
● What do you not know?
Asking the right questions
● Information is not a scarce resource, attention
is
– Herb Simon
● What do you know?
● What do you not know?
● What do you not know that you do not know?
Feedback loops
Fast Feedback Loops
● Test driven business
Fast Feedback Loops
● Test driven business
– It's like Test Driven
Design
Fast Feedback Loops
● Test driven business
– It's like Test Driven
Design
● Enable IT to speak
the language of
business
Fast Feedback Loops
● Test driven business
– It's like Test Driven
Design
● Enable IT to speak
the language of
business
– Show me the data!
Fast Feedback Loops
● Test driven business
– It's like Test Driven
Design
● Enable IT to speak
the language of
business
– Show me the data!
– HIPPO
What makes software “good”?
What makes software “good”?
● Developer metrics
What makes software “good”?
● Developer metrics
– Object Oriented/Functional/
– Is testable
– Follows DRY
– ...
What makes software “good”?
● Developer metrics
– Object Oriented/Functional/
– Is testable
– Follows DRY
– …
● Operational metrics
– Bug “free”
– Scalable
– Secure
What makes software “good”?
● Business metrics
What makes software “good”?
● Business metrics
– Does it help me make money?
What makes software “good”?
● Business metrics
– Does it help me make money?
– Does it save me money?
What makes software “good”?
● Business metrics
– Does it help me make money?
– Does it save me money?
– Does it generate value?
The Classical SDLC
Classical SDLC feedback loop
Plans vs reality
Testing vs Reality
● Stable environment ● Highly unstable
Testing vs Reality
● Stable environment
● No humans
● Highly unstable
● Humans
Testing vs Reality
● Stable environment
● No humans
● Low latency
● Highly unstable
● Humans
● Potentially high
latency
Testing vs Reality
● Stable environment
● No humans
● Low latency
● Not always the same
size of dataset
● Highly unstable
● Humans
● Potentially high
latency
● Large, ever changing
datasets
Users
● Humans do strange things
Users
● Humans do strange things
● Or sometimes make mistakes
Users
● Humans do strange things
● Or sometimes make mistakes
● They come up with different requirements
Users
● Humans do strange things
● Or sometimes make mistakes
● They come up with different requirements
● They change the world your software works in
Risk management
● Approach 1:
– Scope your problems well
– Test a lot
– Release stable code
– Avoid changing a working system
Risk management
● Approach 2:
– Accept that you have an ill-defined problem
– Iterate rapidly
– Make a large number of small changes
– Build software to be able to isolate these changes
– Test them in the real world
– Keep only what works
What if When it breaks?
● Fix fast (maybe)
– “Do it right the first time” does not apply
● Business process for handling failure
– Hardware will eventually fail, software will
eventually work
The lifetime of code
● How long does your code live?
The lifetime of code
● How long does your code live?
– Hours or days?
● This should be most code out there
The lifetime of code
● How long does your code live?
– Hours or days?
● This should be most code out there
– Months?
● A little code, often “libraries” with a single application
The lifetime of code
● How long does your code live?
– Hours or days?
● This should be most code out there
– Months?
● A little code, often “libraries” with a single application
– Years?
● Very little. Just core libraries
The lifetime of code
● How long does your code live?
– Hours or days?
● This should be most code out there
– Months?
● A little code, often “libraries” with a single application
– Years?
● Very little. Just core libraries
● It is safe to delete code, if you are using version
control
Event processing
● Generate information about software use and
changes in realtime
● For more information and tooling:
– https://www.quora.com/Are-there-any-open-source-
CEP-tools?share=1
– https://en.wikipedia.org/wiki/Complex_event_proces
sing
Event processing
● Generate information about software use and
changes in realtime
● For more information and tooling:
– https://www.quora.com/Are-there-any-open-source-
CEP-tools?share=1
– https://en.wikipedia.org/wiki/Complex_event_proces
sing
Monitoring/Alerting
● Process events to generate graphs
Monitoring/Alerting
● Process events to generate graphs
● Riemann is an excellent tool for generating
alerts from event streams
Monitoring/Alerting
● Process events to generate graphs
● Riemann is an excellent tool for generating
alerts from event streams
● Generate graphs as close to realtime as
possible
– Developers doing rollouts know that something else
is changing
Monitoring/Alerting
● Process events to generate graphs
● Riemann is an excellent tool for generating
alerts from event streams
● Generate graphs as close to realtime as
possible
– Developers doing rollouts know that something else
is changing
– Any major problems will be caught really quickly
Monitoring/Alerting
● Process events to generate graphs
● Riemann is an excellent tool for generating alerts
from event streams
● Generate graphs as close to realtime as possible
– Developers doing rollouts know that something else is
changing
– Any major problems will be caught really quickly
● Isolation of changes means that you can track
longer term effects of each change
OSMC 2015: Testing in Production by Devdas Bhagat

More Related Content

Viewers also liked

OSMC 2015: What's Happening with OpenNMS? by Tarus Balog
OSMC 2015: What's Happening with OpenNMS? by Tarus BalogOSMC 2015: What's Happening with OpenNMS? by Tarus Balog
OSMC 2015: What's Happening with OpenNMS? by Tarus BalogNETWAYS
 
OSMC 2015: The Assimilation Project by Alan Robertson
OSMC 2015: The Assimilation Project by Alan RobertsonOSMC 2015: The Assimilation Project by Alan Robertson
OSMC 2015: The Assimilation Project by Alan RobertsonNETWAYS
 
OSMC 2014: Using elasticsearch, logstash & kibana in system administration | ...
OSMC 2014: Using elasticsearch, logstash & kibana in system administration | ...OSMC 2014: Using elasticsearch, logstash & kibana in system administration | ...
OSMC 2014: Using elasticsearch, logstash & kibana in system administration | ...NETWAYS
 
OSMC 2015:The road to lazy monitoring with Icinga 2 and Puppet by Tom de Vylder
OSMC 2015:The road to lazy monitoring with Icinga 2 and Puppet by Tom de VylderOSMC 2015:The road to lazy monitoring with Icinga 2 and Puppet by Tom de Vylder
OSMC 2015:The road to lazy monitoring with Icinga 2 and Puppet by Tom de VylderNETWAYS
 
OSMC 2015: End to End Monitoring mit Alyvix-Jürgen Vigna
OSMC 2015: End to End Monitoring mit Alyvix-Jürgen VignaOSMC 2015: End to End Monitoring mit Alyvix-Jürgen Vigna
OSMC 2015: End to End Monitoring mit Alyvix-Jürgen VignaNETWAYS
 
OSMC 2015: Grafana and Future of Metrics Visualization by Torkel Ödegaard
OSMC 2015: Grafana and Future of Metrics Visualization by Torkel ÖdegaardOSMC 2015: Grafana and Future of Metrics Visualization by Torkel Ödegaard
OSMC 2015: Grafana and Future of Metrics Visualization by Torkel ÖdegaardNETWAYS
 
OSMC 2015: Monitor Open stack environments from the bottom up and front to ba...
OSMC 2015: Monitor Open stack environments from the bottom up and front to ba...OSMC 2015: Monitor Open stack environments from the bottom up and front to ba...
OSMC 2015: Monitor Open stack environments from the bottom up and front to ba...NETWAYS
 
OSMC 2015: MQTT it´s also for monitoring by Jan-Piet Mens
OSMC 2015: MQTT it´s also for monitoring by Jan-Piet MensOSMC 2015: MQTT it´s also for monitoring by Jan-Piet Mens
OSMC 2015: MQTT it´s also for monitoring by Jan-Piet MensNETWAYS
 
OSMC 2015: Prometheus: A Next-Generation Monitoring System by Fabian Reinartz
OSMC 2015: Prometheus: A Next-Generation Monitoring System by Fabian ReinartzOSMC 2015: Prometheus: A Next-Generation Monitoring System by Fabian Reinartz
OSMC 2015: Prometheus: A Next-Generation Monitoring System by Fabian ReinartzNETWAYS
 
OSMC 2015: Collectd Thresholds Plugin and Icinga by Florian Forster
OSMC 2015: Collectd Thresholds Plugin and Icinga by Florian ForsterOSMC 2015: Collectd Thresholds Plugin and Icinga by Florian Forster
OSMC 2015: Collectd Thresholds Plugin and Icinga by Florian ForsterNETWAYS
 
OSMC 2015: Monitoring at Spotify-When things go ping in the night by Martin Parm
OSMC 2015: Monitoring at Spotify-When things go ping in the night by Martin ParmOSMC 2015: Monitoring at Spotify-When things go ping in the night by Martin Parm
OSMC 2015: Monitoring at Spotify-When things go ping in the night by Martin ParmNETWAYS
 
OSMC 2014: Business Prozessmonitoring mit BPView | Rene Koch
OSMC 2014: Business Prozessmonitoring mit BPView | Rene KochOSMC 2014: Business Prozessmonitoring mit BPView | Rene Koch
OSMC 2014: Business Prozessmonitoring mit BPView | Rene KochNETWAYS
 
OSMC 2014: Interesting use cases of Zabbix improvements in latest versions | ...
OSMC 2014: Interesting use cases of Zabbix improvements in latest versions | ...OSMC 2014: Interesting use cases of Zabbix improvements in latest versions | ...
OSMC 2014: Interesting use cases of Zabbix improvements in latest versions | ...NETWAYS
 
OSMC 2015: NSClient++: A brief Introduction by Michael Medin
OSMC 2015: NSClient++: A brief Introduction by Michael MedinOSMC 2015: NSClient++: A brief Introduction by Michael Medin
OSMC 2015: NSClient++: A brief Introduction by Michael MedinNETWAYS
 
OSMC 2015: Zabbix 3.0. The Simple, the Powerful and the Shiny by Wolfgang Alper
OSMC 2015: Zabbix 3.0. The Simple, the Powerful and the Shiny by Wolfgang AlperOSMC 2015: Zabbix 3.0. The Simple, the Powerful and the Shiny by Wolfgang Alper
OSMC 2015: Zabbix 3.0. The Simple, the Powerful and the Shiny by Wolfgang AlperNETWAYS
 
OSMC 2015: Monitoring Linux and Windows Logs with the Graylog Collector byBer...
OSMC 2015: Monitoring Linux and Windows Logs with the Graylog Collector byBer...OSMC 2015: Monitoring Linux and Windows Logs with the Graylog Collector byBer...
OSMC 2015: Monitoring Linux and Windows Logs with the Graylog Collector byBer...NETWAYS
 
Open Source Backup Conference 2014: Migration from bacula to bareos, by Danie...
Open Source Backup Conference 2014: Migration from bacula to bareos, by Danie...Open Source Backup Conference 2014: Migration from bacula to bareos, by Danie...
Open Source Backup Conference 2014: Migration from bacula to bareos, by Danie...NETWAYS
 
Puppet Camp Duesseldorf 2014: Martin Alfke - Can you upgrade to puppet 4.x?
Puppet Camp Duesseldorf 2014: Martin Alfke - Can you upgrade to puppet 4.x?Puppet Camp Duesseldorf 2014: Martin Alfke - Can you upgrade to puppet 4.x?
Puppet Camp Duesseldorf 2014: Martin Alfke - Can you upgrade to puppet 4.x?NETWAYS
 
Open Source Backup Cpnference 2014: Bareos in scientific environments, by Dr....
Open Source Backup Cpnference 2014: Bareos in scientific environments, by Dr....Open Source Backup Cpnference 2014: Bareos in scientific environments, by Dr....
Open Source Backup Cpnference 2014: Bareos in scientific environments, by Dr....NETWAYS
 
Puppet Camp Duesseldorf 2014: Kris Buytaert - Monitoring (with) Puppet
Puppet Camp Duesseldorf 2014: Kris Buytaert - Monitoring (with) PuppetPuppet Camp Duesseldorf 2014: Kris Buytaert - Monitoring (with) Puppet
Puppet Camp Duesseldorf 2014: Kris Buytaert - Monitoring (with) PuppetNETWAYS
 

Viewers also liked (20)

OSMC 2015: What's Happening with OpenNMS? by Tarus Balog
OSMC 2015: What's Happening with OpenNMS? by Tarus BalogOSMC 2015: What's Happening with OpenNMS? by Tarus Balog
OSMC 2015: What's Happening with OpenNMS? by Tarus Balog
 
OSMC 2015: The Assimilation Project by Alan Robertson
OSMC 2015: The Assimilation Project by Alan RobertsonOSMC 2015: The Assimilation Project by Alan Robertson
OSMC 2015: The Assimilation Project by Alan Robertson
 
OSMC 2014: Using elasticsearch, logstash & kibana in system administration | ...
OSMC 2014: Using elasticsearch, logstash & kibana in system administration | ...OSMC 2014: Using elasticsearch, logstash & kibana in system administration | ...
OSMC 2014: Using elasticsearch, logstash & kibana in system administration | ...
 
OSMC 2015:The road to lazy monitoring with Icinga 2 and Puppet by Tom de Vylder
OSMC 2015:The road to lazy monitoring with Icinga 2 and Puppet by Tom de VylderOSMC 2015:The road to lazy monitoring with Icinga 2 and Puppet by Tom de Vylder
OSMC 2015:The road to lazy monitoring with Icinga 2 and Puppet by Tom de Vylder
 
OSMC 2015: End to End Monitoring mit Alyvix-Jürgen Vigna
OSMC 2015: End to End Monitoring mit Alyvix-Jürgen VignaOSMC 2015: End to End Monitoring mit Alyvix-Jürgen Vigna
OSMC 2015: End to End Monitoring mit Alyvix-Jürgen Vigna
 
OSMC 2015: Grafana and Future of Metrics Visualization by Torkel Ödegaard
OSMC 2015: Grafana and Future of Metrics Visualization by Torkel ÖdegaardOSMC 2015: Grafana and Future of Metrics Visualization by Torkel Ödegaard
OSMC 2015: Grafana and Future of Metrics Visualization by Torkel Ödegaard
 
OSMC 2015: Monitor Open stack environments from the bottom up and front to ba...
OSMC 2015: Monitor Open stack environments from the bottom up and front to ba...OSMC 2015: Monitor Open stack environments from the bottom up and front to ba...
OSMC 2015: Monitor Open stack environments from the bottom up and front to ba...
 
OSMC 2015: MQTT it´s also for monitoring by Jan-Piet Mens
OSMC 2015: MQTT it´s also for monitoring by Jan-Piet MensOSMC 2015: MQTT it´s also for monitoring by Jan-Piet Mens
OSMC 2015: MQTT it´s also for monitoring by Jan-Piet Mens
 
OSMC 2015: Prometheus: A Next-Generation Monitoring System by Fabian Reinartz
OSMC 2015: Prometheus: A Next-Generation Monitoring System by Fabian ReinartzOSMC 2015: Prometheus: A Next-Generation Monitoring System by Fabian Reinartz
OSMC 2015: Prometheus: A Next-Generation Monitoring System by Fabian Reinartz
 
OSMC 2015: Collectd Thresholds Plugin and Icinga by Florian Forster
OSMC 2015: Collectd Thresholds Plugin and Icinga by Florian ForsterOSMC 2015: Collectd Thresholds Plugin and Icinga by Florian Forster
OSMC 2015: Collectd Thresholds Plugin and Icinga by Florian Forster
 
OSMC 2015: Monitoring at Spotify-When things go ping in the night by Martin Parm
OSMC 2015: Monitoring at Spotify-When things go ping in the night by Martin ParmOSMC 2015: Monitoring at Spotify-When things go ping in the night by Martin Parm
OSMC 2015: Monitoring at Spotify-When things go ping in the night by Martin Parm
 
OSMC 2014: Business Prozessmonitoring mit BPView | Rene Koch
OSMC 2014: Business Prozessmonitoring mit BPView | Rene KochOSMC 2014: Business Prozessmonitoring mit BPView | Rene Koch
OSMC 2014: Business Prozessmonitoring mit BPView | Rene Koch
 
OSMC 2014: Interesting use cases of Zabbix improvements in latest versions | ...
OSMC 2014: Interesting use cases of Zabbix improvements in latest versions | ...OSMC 2014: Interesting use cases of Zabbix improvements in latest versions | ...
OSMC 2014: Interesting use cases of Zabbix improvements in latest versions | ...
 
OSMC 2015: NSClient++: A brief Introduction by Michael Medin
OSMC 2015: NSClient++: A brief Introduction by Michael MedinOSMC 2015: NSClient++: A brief Introduction by Michael Medin
OSMC 2015: NSClient++: A brief Introduction by Michael Medin
 
OSMC 2015: Zabbix 3.0. The Simple, the Powerful and the Shiny by Wolfgang Alper
OSMC 2015: Zabbix 3.0. The Simple, the Powerful and the Shiny by Wolfgang AlperOSMC 2015: Zabbix 3.0. The Simple, the Powerful and the Shiny by Wolfgang Alper
OSMC 2015: Zabbix 3.0. The Simple, the Powerful and the Shiny by Wolfgang Alper
 
OSMC 2015: Monitoring Linux and Windows Logs with the Graylog Collector byBer...
OSMC 2015: Monitoring Linux and Windows Logs with the Graylog Collector byBer...OSMC 2015: Monitoring Linux and Windows Logs with the Graylog Collector byBer...
OSMC 2015: Monitoring Linux and Windows Logs with the Graylog Collector byBer...
 
Open Source Backup Conference 2014: Migration from bacula to bareos, by Danie...
Open Source Backup Conference 2014: Migration from bacula to bareos, by Danie...Open Source Backup Conference 2014: Migration from bacula to bareos, by Danie...
Open Source Backup Conference 2014: Migration from bacula to bareos, by Danie...
 
Puppet Camp Duesseldorf 2014: Martin Alfke - Can you upgrade to puppet 4.x?
Puppet Camp Duesseldorf 2014: Martin Alfke - Can you upgrade to puppet 4.x?Puppet Camp Duesseldorf 2014: Martin Alfke - Can you upgrade to puppet 4.x?
Puppet Camp Duesseldorf 2014: Martin Alfke - Can you upgrade to puppet 4.x?
 
Open Source Backup Cpnference 2014: Bareos in scientific environments, by Dr....
Open Source Backup Cpnference 2014: Bareos in scientific environments, by Dr....Open Source Backup Cpnference 2014: Bareos in scientific environments, by Dr....
Open Source Backup Cpnference 2014: Bareos in scientific environments, by Dr....
 
Puppet Camp Duesseldorf 2014: Kris Buytaert - Monitoring (with) Puppet
Puppet Camp Duesseldorf 2014: Kris Buytaert - Monitoring (with) PuppetPuppet Camp Duesseldorf 2014: Kris Buytaert - Monitoring (with) Puppet
Puppet Camp Duesseldorf 2014: Kris Buytaert - Monitoring (with) Puppet
 

Similar to OSMC 2015: Testing in Production by Devdas Bhagat

Scalable, good, cheap
Scalable, good, cheapScalable, good, cheap
Scalable, good, cheapMarc Cluet
 
Continuous Infrastructure First
Continuous Infrastructure FirstContinuous Infrastructure First
Continuous Infrastructure FirstKris Buytaert
 
From devoops to devops
From devoops to devopsFrom devoops to devops
From devoops to devopsKris Buytaert
 
Hogy néz ki egy pentest meló a gyakorlatban?
Hogy néz ki egy pentest meló a gyakorlatban?Hogy néz ki egy pentest meló a gyakorlatban?
Hogy néz ki egy pentest meló a gyakorlatban?hackersuli
 
The Most Important Thing: How Mozilla Does Security and What You Can Steal
The Most Important Thing: How Mozilla Does Security and What You Can StealThe Most Important Thing: How Mozilla Does Security and What You Can Steal
The Most Important Thing: How Mozilla Does Security and What You Can Stealmozilla.presentations
 
Agile for Me- CodeStock 2009
Agile for Me- CodeStock 2009Agile for Me- CodeStock 2009
Agile for Me- CodeStock 2009Adrian Carr
 
Dev secops opsec, devsec, devops ?
Dev secops opsec, devsec, devops ?Dev secops opsec, devsec, devops ?
Dev secops opsec, devsec, devops ?Kris Buytaert
 
Its not about the tooling
Its not about the toolingIts not about the tooling
Its not about the toolingBram Vogelaar
 
SFScon21 - Paolo d’Incau - Going to production in a few months – How we did it!
SFScon21 - Paolo d’Incau - Going to production in a few months – How we did it!SFScon21 - Paolo d’Incau - Going to production in a few months – How we did it!
SFScon21 - Paolo d’Incau - Going to production in a few months – How we did it!South Tyrol Free Software Conference
 
Services, tools & practices for a software house
Services, tools & practices for a software houseServices, tools & practices for a software house
Services, tools & practices for a software houseParis Apostolopoulos
 
StartOps: Growing an ops team from 1 founder
StartOps: Growing an ops team from 1 founderStartOps: Growing an ops team from 1 founder
StartOps: Growing an ops team from 1 founderServer Density
 
CD in Machine Learning Systems
CD in Machine Learning SystemsCD in Machine Learning Systems
CD in Machine Learning SystemsThoughtworks
 
top developer mistakes
top developer mistakes top developer mistakes
top developer mistakes Hanokh Aloni
 
Distributed systems - A Primer
Distributed systems - A PrimerDistributed systems - A Primer
Distributed systems - A PrimerMD Sayem Ahmed
 
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
 
Anton's Log Management 'Worst Practices'
Anton's Log Management 'Worst Practices'Anton's Log Management 'Worst Practices'
Anton's Log Management 'Worst Practices'Anton Chuvakin
 
Path dependent-development (PyCon India)
Path dependent-development (PyCon India)Path dependent-development (PyCon India)
Path dependent-development (PyCon India)ncoghlan_dev
 
The Final Frontier, Automating Dynamic Security Testing
The Final Frontier, Automating Dynamic Security TestingThe Final Frontier, Automating Dynamic Security Testing
The Final Frontier, Automating Dynamic Security TestingMatt Tesauro
 
Fixfindprodissues
FixfindprodissuesFixfindprodissues
FixfindprodissuesDave Stokes
 
Fixfindprodissues
FixfindprodissuesFixfindprodissues
FixfindprodissuesDave Stokes
 

Similar to OSMC 2015: Testing in Production by Devdas Bhagat (20)

Scalable, good, cheap
Scalable, good, cheapScalable, good, cheap
Scalable, good, cheap
 
Continuous Infrastructure First
Continuous Infrastructure FirstContinuous Infrastructure First
Continuous Infrastructure First
 
From devoops to devops
From devoops to devopsFrom devoops to devops
From devoops to devops
 
Hogy néz ki egy pentest meló a gyakorlatban?
Hogy néz ki egy pentest meló a gyakorlatban?Hogy néz ki egy pentest meló a gyakorlatban?
Hogy néz ki egy pentest meló a gyakorlatban?
 
The Most Important Thing: How Mozilla Does Security and What You Can Steal
The Most Important Thing: How Mozilla Does Security and What You Can StealThe Most Important Thing: How Mozilla Does Security and What You Can Steal
The Most Important Thing: How Mozilla Does Security and What You Can Steal
 
Agile for Me- CodeStock 2009
Agile for Me- CodeStock 2009Agile for Me- CodeStock 2009
Agile for Me- CodeStock 2009
 
Dev secops opsec, devsec, devops ?
Dev secops opsec, devsec, devops ?Dev secops opsec, devsec, devops ?
Dev secops opsec, devsec, devops ?
 
Its not about the tooling
Its not about the toolingIts not about the tooling
Its not about the tooling
 
SFScon21 - Paolo d’Incau - Going to production in a few months – How we did it!
SFScon21 - Paolo d’Incau - Going to production in a few months – How we did it!SFScon21 - Paolo d’Incau - Going to production in a few months – How we did it!
SFScon21 - Paolo d’Incau - Going to production in a few months – How we did it!
 
Services, tools & practices for a software house
Services, tools & practices for a software houseServices, tools & practices for a software house
Services, tools & practices for a software house
 
StartOps: Growing an ops team from 1 founder
StartOps: Growing an ops team from 1 founderStartOps: Growing an ops team from 1 founder
StartOps: Growing an ops team from 1 founder
 
CD in Machine Learning Systems
CD in Machine Learning SystemsCD in Machine Learning Systems
CD in Machine Learning Systems
 
top developer mistakes
top developer mistakes top developer mistakes
top developer mistakes
 
Distributed systems - A Primer
Distributed systems - A PrimerDistributed systems - A Primer
Distributed systems - A Primer
 
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
 
Anton's Log Management 'Worst Practices'
Anton's Log Management 'Worst Practices'Anton's Log Management 'Worst Practices'
Anton's Log Management 'Worst Practices'
 
Path dependent-development (PyCon India)
Path dependent-development (PyCon India)Path dependent-development (PyCon India)
Path dependent-development (PyCon India)
 
The Final Frontier, Automating Dynamic Security Testing
The Final Frontier, Automating Dynamic Security TestingThe Final Frontier, Automating Dynamic Security Testing
The Final Frontier, Automating Dynamic Security Testing
 
Fixfindprodissues
FixfindprodissuesFixfindprodissues
Fixfindprodissues
 
Fixfindprodissues
FixfindprodissuesFixfindprodissues
Fixfindprodissues
 

Recently uploaded

Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 

Recently uploaded (20)

Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 

OSMC 2015: Testing in Production by Devdas Bhagat

  • 1. I have a test network. You may know it as production. – Andreas Thienemann Testing
  • 2. Asking the right questions ● Information is not a scarce resource, attention is – Herb Simon
  • 3. Asking the right questions ● Information is not a scarce resource, attention is – Herb Simon ● What do you know?
  • 4. Asking the right questions ● Information is not a scarce resource, attention is – Herb Simon ● What do you know? ● What do you not know?
  • 5. Asking the right questions ● Information is not a scarce resource, attention is – Herb Simon ● What do you know? ● What do you not know? ● What do you not know that you do not know?
  • 7. Fast Feedback Loops ● Test driven business
  • 8. Fast Feedback Loops ● Test driven business – It's like Test Driven Design
  • 9. Fast Feedback Loops ● Test driven business – It's like Test Driven Design ● Enable IT to speak the language of business
  • 10. Fast Feedback Loops ● Test driven business – It's like Test Driven Design ● Enable IT to speak the language of business – Show me the data!
  • 11. Fast Feedback Loops ● Test driven business – It's like Test Driven Design ● Enable IT to speak the language of business – Show me the data! – HIPPO
  • 12. What makes software “good”?
  • 13. What makes software “good”? ● Developer metrics
  • 14. What makes software “good”? ● Developer metrics – Object Oriented/Functional/ – Is testable – Follows DRY – ...
  • 15. What makes software “good”? ● Developer metrics – Object Oriented/Functional/ – Is testable – Follows DRY – … ● Operational metrics – Bug “free” – Scalable – Secure
  • 16. What makes software “good”? ● Business metrics
  • 17. What makes software “good”? ● Business metrics – Does it help me make money?
  • 18. What makes software “good”? ● Business metrics – Does it help me make money? – Does it save me money?
  • 19. What makes software “good”? ● Business metrics – Does it help me make money? – Does it save me money? – Does it generate value?
  • 23.
  • 24. Testing vs Reality ● Stable environment ● Highly unstable
  • 25. Testing vs Reality ● Stable environment ● No humans ● Highly unstable ● Humans
  • 26. Testing vs Reality ● Stable environment ● No humans ● Low latency ● Highly unstable ● Humans ● Potentially high latency
  • 27. Testing vs Reality ● Stable environment ● No humans ● Low latency ● Not always the same size of dataset ● Highly unstable ● Humans ● Potentially high latency ● Large, ever changing datasets
  • 28. Users ● Humans do strange things
  • 29. Users ● Humans do strange things ● Or sometimes make mistakes
  • 30. Users ● Humans do strange things ● Or sometimes make mistakes ● They come up with different requirements
  • 31. Users ● Humans do strange things ● Or sometimes make mistakes ● They come up with different requirements ● They change the world your software works in
  • 32. Risk management ● Approach 1: – Scope your problems well – Test a lot – Release stable code – Avoid changing a working system
  • 33. Risk management ● Approach 2: – Accept that you have an ill-defined problem – Iterate rapidly – Make a large number of small changes – Build software to be able to isolate these changes – Test them in the real world – Keep only what works
  • 34. What if When it breaks? ● Fix fast (maybe) – “Do it right the first time” does not apply ● Business process for handling failure – Hardware will eventually fail, software will eventually work
  • 35. The lifetime of code ● How long does your code live?
  • 36. The lifetime of code ● How long does your code live? – Hours or days? ● This should be most code out there
  • 37. The lifetime of code ● How long does your code live? – Hours or days? ● This should be most code out there – Months? ● A little code, often “libraries” with a single application
  • 38. The lifetime of code ● How long does your code live? – Hours or days? ● This should be most code out there – Months? ● A little code, often “libraries” with a single application – Years? ● Very little. Just core libraries
  • 39. The lifetime of code ● How long does your code live? – Hours or days? ● This should be most code out there – Months? ● A little code, often “libraries” with a single application – Years? ● Very little. Just core libraries ● It is safe to delete code, if you are using version control
  • 40. Event processing ● Generate information about software use and changes in realtime ● For more information and tooling: – https://www.quora.com/Are-there-any-open-source- CEP-tools?share=1 – https://en.wikipedia.org/wiki/Complex_event_proces sing
  • 41. Event processing ● Generate information about software use and changes in realtime ● For more information and tooling: – https://www.quora.com/Are-there-any-open-source- CEP-tools?share=1 – https://en.wikipedia.org/wiki/Complex_event_proces sing
  • 43. Monitoring/Alerting ● Process events to generate graphs ● Riemann is an excellent tool for generating alerts from event streams
  • 44. Monitoring/Alerting ● Process events to generate graphs ● Riemann is an excellent tool for generating alerts from event streams ● Generate graphs as close to realtime as possible – Developers doing rollouts know that something else is changing
  • 45. Monitoring/Alerting ● Process events to generate graphs ● Riemann is an excellent tool for generating alerts from event streams ● Generate graphs as close to realtime as possible – Developers doing rollouts know that something else is changing – Any major problems will be caught really quickly
  • 46. Monitoring/Alerting ● Process events to generate graphs ● Riemann is an excellent tool for generating alerts from event streams ● Generate graphs as close to realtime as possible – Developers doing rollouts know that something else is changing – Any major problems will be caught really quickly ● Isolation of changes means that you can track longer term effects of each change