Negative Testing

In many software testing scenarios, testers can use positive testing and/ or negative testing methods. Positive testing means that the item being tested reacts as expected when the expected input is entered. Negative testing typically means that the system can handle invalid input or unexpected user behaviour. However, if the system responds by rejecting the data and providing an error message, that is what was actually expected, meaning that was positive testing rather than negative testing.

Some suggest that trying to break the system would be considered negative testing. We could enter a lot of bad data to bypass system checks or try stressing the system by running hundreds of transactions at once hoping to crash the system. Or we could try other performance testing like load or volume testing and see what happens. BUT, if the design of the system has been thought out, then we will know what should happen in each of these cases. Therefore, the system is reacting in an expected way making these methods of testing actually positive testing too.

We frequently get asked:

    1. Have you defined your negative testcases?
    2. What do you expect to see?
    3. When are you going to complete it?

Some people define error message generation as negative testing, however, as stated above, an error message would be an expected response, also classifying this method as positive testing.

In conclusion we simply classify various types of positive testing and don’t worry about categorizing anything as negative testing. What do you think?

Discussion Questions

  1. How do you define Negative Testing?
  2. Was the Negative Testing successfully completed?
  3. Would you agree with the above?

Next Week: Monthly Meetings