Have you taken any training on thinking? This could be critical or systems thinking type training
The RST course contained a lot of training on thinking. Not just critical and systems thinking but the mechanisms of thinking, mental models, attention, assumptions and so on. I also did philosophy of science at university, which is a lot about overcoming the limitations of human perception and thought to access more objective truth.
Have you read things about thinking? Critical or systems thinking, books related to thinking, if so, which ones?
A lot, I’m going to forget some. What Is This Thing Called Science, Tacit and Explicit Knowledge, An Introduction to General Systems Thinking, Intuition Pumps, Dan Ariely’s stuff, systems thinking playbook, lessons learned in software testing, there’s definitely more. Also articles and videos and things when I find them.
Have you ever set improving your thinking or learning more about how you think as a goal?
I don’t think of it as deciding to go to the gym, but I like to think about thinking and study things about it so it’s less of a goal and more a hobby mixed with lifestyle, I suppose.
Do you have go-to heuristics, mnemonics or oracles you reuse?
I use a whole bunch, but from memory (of which mine is bad so I write a lot down), I use the HTSM to aid testing quite a lot, I like “Huh? Really? And? So?” for critical thinking, I use things I call the motion sickness heuristic, steeplechase, galumphing, CRUD, state abuse, there’s a lot of named heuristics. They tend to come up when I’m faced with an issue that could use them.
Do you go looking for new heuristics, mnemonics, oracles or similar?
I suppose I see them when I see them. I make them a lot, in terms of notes and mindmaps. Of course heuristics are natural, and almost seem to form the way our mind operates - in a good-enough guessing space. I don’t go to my search engine and type “testing heuristics”, but maybe I should.
Do you have any other thoughts on thinking in software testing?
I think it’s criminally underrated and undertaught. A lot of solutions for software testing seem to be about avoiding having to be able to think. Boilerplate ideas, mechanical instructions to follow, metrics to follow without knowing what they mean or why they’re used, and now the introduction of AI which is scary for an industry already leaning so heavily towards tools over thought. Not to mention AI and automation being a substitute for thoughtless testing, it’s going to be an increasingly dangerous world for testers who don’t invest in thought and understanding, quite possibly.
What are your go-to solutions for when you get stuck or run out of test ideas?
Taking a break is always a winner, getting overly invested in one way of thinking or observing or operating can be broken that way. Checklists, mind maps and so on with concepts and ideas to consider. I’ll very likely have my own domain checklists, risk maps and so on that might tell me both what’s important (so that I check my coverage for it) and what’s missing from those checklists so I can consider alternatives.
Understanding focus/defocus is very valuable to come unstuck and give some zooming ability to your scope and attention, too, I find.