subject: Software Testers Are Lateral Thinkers [print this page] Question: What is round and red? Question: What is round and red?
Answer: A cricket ball.
Question: What is round and white?
Answer: The cricket ball dipped in flour.
Question: What is round and black?
Answer: The shadow of the cricket ball.
This is how lateral thinking brings out different scenarios of a cricket ball which is round but with different colors. Lateral thinking was coined by Edward De Bono in the book New Think published in 1967. Lateral thinking defined as solving problems through an indirect and creative approach, using reasoning that is not immediately obvious and involving ideas that may not be obtainable by using only traditional step-by-step logic.
For Software Quality Assurance and Testing; software testers have to be lateral thinkers to dig various possible scenarios for which the written code may crash or give incorrect results. A developer creates the code keeping in mind that the code will face only the scenarios it was built for. But in real world a person may enter anything in the input interface
Lateral thinking forces a tester to explore all the possible scenarios to test the software. Vertical thinking asks a person just to go sequentially. In a testing scenario, let us say we have to test a web interface which is asking for a number. A vertical thinker will just enter a number then a text and then some characters to test it out. A lateral thinker will try to paste HTML code, a long string of numbers or some special characters which actually mean something in SQL. He may even try to intercept HTML requests and modify them to test the robustness of the web interface. He will try to modify the web form so that he may input pictures where the number box was supposed to be.
Developers are becoming more and more creative these days but lateral thinking makes the testers even better. They look beyond the obvious and look for problems which may not have been seen or heard before. Lateral thinking enables the testers to explore new methods to navigate the software and figure out different methods to reach a page. Some of these methods might not be expected but allow the user to navigate anyway. This unwanted navigability can be curbed before it reaches the end user and generates unexpected results.
While providing Software Quality Assurance and Testing, testers should look forward to asking questions about the software no matter how dumb the questions are. These questions may unravel some problems which the developer or designer forgot to keep in check. New methods of testing may also be figured out using the same. For Example: A screen dialog says, Reboot your machine after installation. A question may crop up, Can I use the software without rebooting? Although the instruction clearly says to reboot this question generates a scenario when the end user starts using the software without rebooting. User may corrupt the system and lose all the data. This situation may not have been thought of before.
More minds, more thinking. Forming groups help generate a lot of random ideas which can together create a vast number of possible situations a software can be used in. Possibilities are huge and software testers have taken up lateral or parallel thinking as their main method to test any software which comes their way. It is said that a software tester should test the software as a monkey would do it. But I feel that testers are beyond that. They are lateral thinkers to supplement the developers to produce high quality products.