SlideShare a Scribd company logo
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
OSMC 2015: Testing in Production by Devdas Bhagat
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

PDF
How should we build that? Evolving a development environment that's suitable ...
PPTX
Backlog or Black Hole? How to Manage Massive Backlogs
PPTX
Analysis paralysis
PDF
HIS 2015: Roderick Chapman - Murphy Vs Satan Why programming secure systems i...
PPTX
Test Driven Relevancy, Presented by Doug Turnbull at SolrExchage DC
PDF
What we learned from three years sciencing the crap out of devops
PDF
Anomaly detection made easy
PDF
Embracing collaborative chaos
How should we build that? Evolving a development environment that's suitable ...
Backlog or Black Hole? How to Manage Massive Backlogs
Analysis paralysis
HIS 2015: Roderick Chapman - Murphy Vs Satan Why programming secure systems i...
Test Driven Relevancy, Presented by Doug Turnbull at SolrExchage DC
What we learned from three years sciencing the crap out of devops
Anomaly detection made easy
Embracing collaborative chaos

Viewers also liked (20)

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

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

PPTX
Software Development and Quality
DOCX
Faq
ODP
Debugging
PDF
Ground rules
PDF
Software testing
PDF
Monitoring Complex Systems - Chicago Erlang, 2014
PPTX
Understanding Key Concepts and Applications in Week 11: A Comprehensive Overv...
PPT
Software testing & its technology
PPTX
Software testing
PPSX
Introduction to software testing
PPT
Types of Software Testing
PPTX
An introduction to Software Testing and Test Management
PPT
ISTQB, ISEB Lecture Notes
PDF
Software testing
PPTX
ST UNIT-1.pptx
PDF
Introduction to Software Testing
ODP
Path dependent-development (PyCon India)
PPTX
Software testing foundation
PPT
ISTQB, ISEB Lecture Notes- 2
PPTX
QA is Broken, Fix it!
Software Development and Quality
Faq
Debugging
Ground rules
Software testing
Monitoring Complex Systems - Chicago Erlang, 2014
Understanding Key Concepts and Applications in Week 11: A Comprehensive Overv...
Software testing & its technology
Software testing
Introduction to software testing
Types of Software Testing
An introduction to Software Testing and Test Management
ISTQB, ISEB Lecture Notes
Software testing
ST UNIT-1.pptx
Introduction to Software Testing
Path dependent-development (PyCon India)
Software testing foundation
ISTQB, ISEB Lecture Notes- 2
QA is Broken, Fix it!
Ad

Recently uploaded (20)

PPTX
Cloud computing and distributed systems.
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Encapsulation theory and applications.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
sap open course for s4hana steps from ECC to s4
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Cloud computing and distributed systems.
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
NewMind AI Weekly Chronicles - August'25 Week I
Understanding_Digital_Forensics_Presentation.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Encapsulation theory and applications.pdf
Empathic Computing: Creating Shared Understanding
The Rise and Fall of 3GPP – Time for a Sabbatical?
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Building Integrated photovoltaic BIPV_UPV.pdf
sap open course for s4hana steps from ECC to s4
MIND Revenue Release Quarter 2 2025 Press Release
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
MYSQL Presentation for SQL database connectivity
Profit Center Accounting in SAP S/4HANA, S4F28 Col11

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