Brilbook      Brilino

Ensuring application endurance through negative testing


We often see that project teams focus on the happy path testing checking all the valid conditions and valid data input.  Positive testing determines that your application works as expected and it doesn’t consider the scenarios to handle unexpected data. Due to project timelines and similar constraints, teams skip the negative test scenarios.

What is negative testing?

  • Type of testing that checks an application for unexpected data and input conditions
  • It is also referred ad error path testing or failure testing
  • It checks on unexpected data what will be the behavior of the application

Why negative testing?

  • To prevent application from crashing due to invalid inputs
  • To improve the quality of the application
  • To ensure that application can gracefully handle the unexpected or invalid data input by user.
  • To validate a application against invalid data
  • It helps to ensure defect free application
  • If negative testing is skipped, it might lead to

Examples of negative testing

  • If a user enters letter in a numeric field like Mobile number then the correct behavior in this case would be to display a message as ”Incorrect data type, Please enter a number”
  • Real time example: If a lift is designed in such a way that its capacity is of 8 persons weighing total of 400 kgs, what will be the behavior if the person and weight limit exceeds. Ideally it should give a warning signal  (This example refers to boundary value analysis technique)

How to write negative test cases

  • Consider designing a negative test case by selecting invalid input data or unexpected user behavior. Eg: If a email field is required and it should be in correct email format, then below 2 negative test scenarios will be considered.
  • To skip the required email field and proceed with submitting the form.

Designing proper and precise negative test scenarios requires skill, foresight as a tester. All these skills come with experience.

Negative testing plays a very important role in high performance software development. It is a quality control practice that ensures complete test coverage in an application

Project teams should consider critical negative test scenarios for the smooth functioning of the applications and showcasing the application in which it gracefully handles all the invalid set of input data given to the system.

While testing an application thoroughly negative and positive testing both are equally important.