Think Like a Tester

“To Err is normal, but uncertainty is not welcomed”, Is this phrase applicable for risk in software testing? Every software faces the risk of an unpredicted or negative incident that can downside the quality of it or cause it to wrap up completely. First of all, it’s the responsibility of a tester to recognize what is risk and the impact of risk on the overall quality of the product. The probability of risk ranges from 0% – 100%, and is a possibility, not a certainty. The possibility of a risk becoming a consequence relies on the level of risk associated with it.

To understand the possibility of risk, below are a few prerequisite qualities a tester must have:

Technical Thinking:

The moment a tester overhears the word “technical”, the first thought that comes to his mind is coding. The tester should also be aware that there are many technical testing abilities and skills a tester should possess to successfully complete his testing, many of which have nothing to do with coding. A few are pointed out below:

  • Identifying the tools required
  • Viewing log file
  • To make sure that required documents are updated
  • Test cases are updated
  • The local branch is updated with the master

Creative Thinking:

“Testing is an art” and thinking creatively doesn’t have to be a struggle. Creative thinking is the ability to utilize different methods to do the same task and don’t limit to a single piece of the problem. It is a good practice to use this strategy in testing which would enhance the testing skills. A tester has the quality to generate new ideas and possibilities that others can’t view. Look for issues that can exist and that can be visualized.

Practical Thinking:

A tester is also a practical thinker who puts one’s plan into practice. Practical thinking is adapting to the environment or changing the environment accordingly to pursue your goal. Assume that there is an application to test within a given time period, so that the project is running as per schedule. The ideal steps to follow are:

  • Identify the issues
  • Prioritize the issues
  • Emphasize the highest priority task
  • Use tools which are required for testing
  • Communicate

If you are satisfied with the test results, notify the stakeholders about the result and give a green signal for the release. If you are not satisfied due to some bugs or other issues, then do not release, work with the team and ensure that the bug is investigated and fixed.

Black Box thinking:

This is a testing technique where a functionality is tested without having knowledge about and not looking at the internal code structure. Black box thinking helps the tester to think different from the programmer and more likely to anticipate risk if the programmer missed it. In this, we just focus on the inputs and outputs without having the internal knowledge of the product.

Analytical and Critical Thinking in Software testing

I would like to brief on the capabilities which are most important in the tester point of view.

Analytical Thinking:

image showing a man deep in thought

Analytical Thinking is the ability to think distinctly and logically about what to do or what to assume. It’s not a matter of piling up the information. A Tester with a very good knowledge does not necessarily have to be good at analytical thinking. An analytical thinker has the aptness to conclude the consequences from what he knows, to utilize the information in hand to solve problems, and to look out for the relevant sources to update himself.

Some tips to improve Analytical thinking are:

  • Be a good listener
  • Be observant
  • Learn how the process works
  • Practice problem-solving skills
  • Improve decision-making ability
  • Play brain games
  • Read more
  • Ask Questions

Here is a situation where we would have to think analytically. Mike works as a tester in an agile team. In a sprint planning meeting, the product owner asks – “Hey Mike, how much time do you think it takes to test the feature? Would it take more than 16 hours? What is your opinion, Mike?”. In this case, the product owner has offered and influenced Mike’s estimate. Mike might end up in estimating which would be close to 16 hours without being logical. This may later lead to inaccurate estimates and delays in releases. When making complex decisions, do not act briskly, slow down, ask and think instead of making a quick decision under pressure.

Think like a detective, dig to find something new that others miss out. So next time you get a feature to test, just keep an open mind and think it thoroughly.

Critical Thinking:

sideways silhouette of a man's head thinking about various topics like organization, making checklists, etc

It is an ability that assists you to see the facts more evidently than wrong assumptions. A software tester who is a critical thinker has a talent for analyzing, problem-solving, interpreting and communicating. Being a critical thinker would help you to observe and discuss things more clearly.

Critical thinking takes a lot of effort. Most testers avoid this; however, this is what we should concentrate on. The tester must be fully aware of the software they are analyzing. It involves a continuous mode of asking questions and testing of every environment until the doubts are cleared. Even if you have the right application you must look at the user experience of the application.

Let me share an incident that I know about, one of the cab services in India had serious security issues in their system which allowed some users to exploit this vulnerability and ride unlimited free rides at the expense of the company. These vulnerabilities were pointed out by the hackers who were working in other companies and also had the knowledge and experience of testing several applications similar to it.

They were able to exploit the glitches in API and prove it by getting free rides for unlimited no of times. They clarified that a person with a basic amount of programming knowledge can exploit the glitch. Later on, those hackers, helped the company to point out the vulnerabilities and resolve them.

This is where critical thinking comes into play. A critical thinking approach when testing the security of the application could have avoided such an instance.

Finally!!!

The world of manual testing is one of the most demanding and valuable jobs in the IT industry. When done correctly, testing is a strategic challenge and shrewdness between the tester and an application to discover unseen bugs, usability issues, security concerns, and so forth. It is a task to analyze the application to provide quality-related facts to stakeholders. If you can identify and understand the different thinking patterns, it will help you ask relevant questions, and come up with solutions.

The contents listed here are based on personal experience. There are many other blogs on these topics which you will find useful or suited according to your preference to develop your testing skills such as:

  1. Software Testing Blog
  2. Software QA Test
  3. Agile Testing
WE WOULD LOVE TO HEAR FROM YOU