06 October, 2009

The Power of Mnemonics

I always wondered how a few testers catch killer bugs so quickly. How is their intuition so sharp compared to others? Practice? In addition to practice, these testers find easy ways to remember important stuff that matters to them in different contexts. Mnemonics can be very useful to remember heuristics and oracles. I compiled the below list for me and you to learn and practice. Of course, with due credit to the creators of these heuristics and oracles.

Most of us probably read and learn about a lot about heuristics and oracles. While we continue to use them, we blindly stick to them forever without discovering our own heuristics or oracles that work best for us. Please note I have a lot of respect for the existing heuristics and oracles and the people who came up with them. All I want to convey here is for us to think and experiment more to see if we can come up with our own heuristics and oracles which makes better sense to the testing that we do.

Points to Note
1. I have intentionally not detailed the above heuristics because I want you to go read those wonderful articles/blog posts where these heuristics are as is (if you are not already familiar). Summon google for help.
2. James Bach's book 'The Secrets of a Buccaneer Scholar' has a lot more learning heuristics - Will update this list once I buy the book and read it a second time.
3. If you know of any heuristics/oracles or you have come up with on your own, please do let me know.
4. There is a bug in here. No clues. Lemme see if you can find it.

Addendum on 16th Oct 09
In Michael Bolton's words: "To HICCUPP, you can now add S, for Standards and Statutes--relevant laws or industry standards. F, for Familiar Problems. All the prior oracle heuristics are consistency heuristics; we suspect that everything's okay if the product is consistent with them, and it's not okay if we see an inconsistency. The Familiar Problems oracle is the opposite; we want the product to be inconsistent with patterns of programs that we've seen before, and here if we see a consistency we suspect that there's a problem."

@SimonWell I found 2 - but, of course, I don't know if they're what you were thinking about

I somehow knew that there was more than 1 bug even though I reviewed it a couple of times before posting.

Taking the acronyms of this gives: SSOWS - rather than SCOWS - bug #1?

Good Catch - this is the one I was looking for. When I read James Bach's book, I had captured SCOWS in my learning pad. However, while creating this post, I realised that SCOWS does not go with the listed heuristics. I need to refer back to that book to correct this.

The other bug was a failure on my review part. Thanks for letting me know.

Not sure that remembering anything in particular enables highly experienced testers to capture those killer bugs. I think we initially learn by practice, which then develops into intuition and finally a sub-conscious capacity to press the wrong button at the most inopertune moment. At this point you can aspire to being a "real" tester. The downside is that you carry this capability into everyday life and nothing is safe! This is why "real" testers become Ludites and carry pencils. Peter. e-test@hotmail.com

@PeterNot sure that remembering anything in particular enables highly experienced testers to capture those killer bugs. I think we initially learn by practice, which then develops into intuition and finally a sub-conscious capacity to press the wrong button at the most inopertune moment.

Like I said, remebering is just an augmentation to what testers already know and practice. If testers just end up remembering stuff and not putting it to good use, it is a total waste of time and energy.

F, for Familiar Problems. All the prior oracle heuristics are consistency heuristics; we suspect that everything's okay if the product is consistent with them, and it's not okay if we see an inconsistency. The Familiar Problems oracle is the opposite; we want the product to be inconsistent with patterns of programs that we've seen before, and here if we see a consistency we suspect that there's a problem.

//"Stories(Contrasting Ideas, Skepticism, Critical thinking, Lateral thinking), Systems thinking, Other Minds, Words and Pictures, Systems Thinking"Taking the acronyms of this gives: SSOWS - rather than SCOWS - bug #1?////Good Catch - this is the one I was looking for. When I read James Bach's book, I had captured SCOWS in my learning pad. However, while creating this post, I realised that SCOWS does not go with the listed heuristics. I need to refer back to that book to correct this.The other bug was a failure on my review part. Thanks for letting me know.//SACKED SCOWS is correct and Systems thinking appears twice is also correct. So what we thought as bug is not actually a bug :)Scouting Obsessively, Authentic Problems, Cognitive Savvy, Knowledge attracts Knowledge, Experimentation, Disposable Time,Stories, Contrasting Ideas (Skepticism, Critical thinking, Lateral thinking, systems thinking), Other Minds, Words and Pictures,Systems ThinkingJames Bach has mentioned System thinking twice, under contrasting ideas he says Skepticism, Critical thinking, Lateral thinking and systems thinking are some important tools he use to contrast ideas.--Dhanasekar S

@ Good Catch - this is the one I was looking for. When I read James Bach's book, I had captured SCOWS in my learning pad. However, while creating this post, I realised that SCOWS does not go with the listed heuristics. I need to refer back to that book to correct this.

The other bug was a failure on my review part. Thanks for letting me know.

>> I need to tell you very frankly - I need to learn a lot from you. You are simply amazing. What makes you amazing and an intelligent human being is 'accepting the mistakes and learning from them and avoid repeating them instead of proving you are right even when you know you are wrong'. You are a rockstar. Be a learner and be a passionate tester and a writer. You write very well. Kool :-)

Disclaimer

This is a personal weblog. The opinions expressed here represent my own and not those of my employer. In addition, my thoughts and opinions change from time to time. I consider this a necessary consequence of having an open mind. This weblog is intended to provide a semi-permanent point in time snapshot and manifestation of the various memes running around my brain, and as such any thoughts and opinions expressed within out-of-date posts may not be the same, nor even similar, to those I may hold today.