Hey there everyone!
If you're paying attention, you'll notice that I skipped last weeks newsletter. It's the first time it's happened, I hope you are not too shocked.
With TestBash World two weeks ago, and NZ testing conference last week, plus my son's fifth birthday, and a pretty challenging week at my day job... it was just easier to postpone to this week.
Never fear though, your fix is here. On with the show!
🔬 What to do when something "doesn't need testing"
Sometimes, engineers make code changes that they claim don't need testing.
Think about things like:
- Adding a new dependency (but not using it yet)
- Adding a new database column (but not writing to it yet)
- Adding comments without changing functionality
- Formatting code (changing tabs to spaces) without changing functionality
- Deleting a function that's not used anywhere
These things genuinely may not need testing!
But I often feel a tension when I encounter a situation like this. Because... some things might not need testing - but... it's not a sure thing.
I don't want to become a 'gatekeeper' of testing - and I want to be able to trust my engineers to be able to make sensible decisions about what sort of testing needs to happen.
At the same time, a claim that something doesn't need testing can be a hard thing to trust. And - as testers - we wouldn't be doing our job if we didn't ask questions about things that don't "need" testing.
Where do you find the balance between trusting engineers to know what they're doing, and making sure you're not taking too many risks when releasing code to production?
What I find useful, is a simple question: Why doesn't it need testing?
Often, this question will only take a minute or two to answer, and can give a whole lot of information. More often than not, engineers are happy to demonstrate or explain why something doesn't need testing. On occasion, it even turns out that something that didn't appear to need testing... actually does.
Asking this question is useful for other reasons too. A couple of minutes with an engineer to discuss their change gives context for future changes. For example - if they're adding a new database column, knowing why they're adding it will help when it comes time to populate that column further down the line.
The paradox here is that by talking about why something doesn't need testing - we're actually testing! It might not involve using the product, but by asking questions like this, we're putting the same critical eye on a change that we would for other more 'functional' changes.
So, next time someone tells you something doesn't need testing - try asking them why, and test out their claim!
🖥 Neat stuff from around the internet
- Boiling testing down to its basic principles is no easy feat - but Melissa Fisher has broken some ground on the subject. Worth a read, and giving some feedback.
- I like a good postmortem writeup, here's the one from Cloudflare's big old outage the other week.
- Benjamin Jackson on some of the pitfalls of the Extremely Online Workplace.
- Salesforce are experimenting with an async week. I'd love to try this. Any excuse to cancel some meetings!
- All the talks from TestBash World are online now. There's a few free ones, but it's worth getting a pro membership to check some of these out too. (This is not a sponsored post).
- There's another episode of Tech Engineering Lounge! This time myself and Camy Bhandari chat about Quality Engineering.
- Can you guess one of the most common user passwords? Try out passwordle.
🎟️ Events coming up
All dates are in NZT
AWS Auckland host Paulo Almeida to talk about all things EC2.
I've mentioned it before, but the day approaches. Always worth a look, this one.
DevOps Auckland are hosting Andrew Sumner and Bruno Lucas to give some insight in to how they're using Azure at scale.
If I'm to recommend one event, this would be the one. Francis Ho gave this talk at TestBash World a couple of weeks ago, and it was excellent. If you can make it, it will be worth it.
Julian Vargas hosts this free workshop on Contract Testing courtesy of Ministry of Testing.
A conference focused on cloud native transformation and technologies. Including excellent speakers from companies like Honeycomb, Portainer, GitHub, Octopus Deploy and more. This looks great.