This is the 2nd part of how to become a software testing detective 🧐 If you missed part 1, you can read it here. Being an effective tester requires you to think like a detective, and no one is a born one. You don’t have to be a genius as portrayed in the movies, but just to think like a detective.
In the book “Lessons Learned In Software Testing” they say that the difference between excellent testing and mediocre testing is how you think. To master your thinking, you need to understand how your mind works. This article will discuss heuristics, biases, and some more practical tips to unleash the detective within you!
Table of Contents
- Part 1
- You’re here → Part 2
Heuristics are mental rules of thumb, or an educated guess to solve a problem. They are experience-based techniques that allow you to solve a problem quickly, with minimal cognitive effort.
Heuristics are fallible yet are essential to enable quick problem solving under uncertainty. A heuristic may or may not work, but these are ideas worth trying. They are not about finding the perfect solution for the problem- they is about choosing one quickly.
For instance, what do you do if you can’t find your mobile phone at your office? You may try to remember and check your workstation, drawers, etc., or even check the places where you have been last.
If that doesn’t work, you may ask your peer to call you and try to find it when it rings. If that too doesn’t work, you might use Google’s “Find my phone” option to find its location, or trigger a ring even when the phone is on silent.
These steps may not always work, but are something worth trying. These heuristics have been shaped based on your experiences with similar problems in the past. Detectives and cops have their own set of heuristics that they repeatedly use to solve criminal cases 👮♀️ Below are some examples:
- Tracking the last known location of the victim.
- Accessing the call records and financial details of the victim.
- Playing the good cop, bad cop game during negotiations/interrogation.
- Summoning people with a criminal history- Helps them get information from the community of criminals. A thief knows what another thief is up to.
- Providing false information to get the details they want from the suspects.
These ideas may not always work but are definitely worth trying. What are your heuristics as a tester? We all apply heuristics in our day-to-day life, but we may not be aware of them. Heuristics help you generate quick test ideas. Every tester has his own set of testing heuristics or ready-made test ideas that can be reused in most situations.
Learning heuristics enables you to add variety to your style of testing. You may learn new skills, tools, techniques, tricks, etc., which will help you to improve as a tester. Identify and develop your own heuristics and share it with the rest of the community. Furthermore, learn from other heuristics to strengthen your testing style.
Fresh eyes find failures. A new person who is not acquainted with the product comes with a fresh perspective. The novelty permits them to notice some critical issues the existing tester can be blind to 👀 Use this heuristic when there is a new member who joins your team. Pair testing, bug bashes, reviews, etc., are good ways to take advantage of fresh eyes.
Goldilocks is a Heuristics by Elisabeth Hendrickson, mentioned in her fantastic book “Explore it“. Goldilocks can be applied to almost everything you test. For instance, test with a too big, too small, and a just-right (optimal) value when testing an input field.
While heuristics speed up our decision-making process, they can also introduce errors ❌ Cognitive biases are unconscious errors in thinking that hinder our decision-making. We fall prey to some of these unconscious biases when performing software testing. Below are a few examples:
- Bandwagon effect– The tendency to adopt a specific behavior just because others are doing it. For example, choosing an automation tool only because everyone else is adopting it, without validating your testing needs.
- Authoritative bias– The tendency to blindly believe the opinions and thoughts of authority without questioning them. For example, choosing an automation tool only because your manager recommended it.
- Confirmation bias– The tendency to look for evidence that confirm your opinions. For example, you like an automation tool, and you look for positive reviews that strengthen your opinion and try to dismiss the facts that disagree with your preformed opinion.
A good detective avoids making judgments or letting their feelings, emotions, beliefs, and prejudice get involved during the investigation. But it’s easier said than done. We are not as rational as we think we are. There are over 180+ cognitive biases that interfere with our decision-making and compromise our rationality.
Why Do We Think The Way We Think?
Our brain likes using mental shortcuts for cognitive ease. We make countless decisions every day, and our brain can only deal with reasonable amount of complexity. We cannot deliberate about every single choice we make 🧠
So our brain relies on mental shortcuts (heuristics and biases), which require minimal effort. Heuristics and biases have been essential during human evolution. Our survival was dependent on making quick decisions for most of human history, so they are “hard-coded” into our brains.
We cannot avoid biases to a large extent. The first step in managing unconscious bias is being aware of them and how it can affect your decision-making. So as a tester, learn about biases and learn to manage them.
Use facts, logic, and reasoning to investigate and derive a conclusion. Let data inform your decisions instead of intuition. Also try to look at the KPIs, metrics, analytics, and data before making critical decisions. And finally, get different perspectives to ensure the rationality of your decisions.
💠 Good detectives know how to communicate and convey their investigations effectively. So strengthen your oral and written communication, as they are equally important as technical skills.
Also, try to learn bug advocacy. Bug report writing skills are essential for a tester and a detective. The primary work product of a tester is a bug report. The better your bug reports, the better your reputation is. Sharpen your bug reporting skills and learn how to advocate to get the right bugs fixed.
💠 Master the skill of asking questions. Questioning is a powerful tool that unlocks learning. Asking questions helps you to draw out the information you seek. Learn to investigate by asking well-structured and open-ended questions that one cannot answer with a “yes” or “no” response.
💠 Good detectives are active listeners. Listening is key to all effective communication. A tester’s role requires you to communicate with various people to gather information and make sense of it. So you must listen with undivided attention.
Don’t interrupt the speaker, and don’t think that you know everything. The better you listen, the better you understand and interpret information.
💠 Good detectives are patient. Sometimes, detectives work on cases for several months to years. As a tester, you may face situations that test your patience. For instance, late-night releases, replicating an inconsistent bug, dealing with an angry stakeholder, etc.
Sometimes, you need to work on tedious tasks and wait for hours before getting the critical piece of evidence that leads you to the bug. When you feel that your testing is rushed, consciously slow down. Patience helps you to be more effective and productive. Furthermore, it improves your collaboration with your colleagues.
💠 Good detectives think outside of the box. This phrase is one of the most overused jargon testers keep hearing. But doing so approaches the problem from a different perspective in new and innovative ways. This is the most desirable quality for every tester/detective.
💠 Learn to look at a problem from different angles. Ask yourself, “What can I do differently?” and practice thinking beyond the obvious:
- Question the status quo– Examine and challenge the traditional approaches to software testing. Challenging the status quo is the key to innovation.
- Play devil’s advocate with yourself– Argue against the idea, even if you favor it, to further examine its strength/weakness.
- Organize and structure your thinking– Create a mindmap of the problem to unleash your creativity.
Detectives and testers uncover the truth, and the valuable information you discover about the product helps your organization make informed decisions. The detective part of testing makes it more exciting and engaging. In this and the previous article, we learned:
- Software testing and detective work have a lot in common. Every tester is a detective.
- Cultivate mindfulness is the secret behind every successful detective.
- Avoid making assumptions, and be skeptical of any information offered to you.
- Add mental models to your thinking tool kit and deliberately use them in your decision-making.
- Heuristics are fallible yet are essential thinking tools to enable quick problem solving under uncertainty. Identify, develop and share your heuristics.
- Learn about biases and how they can compromise our rationality. Practice being aware of your preferences.
Be a good detective – be a good tester! Now go ahead and put your learnings to practice 💪