Intuition can't be found in tools
We name it Intuition when : We apply gut feeling We are certain that this path is important (even if it’s not spoken of in acceptance criteria/specifications), We apply judgement - things we cannot determine directly nor measure, or even wish to go against the measure/data. We sense something is not valid when we test.
While you test, there comes a scenario, you know something is not right. You do not have the confirmation, but again your gut instinct tells you to explore further. Most of the time, intuitions lead us to Insights.
Sales people use a combination of experience and intuition to read the room and gauge who needs to be convinced and what the buying price might be. Investigators, especially forensic investigators, know to dig for evidence. In social contexts, women are often highly intuitive and socially aware and know to gauge others’ intentions as well as to avoid conflict.
While Intuition is not explained, it is accepted. There are many definitions and explanations of Intuition. This is how I understand my Intuition with respect to Testing:“Intuition is the data gathered in the past from Experiences experienced in the past.”
Intuition in Testing : Most of the time, this data is gathered as a result of the earlier day-to-day life of ours as a tester :
- The bugs we found.
- The scenarios tested.
- The discussions we had.
- The production bugs.
- The logs we analysed.
- The chaos some other app made. etc.
To experience this, you need to accept that there would be uncertainty and that your intuition may not be accurate.
E.g. While I was testing the mobile app the crash/error was not getting caught in AppCenter. I could not understand what’s wrong.
After some time, I thought I should go check AppInsights (we moved all logs recently to AppCenter. AppInsights was a backup), it may have something helpful. As earlier, when there was no AppCenter, we used to check all logs in AppInsights. And yes, there it was.
This led to a separate investigation by the Dev & analytics team on why this might have happened, and how many such crashes/errors are being missed out on.
As you test, and build experience, mostly, you see the app or the journey and you know where it’s going to go wrong or what’s going to make it crash.
Intuition helps in discussions, to ask questions, to discover more information as we relate things with our experience and to try to gain more information about the product or the user.
When we test, we actually unconsciously are carrying all earlier experiences, and as soon as something similar happens, we know that this is not what we expect, or there is more to this.
Important: Intuition won’t happen if you have not paid attention while you did the testing in the past. If we do not pay attention, we will not capture the data, hence, we won’t carry the experience.
The intuition may not always be right, but it’s one way to have another narrow path, to test that idea.
Important: Do not try to activate Intuition. It is not guesswork. We don’t intend to find all our defects by accident or like brute force methods such as fuzzing. We are definitely not guessing here.
As you go on testing, with attention and concentration, the intuition builds up.
Tools & Intuition :
The tool does not apply experience.
The tools do not remember their experience.
The tool only performs what we ask for.
E.g. - If elementId/colour at the corner is changed, if we have put assert, the tool will fail the script. If we haven’t, then the tool will not apply the earlier data gathered to see what all differs from the earlier run. If there is a brief flicker at the end of the screen, automation will not catch it. When you see it, you will feel there is something different from the usual appearance here.
After automating everything, if you have not put the right checks, the tool will always give you all green. The tool will not tell you that there is a flickering on the screen or that some text is spilling out of the box.
For the tool to behave correctly, humans will have to put all the right permutations and combinations in the tool every time there is a new experience.
Artificial Intelligence involves applying statistics on data that we have gathered. For this, we need to know what data to gather, and then what statistics to apply on that data. While there are AI tools for testing, the concept of helping an AI model gain “experience” has not been solved yet. The “Learning” in Machine Learning (used for AI) involves training the AI on a data set. The purity and the labelling of the data for the AI equation being formed will determine the quality of the training. While the AI would learn that humans are likely to enter 100 instead of 10, it would not know to go check another data source or log destination, nor be able to transfer learning in one domain to a totally different domain. This is not a comment on the superiority of the human brain, but that we’re still on our journey of understanding how we think and reason.
Intuition, or the use of earlier gathered data, or computation of earlier experiences, cannot be found in the tool.
Intuition is not a skill one possesses. It’s an ability. You develop it by gathering the experiences.
Use your intuition to compute the experience and data and apply it when you test or discuss the probability of a feature to develop. Intuition leads us to insights and then to the test idea which could later get converted into a bug or an automated check.
Use Intuition to explore more and add more robust automation checks.