What is a software bug
is a harmful microorganism, typically a bacterium 🙂 , an error, flaw, defect, failure, a mistake in coding, an error in designing, faulty requirements in a computer program or system that causes it to produce an incorrect or unexpected result, or degrade its quality or in some times performance..
How to remove bugs?
Well, if one is to remove the bug(s) from software, the first step would be to actually find them. This is where the QA team(s) come up. Test cases and test strategies are built over and over in order to identify more bugs. Communication and collaboration between testing teams are essentials during the bug hunting process. After bugs are located, then the development teams take over, so as to fix them. But how can one actually identify/find them?
Trust your gut
All software have bugs, none is 100% bug free. A good test strategy along with effective test cases is a sure way to go, but a bug-hungry tester never totally sticks to the strategy and impulsively follows it. This would seem like the tester is unintentionally wearing blinkers, following only the steps given to him/her. If time is not of the essence, everyone here and then, got their gut telling them otherwise from the testing strategy, exploring successfully scenarios beyond the already given.
Bugs are usually social in nature and they most probably can be found in groups. Each bug or groups have the tendency of affecting the same place, feature or functionality, again and again, uniquely. Regular monitoring of the bug-catching mechanism and using test ideas of the past could assist, in locating bugs, by evaluating the pattern of occurrence of the bugs, responsible for the affecting the similar functionality. This information will then pass the knowledge and prevent developers, to make bug-occurring mistakes.
When you don’t have any prior or little knowledge and understanding of the software, you cannot gather requirements, which is a must requirement for formal preparation of test strategies, plans and documentation. One can always return to the most essential basic bug-attacks:
• Leaving any field blank (usually the mandatory to be filled.)
• Typing letters when a field requires numbers only.
• Typing numerous words or large numbers in the field, to check the acceptability and efficiency to handle, of the software.
Beyond the bug
Discovery of bug may appear to most people as job finished/well-done. but wait, this is just the beginning, Presence of bugs indicates holes in the software, thereby confirming software’s unstable nature. Testers should take the advantage of this instability, and try to bring the software to the edge, rudely by feeding it with unfeasible inputs, cutting down its resources, etc. that most probably will result into revelation of more harmful bugs.
Get support from colleagues
Communicating with fellow testers can only be effective. Conversation, describing of past bug hunting, techniques, new ideas; everything can bring enlightenment into one’s mind.
Back to basics:
So, you are out on a new bug hunting and you are stuck without knowing what to do. Everything seems so in place, that you cannot even believe it. Take a chill pill. Go with the given advice. It is not anything advanced but is a sure way to dig out some bugs.