How a Spanish joke reminded me of Software Testing.

Before the hustle and bustle of the work day set in, a colleague of mine and I were discussing a picture someone had drawn on a post-it and left on his monitor.

Screen Shot 2017-12-08 at 09.11.22

The message was clear, someone wanted to thank him for his efforts recently, which is a lovely gesture. What wasn’t so clear was the little picture in the bottom corner. Within the context of the message it was easy, the picture represented someone in the water. However, take the message away and the picture becomes less clear. I described it as one of those balsa airplanes with a rubber band propeller (indicated below), flying above the clouds.

Screen Shot 2017-12-08 at 09.18.12

This led my colleague to introduce me to a wonderful joke that he was told when he was growing up in Spain. The joke goes like this:

Teacher: “Listen carefully: Four crows are on the fence. The farmer shoots one. How many are left?”
Little Johnny: “None.”
Teacher: “Can you explain that answer?”
Little Johnny: “One is shot, the others fly away. There are none left.”
Teacher: “Well, that isn’t the correct answer, but I like the way you think.”

Little Johnny: “Teacher, can I ask a question?”
Teacher: “Sure.”
Little Johnny: “There are three women in the ice cream parlor. One is licking, one is biting and one is sucking her ice cream cone. Which one is married?”
Teacher: “The one sucking the cone.”
Little Johnny: “No. The one with the wedding ring on, but I like the way you think.”

In the first part, the teacher’s context was that of an arithmetic problem. The teacher was likely expecting Little Johnny to say 4, but Little Johnny may have been considering a less abstract interpretation of the information provided. Little Johnny hears the word ‘shot’ and his internal model converts that to a gun, a loud noise and the jittery nature of birds. In that context it’s perfectly understandable that Little Johnny gave the answer he did.

What was the trigger for this misunderstanding? I think it’s caused because the teacher, unknowingly at the time, left their question ambiguous in the face of their audience. This is something Little Johnny takes advantage of in the second part, setting a trap for the teacher to lead to the inevitable punch-line. Little Johnny provides very specific information to describe the scene, building a picture or model in the head of the teacher and in doing so, introducing biases of perspective that the teacher will use to answer the question. Little Johnny then comes in left field with a question, which the teacher will attempt to answer with the specifically limited information Little Johnny provides and laughter ensues.

Why is this an important lesson for Software Testers?

Each and everyday, the life of a tester is filled with information that is provided either knowingly incomplete, or more dangerously, obliviously incomplete.

It’s very much the role for us Software Testers to remember Little Johnny and the teacher when we’re communicating across the disciplines of the teams we work with. As we learn what it is that the product is expected to do, we must force ourselves to remember that it is very likely that our interpretation of the information is incorrect or incomplete based on our own biases and perspective.

We can counter this by asking questions, even if we feel like it might come across as dumb to do so – I’d almost argue that this is exactly when we must ask questions.

The 5 Why’s technique is a useful tool for understanding the primary objectives and drivers of an activity. With it we can challenge the assumptions made by ourselves and others and take them from the world of implicit to explicit.

Specification by Example is another technique that is practised throughout the software industry to provide a consistent language to describe behaviours and expectations, however I find that it’s rarely used to its full potential. Yes GWT scenarios can provide a suite of regression checks but the real power is in the conversation that can be had between a group of people to again, make the implicit, explicit – this will be the subject of another post, so keep tuned!

Even if we think we have a complete picture, the reality will be that we don’t. Rarely have I met anyone who can keep a whole network of related systems, dependencies, contracts and expectations in their head or even down on paper, in a sufficiently useful way, to remove any risk of misunderstanding or gaps in understanding.

That’s why for us Software Testers, our most useful tool can be our ability to explore the landscape in front of us, with a specifically chosen context, to build up a more complete understanding of the actual with respect to what we think we know.

What’s stopping you from publishing your post?

This isn’t one of those ‘3 tips to drastically change your life’ posts. If you’re looking for ways to increase your own confidence or value yourself better, unfortunately there’s a good chance you’ve come to the wrong place. Maybe in the future, if I do find something that works for me and I think can work for others, I’ll hopefully share it with you.

You may have noticed the word hopefully in the opening statement and that’s what this post is about.

You may be thinking that it’s totally within my power to decide whether or not I share my thoughts, feelings, opinions and learnings to a wider audience? After all, I’ve been part of countless discussions on the subject of testing, I’ve given talks on the subject and written countless more documents that have been used to deliver software. Yet for some reason, when it comes to sharing to a wider audience I freeze.

The writing part I find relatively easy. I can be sat on a train and a thought or inspiration will come to mind, normally triggered by a friend or colleague. Out comes a writing app on the phone and before long there are paragraphs of text on the screen. Most of the time the writing part doesn’t even feel like a conscious effort. Many a time, people have sat next to me when I’ve been writing and they’ve commented on the ease at which word has transferred through finger to screen.

But soon after I’ve stopped writing and I’ve checked for errors and problems with flow, the doubt creeps in. Whilst I’ve been passionate enough at the time to write what I’m now reading, all of a sudden I start to question its value to someone else.

I’ve tried to analyse why this might be…

I do tend to write in the first person, which is definitely one of the issues. Coupled with my own self confidence hold ups, lots of ‘I’s can and does feel pretentious. There’s probably a post in this one issue alone, as I practice to become a better writer.

I also find that I tend to write more about opinions than usable snippets. Thoughts, feelings and analysis are the things I find fascinating. That each and every one of us has our own personal and unique perspective on everything about our world, fascinates me. However, I find that with that level of understanding and acceptance of the world comes another challenge. I know that I can never be correct and I worry that any advice I give, that isn’t used in the correct context, can cause more harm than good. I would absolutely hate to find out that something I’ve shared played a part in someone trying something that inadvertently sent them down a path towards guaranteed failure, because ultimately, I wasn’t able to articulate my thoughts clearly enough.

You’re now probably thinking what I am as I’m writing this – that my fear articulated above is taking things too far and that I do hundreds of actions a day which may inadvertently have a negative impact on someone else. For me the difference is obvious, and i rationalise them away as unconscious actions. Actions which I had not intended to have a secondary or tertiary impact. Compare that to a blog post which I’ve decided to share, a fully conscious decision and the weight of responsibility falls on to me like the weight of a house.

There is a third reason which I’ve contemplated, that I believe deep down that what I write is just rubbish and no one would take anything from any of it. It then becomes all too easy to get to the end of a post and just leave it in my drafts.

But, if you’re reading this then maybe I’ve taken the plunge and finally clicked the button that shares these ramblings with the rest of the world. If that’s the case and you’ve been feeling as insecure as I have, maybe you too can take the brave step and click publish.

I’d love to hear from you if you do!