Testing like Dr. House.

Reading Time: 5 minutes


I had time to revisit the show House M.D. recently and while watching it I found out how much a tester has to learn from Dr. House. So I’ve picked up some of my favorite House-isms, that I believe are relevant for my career as a tester, and might be helpful in yours.

“Casual cases are boooring”.

I’m a strong fighter against the habits, the cliches, the unified approach of doing things in life in general. You probably recall how House was leaving every case that was not interesting for him, every diagnosis that just too easy to make. It’s same with testing – I hate doing trivial tasks, they are dumb, boring and in general – pain in he ass. To all of you that will say, “yes, but sometimes it’s not your call whether or not to do a boring task”, my answer is – “you are wrong, it is”.

You could always find a way to reinvent your work as a tester instead of doing things “the old way”, because it’s more convenient. Doing things they way they were always done, doesn’t lead humanity to progress, if you don’t challenge yourself, try to reinvent yourself, you’re doing nothing besides turning yourself into a boring old guy who has nothing to show, e.g. you are turning into a mummy.

So, what to do?  Be proactive, try new stuff, new approaches, new tools. Get involved in online communities, LinkedIn groups, forums, see what’s bugging other people around and try to be useful to them and to you. Always try to keep yourself up to date with the latest trends in our industry, this is critical, other wise you just risk to be pushed to the side by someone who doesn’t bother doing it on daily basis. A good way to do so, is also pay interest in areas which are not testing related – try to adopt knowledge that’s not domain specific, but might benefit you, if you are clever enough. For example – I recently watched a Social psychology course on coursera, is that in my domain?  Hell no, and yet I believe it would be helpful to gain additional knowledge that could improve my general understanding on human behaviour, that would really help me while doing a usability testing, for example.

See also  Organic testing

Differential diagnosis.

Believe it or not, as testers, we are doing this on daily basis. Every time you ask yourself if this is a bug, or if this is the normal behavior of the application, is this the correct fix or it’s just covering an underlying issue. I like the term that James Bach uses, every time we are asking these questions, we are making an “educated guess”, just like House does with his students. We take all the symptoms we have, we put them on white board in our minds, and we solve a puzzle, making an educated guess where a vulnerability is hiding. We build our hypothesis and we test it, just like House by applying specific treatment. If we are wrong, we leave this one and move to another, if we are right, we got our defect and we can forward it for fixing.

“Everybody lies”.

It’s true, like it or not, it is. In life and in software development. So, if you want results, better stop blindly trust anything. Here’s why:
Developers will lie to you – they will ensure you there’s no issues in the software, or you don’t really have to log that defect, it’s a minor fix, it will be done in a sec. No, just say no.

Other testers will lie to you – your own teammates will swear to you it works, they tested that functionality, it’s flawless, yada yada. Sometimes they will do this on purpose, sometimes not, everybody does it, just learn to be alerted.

The software itself will lie to you – under the same conditions and in the same environment there will be a defect, and there won’t. If you never caught a defect like this, you have a boring job so far. 🙂

See also  Some kick ass blog posts from last week #6

The meaning of all this, in software testing trust will lead you to only one thing for sure – get your ass in a lot of trouble. So, save that for someone else, doubt things, ask questions, verify, experiment.

Sometimes you have to break rules – all of them.

If I have to paraphrase Spiderman’s uncle, it’s not the great responsibility that comes with great power, but the great sacrifice. All innovators need to sacrifice something in order to prove themselves right, sacrifice time, sacrifice trust, sacrifice credibility. Unfortunately, that’s the only way to do it, here’s the reason – humanity doesn’t seem to like innovation too much, meaning we don’t strive to innovate, we try to keep the status quo, until some crazy bastard does something nearly unbelievable and rubs his success in our dumb faces. Then, we figure it out, and say to ourselves, “may be I can do it on my own” and be creative, or whatever.

So, we need to break rules, we need to take risks. We need to use tools and approaches no one used before, this is our only chance to get close to creating something new and valuable. It’s just like the great geographical discoveries – you can’t discover new land if you visit the same places over and over again. Of course, fools will try to stop you all the time, will tell you you are wrong, you are nuts, you are wasting your time, and most of the time they will be right, but once they are wrong, you will have huge advantage over them.

Hit it as hard as you can, if it dies we were wrong.

Yes, risks are dangerous, they might cost us our time, might cost us our credibility, our job, perhaps. If we don’t take risks we might catch 95 % of the bugs and do just as much work as we are supposed to, nothing special, but enough. But we are not happy with the 95% everyone could get, we want these 5% that no one else will find, that’s why we have to push the limits.

See also  Software testing is... part 2 - rooted in social science

Leonardo da Vinci was one of the greatest minds known to science and art in our history. And to all the people living the same time he did, he seemed totally nuts, they considered him a necromancer, a witcher, follower of the devil, he was constantly in danger by the inquisition, because he was too curious and not willing to obey orders given to him by dumb people. And yet, he was doing weird stuff, he was buying birds only to release them and watch them fly, he was visiting morgues to dissect human bodies, he was writing right to left, instead of left to right. But all these weird stuff gave us some of the biggest advantages in robotics, aerodynamics, engineering, anatomy, medicine, art and many more. All these thanks to a “crazy guy”, who was way too busy to create the future instead of listen to others. Sounds familiar ?

Well, that’s the creative drive that I want to teach people, that sort of passion to risk everything in order to earn great achievement, because as it turns out, that’s what keeps our world moving forward.


Please follow and like us:


Senior software engineer in testing. The views I express here are mine, they don't represent any position held by any of my employers. Experience in mobile, automation, usability and exploratory testing. Rebel-driven tester, interested in the scientific part of testing and the thinking involved. Testing troll for life. Retired gamer and a beer lover. Martial arts practitioner.

More Posts - Website

Follow Me:

1 thought on “Testing like Dr. House.”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.