This document discusses synthetic monitoring and introduces a synthetic monitoring maturity model. It begins with an example of a project with many dependencies and technologies that caused issues in production. Synthetic monitoring is introduced as automated tests that monitor an application's health in production. Benefits discussed include discovering issues early and gaining visibility into external dependencies. The document then introduces a synthetic monitoring maturity model ranging from reactive to proactive monitoring. It provides examples of how the maturity of a synthetic monitoring program can progress from testing key flows to self-healing and visualizing discoveries.
2. A little bit about me
@devidcillo
❏ Quality Advocate
❏ 4 years at ThoughtWorks Quito
❏ 3.5 years cross-roleing as Dev and QA
❏ Worked in teams across transportation, investment
banking, healthcare and online privacy domains
❏ Participated in and driven various testing and
quality-minded initiatives at ThoughtWorks and client sites
3. Agenda
❏ A Dark and Stormy Project
❏ What is Synthetic Monitoring?
❏ Why should I spend time on it?
❏ How would I go about it?
❏ Closing
9. 9
To Sum Up
❏ Pain points in production deployments
❏ We have flaky outside dependencies
❏ User: “Thing’s broken again!”
❏ Team: “ Why do you want to mess with production?”
❏ Client: “What do I gain by doing this?”
❏ Team: “We can do it, but how?”
17. Your Staging environment is lying to You
17
Marcel Gehlen & Benjamin Hofmann
The Final Frontier? Testing in Production
TestBash Manchester 2018
Database Issues Real Users Infrastructure
Differences
22. 22
Quick refresher
❏ Pain points in production deployments
❏ We have various outside dependencies
❏ User: “Thing’s broken again!”
❏ Team: “ Why do you want to mess with production?”
❏ Client: “What do I gain by doing this?”
❏ Team: “We can do it, but how?”
23. 23
First steps
❏ Pain points in production deployments
❏ We have various outside dependencies
❏ User: “Thing’s broken again!”
❏ Team: “ Why do you want to mess with production?”
❏ Client: “What do I gain by doing this?”
❏ Team: “We can do it, but how?”
24. 24
Going to Prod is painful...
Visualize our
discoveries
Autonomy
Issue responseIncident planning
25. 25
Narrowing our focus
❏ Pain points in production deployments
❏ We have various outside dependencies
❏ User: “Thing’s broken again!”
❏ Team: “ Why do you want to mess with production?”
❏ Client: “What do I gain by doing this?”
❏ Team: “We can do it, but how?”
26. 26
Third party woes
An Objective
Identify essential flows Automated TestsLogging Strategy
Buy-in
Autonomy
27. 27
...
❏ Pain points in production deployments
❏ We have various outside dependencies
❏ User: “Thing’s broken again!”
❏ Team: “ Why do you want to mess with production?”
❏ Client: “What do I gain by doing this?”
❏ Team: “We can do it, but how?”
29. 29
Spreading the joy
❏ Pain points in production deployments
❏ We have various outside dependencies
❏ User: “Thing’s broken again!”
❏ Team: “ Why do you want to mess with production?”
❏ Client: “What do I gain by doing this?”
❏ Team: “We can do it, but how?”
31. 31
Spreading the joy?
❏ Pain points in production deployments
❏ We have various outside dependencies
❏ User: “Thing’s broken again!”
❏ Team: “ Why do you want to mess with production?”
❏ Client: “What do I gain by doing this?”
❏ Team: “We can do it, but how?”
37. 37
Spreading the joy
❏ Pain points in production deployments
❏ We have various outside dependencies
❏ User: “Thing’s broken again!”
❏ Team: “ Why do you want to mess with production?”
❏ Client: “What do I gain by doing this?”
❏ Team: “We can do it, but how?”
38. Create your own trail
Complete Levels
Reactivity to Proactivity
(Recommended)
Pick your own adventure