Testing & QA
Questions You'll Answer
If we deployed to production right now, how would we know if the main user journey is broken?
Are we optimizing for "Code Coverage" (vanity metric) or "Feature Coverage" (does it actually work)?
Can a developer run a full end-to-end test on their laptop right now, or are they blocked by "missing data"?
Do we have "Ephemeral Environments" (a temporary full stack for every Pull Request)?
Why does our staging environment data look nothing like our production data?
If we shift security left, are we giving devs the tools to fix it, or just yelling at them earlier?
How long does it take to spin up a fresh database with valid data for testing?
Does our code handle 'dirty data' gracefully, or do we crash the moment a user has a middle name that is null?
What You'll Learn
Move from "Testing Phase" to "Continuous Quality"
Understand that Code and Data must move together. You cannot Shift Left without Test Data Management
Realize that Observability (logging/tracing) is actually a form of testing in production
Understand the Testing Pyramid: Why Integration tests provide higher ROI than Unit tests
Differentiate between Synthetic Data (fake) and Subsetting (slice of real data)
Hard Truths
We spend a lot on manual test cases (by vendor BAs), yet critical bugs still slip through because humans get bored and miss things.
Shifting left without a Test Data strategy just means shifting frustration closer to the developer.
Devs can expect business owners to know every edge case of their data. They don't. Coding only for the 'Happy Path' and letting the app crash on a simple `null` value is lazy engineering, not a requirements gap.
'Works on my machine' happens because 'My machine has different data than Prod'.
Consultants sell 'Shift Left' as a tool configuration, but it's a culture change where devs must own quality.
Deployments often succeed technically (green lights), but fail silently (business logic breaks), and we only find out when users complain.
Staging is a lie. We do 'technical shakedowns' in Prod because Staging lacks the volume and messiness of real data.
Unit tests are rarely useful in isolation. A function can work perfectly (return 2+2=4) while the entire application fails to save to the database.