All about Negative Testing and its Aftereffect
Is there anything called Negative Testing?
This question might pull a range of answers from software testers with contrasting skill sets and experiences. However, it can even puzzle few conventional testers or neophytes. In spite of being a creepy subject, this question can be asked in any of the software testing interviews.
Some of the most common answers to this question include the testing of software’s efficiency to something it is not supposed to do. You can also get to hear some bookish example, like inserting numerical values in a text field and obtaining some error messages based on that.
Such an approach raises questions on the tester attitude, as the derived error message in the above case is quite obvious. By testing the software to ensure that it doesn’t do anything, it is not intended to do, is simply a baseless approach. However, technically one can say that it’s a kind of testing, as it proves to be a positive test for a scenario like this. So, can this be considered a kind of negative testing from a different aspect?
Going by the standard rationale, the given scenario falls within the perception of negative testing. Today, you can find various QA analysts adapted to such an approach to some level. However, for many testers such thing doesn’t exist. Rather, they are being practiced by different names. So, isn’t this confusing?
Now, coming back to the bookish approach, many authors have treated exploratory testing as the only form of negative testing. I believe, there would be as many considering it dull.
Unfortunately, this approach has slowly found its place in the testers mind to unnecessarily fill the time until the next code is available to test. Such desultory poking and being optimistic about getting a fair result is just a waste of time and is not worth one’s salt.
In this booming automated world, there are many smart testers who justify this approach by illustrating the need of manual QA. Eying the future, an efficient automation is the need for today for anyone in the field of software development. But, manual QA is soon to be replaced by smart exploratory testing.
With lack of proper planning, manual QA can prove to be a bottleneck. This often leads to a situation where one doesn’t know what to prod, when to prod, and what to prod it. Even in the agile method of software development, it is extremely important to maintain the efficiency along with assured quality of the code. With the fact that it can’t be automated, a manual tester can’t match the efficiency of Robots to test a given code.
In the same manner an adept engineer can go on grinding the entire device with a little hint, until he/she gets an error or warning from the system. A manual tester must precisely observe the latest modifications in the code and its aftereffects on the entire system. Therefore, while performing exploratory testing a manual tester must know his area of focus. Moreover, he must wander how far he can stray into negative zone.