Don't Think of an Elephant

I recently came across a scenario that I've experienced a few times with developers and I think it's worth writing about.

Sometimes when working with developers, we don't actually know what their biases are in relation to the work they have produced. Their brain is a black box and we don't understand what part of the requirements they understood, what prompted the solution they came up with, did they even write the code at all? A million questions spring to mind.

Sometimes, their bias is too easy to spot and too hard to ignore. Sometimes, they're telling you the problem by telling you where NOT to look. I like to use the "don't think of an elephant" analogy. When someone says don't think of something, you ignore the "don't" part and do it anyway.

I had a "handover" with a developer, where they literally said don't look inside the code, just look at the output of the code.

First of all, I decide where I'm looking, not the person who developed the code (or no code in this case). Sure, it can be useful to have a developer walk me through what they have done, but telling a tester to ignore any part of a system will instantly raise questions. Secondly, you're telling me to look away from all of the juicy bits. The confusing variable names, the broken SQL queries, the half finished logic app steps that are still there for some reason — these are the places I will always look if I can. In this case, there was a logic app with multiple http requests, calls to databases, parsing of JSON files and it was rife with complexity.

What this developer is saying is that they think their software is perfect (even though they said it wasn't a simple task) unless the output says otherwise. Inputs and outputs are very useful, but so are intermittent issues, performance issues, static analysis of the app itself, requirements, conversations, notes taken, the list goes on. Maybe they built a similar thing a million times, but you haven't tested it once.

Should we look into these things, anyway? Yes, I would consider that a responsible thing to do.

The lesson here is that when someone tells you to NOT do something, think about what that actually means, and do it anyway.

Related topics:

← Back to blogs

Testing Heuristics and Mnemonics for APIs

How to use memory heuristics to assist your testing

Don't think of an elephant

Should you do what your told or look where they tell you to not look

There's Something Odd About the Official Playwright MCP Demo

There's Something Odd About the Official Playwright MCP Demo

I was wrong about exploratory testing, are you?

How I came to finally understand what exploratory testing is

The perpetual stew vs the historian

A story about a search for truth that no one asked for

Pushback on crappy testing interviews.

How to demonstrate responsible testing in an interview

Common misconceptions about Scrum

Common misconceptions about scrum

AI has got our wires crossed

How AI has us thinking back to front

How are we still doing Taylorism in 2025

It's 2025, and Taylorism should be long gone. Why are we still seeing it everywhere in 2025?

Testing practice: Irish phone numbers

Tales of testing a web form with field validation for Irish phone numbers

Forget flashy - focus on fundamentals in testing

Why testers should focus on risk and fundamentals instead of over-engineering solutions with automation.

Have you had too much to think?

Are you being asked to test without thinking? be wary.

Setting expectations for tester during agile ceremonies

Setting expectations that testers should follow throught each agile process to make more of an impact and provide value

Thoughts on Estimates in Software Engineering

A deep dive into why software estimations are so tricky, the asymmetry of estimates, and how Scrum approaches them.

Rating testing deifnitions from different orgs

Rating the definitions of software testing from page 1 of Google and explaining why I think they deserve the rating

Testing Financial data using an API

How to test time-series financial data through an API

Tales from Reddit: testing doesn't exist

My thoughts on a bizarre comment from Reddit in which a fellow tester claims testing doesn't exist and what it means to the state of testing

My Accidental Vibe Coding Nightmare

When limitied coding experience meets AI, is it tempting to vibe code or are you entering a debugging nightmare?