This week I have spent significant time and effort in trying to understand heuristics and oracles. I have just started an awesome new job and decided what better time than to try to improve my testing approaches.
It’s not the first time I have tried. A few weeks ago I sat in this very spot (my couch) watching presentations and reading articles until my eyes stopped working, trying to get my head around it. I found that I had many ‘a ha!’ moments that were soon replaced with furrowed eyebrows as I read more.
This week my efforts came about when I experienced a moment that made me step back and go ‘what’s the heuristic here, and what’s the oracle?’. I posted on twitter in the hope to get feedback whether I was on the right track. Turned out I was kind of getting there, but still not quite. What resulted was many concurrent discussions on what heuristics and oracles were which resulted in me wanting to turn my phone off and give up on the whole exercise. Of course, once I put my phone away I continued to think about it, then started to feel that I must be stupid because I couldn’t think of anything else I had attempted to learn recently that had taken this long to get.
The next day I woke up feeling more rational; “I know I’m not stupid, I’m awesome, how could I ever possibly think that?!” I started to realise that the experience in learning heuristics and oracles felt foreign to me because I don’t push my learning enough. Most of what I allow myself to learn is really not that hard, which is why I learn it quickly. I’m the first to admit when it comes to learning (in particular, anything to do with maths) I can get very lazy. If I can’t get it on a first read, I push it aside.
Perhaps this is a Gen Y trait, I want immediate results! If it’s going to take too long, why bother? This won’t be a sustainable attitude for my extreme career goals, this is something I am going to need to improve on.
Anyway, back to heuristics and oracles. After my very public confession that I still did not get my head around them I received a few comments from others saying they are in the same situation. I felt much relief I was not the only one (I had my suspicions, but it was nice to confirm).
Towards the end of the twitter conversation, I received very useful advice from one of my favourite testing leaders;
@joolery Stop thinking about this for a while. You’re overthinking it. Read what the words say, and stop there for a bit.
— Michael Bolton (@michaelbolton) June 7, 2013
Once I read this I relaxed about it. I took a HUGE step back and tried to forget about it for awhile. The next day I was reading Thinking, Fast and Slow, and there was a lot talk about heuristics within just the introduction. Interestingly I found reading about heuristics outside of testing really helped. Perhaps it was thinking about it from another angle, or maybe I wasn’t putting pressure on myself to understand it in that moment. Whatever it was, it helped.
I am also very lucky that my new boss is someone that I not only admire greatly, but has a wonderful presentation on heuristics and oracles that she was able to take me through over lunch yesterday. Here she is talking about them (with robots too, awesome!);
After we finished our discussion at lunch I let the new information sit, and my plan is to not worry about it for a few more days.
So while this week contained many frustrating and self doubting moments, I discovered that learning something as tricky as heuristics and oracles is not something I can rush. Hopefully, with the help of some new goals, I will remember this attitude when I try to learn something else outside of my comfort zone and if all goes well, it will help me learn other things that will make me even more awesome than I already am.