Testing and Biking: Part 2 - License plate heuristic

Last week on the way back home I and my wife Sunitha found us lost in an area which I was not familiar with. It was around 12am. I could hardly see a pedestrian or other vehicles on the road (in our country we still do not use GPS :)). Sunitha was worried since it was getting late and we could hardly position where we were. I thought I shall park my bike on the left side of the road, and try finding some help. When I was about to park I saw a lady rider on her motorbike zip past me. I noticed her license plate and it was of my area KA-XX. I told my wife let’s follow her she might lead us to a road familiar since her license plate is from the same area. We followed her and she rightfully took us to the road we were heading for. Wow! Following the license plate did work.

Later I started thinking more on this license plate heuristic and I chalked out points, why this worked so well at that point.

1. Time: The time I chose to follow the bike with similar license plate was around 12:00am; most of us might be heading home at that time and seldom to other locations.
2. Rider’s gear: She had a helmet, backpack and an jacket on, no gloves, no saddle bags, no gear of her made me think she could be on a long ride, in fact her appearance looked like she was returning home from her office.
3. The bike: She rode a bike which delivered similar power to that of my bike, so following the bike was much easier.

Now, imagine some one using the license plate heuristic at 9AM, when most of us might be heading to office or college, etc. or imagine following a biker who has his touring gear on, or imagine following a bike which is more powerful or slower, when compared to the bike you ride. The probability you might not reach your destination will be high. Or why would one even use this heuristic in the day light when you could ask some one the route (people who speak a different language and those who follow best particle might still use it :)).

So, I feel using heuristics are good but deciding which heuristic to use when is very essential. In other words it again highlights the importance of context in our day to day problem solving or be it in the field of testing.

Testing and Biking

I love touring on motor bikes, one of the things that fascinates me about it is - it’s very hard to anticipate what the next challenge could be. There is hardly any information available on road conditions, re-fuelling stations, repair/puncture shops, medical facility, etc. Add to it the randomness when riding a bike, a dog could appear from no where, a bus might hit brakes all of a sudden, an auto might turn left without any indication, a villager could be crossing the highway with his cattle’s, etc.

Let me ask you this: Which training school teaches how to respond to such situations?
If it wasn't taught anywhere how did we learn?

There are a number of ways we learnt it and I am trying to list them and draw parallels to testing of why most of us fail to self teach testing?

Get curious about it: I first got curious to learn about it because I wanted to do it. When I read the biking portals and their travelogues, met bikers, heard them share their experiences about their biking trip, it made us imagine the challenges faced, the physical strength required, the concentration to keep reflexes active and most importantly have lots of fun, if we were to do it, too. This kicked some juices to flow within us and made us quiz and question more about the itineraries, ride, etc.

If someone describes their experience of testing software, that makes us think we too should have that kind of an experience, the juices have started to flow.

Listen to people: A most part of what we did when we asked them questions was to listen to them very carefully. We didn't say, "Hey, I went on a ride there and don't think it works that way".

When someone is sharing their testing story with us and if we start concluding the story before they do, we aren't anywhere close to listening.

Prepare: We try making a checklist of things that we need to have or carry like riding gear, equipment, clothing & accessories, first aid kit, etc, preparing our motorcycle, preparing ourselves before we start off a bike riding trip to some place. We ask around the experienced ones and use their ideas + form our own ideas of what we might need. For instance, riding gear with thermal liner might not be needed in certain regions, based on the weather conditions but when we are off to a place like the mighty Himalayas, we definitely need it. We try wearing the stuff that we bought to check how we feel about it or to see if we need to exchange. We may buy maps, search over internet a 100 times +, meet riders who have traveled before to know more about the place. We are happy to know the same information from several sources but never happy to say, "I know it and I don't need to see it"

Preparing to test is essential. Sometimes our testing looks sloppy because our preparation was bad. We probably didn't have a setup close to the customer environment or we don't know about it at all. Learning new things could be a part of our preparation.

Mistakes and Lessons: The human curiosity sometimes makes a biker not listen to what the guide says or try new things that might not be safe. In a rare case it could be fatal but mostly the biker has some bruises or end up choking the bike for a while. After the trip is over and the wounds are healing, the biker thinks over the mistake and learns to be extra cautious. Even if the biker followed the guide there is no assurance that the biker won’t make a mistake.

If we make mistakes, we must find special joy to learn from it and own our mistakes. But rarely with test case execution someone else is the owner and not me.

Test with me @