Positive Testing Vs. Negative Testing

As a web developer, the dearth for reliable software testing that enables verification and validation of software application is always felt. Testing not only ensures whether the software under test is functioning properly or not, but also ensures thorough efficacy for the application. This, however, is carried out by two different yet unique software application testing ways ‘Positive testing and Negative testing,’ both of which basically help enhance the quality of software application. As the name suggests they are two contradicting procedures yet are highly effective in getting the quality software at the end of the day. Let’s see how they are different from each other!”

As a Procedure: Positive testing is a procedure where the system is authenticated against the valid input data. The experienced testing professional here tests the fields with the data that needs to be inserted into the database. Suppose there is a mobile number field then the tester will test if the field takes digits or not? Then he will test if it takes upto 10 digits or not? Negative testing, on the other hand, is a testing process that involves system validation against the invalid input data. In above case, the tester will try to insert some characters into the mobile field and tests if it takes it. Then he will try to enter a mix of numbers and characters into the field for validation. He may also try to enter more than 10 digits or less than 10 digits to check if only valid input data is considered or not.

Set of Values: When the developer uses Positive testing for software application, only a valid set of values is checked. Under Positive testing, the developer primarily checks whether the application is behaving properly or not with its expected inputs. Negative testing whereas tests out whether an application is behaving properly or not with its Negative inputs. Suppose, there is an address field and the user is said to enter it without any comma, semicolon etc. Then the Positive tester will test the field by inserting only characters but the Negative tester will check if it takes comma, semicolon or only digits etc. By this way, Negative tester always tries to find loop holes in the application to make the application stable and reliable.

The Objective: The primary objective of Positive testing is to ensure that the software application always meets the specifications and requirements decided by the developer. It focuses more on the expected behaviour of a web application. It does not bother how the software application will behave under abnormal situations i.e. with invalid information or data.Negative testing differentiates itself by ensuring that the software application is not displaying bugs and errors when supposed to and displaying errors when not supposed to. The chief purpose here is to check the stability of a web application against inaccurate validation data sets.

Functionality: In a simpler term, a Positive test for software application involves writing the test case to accept only an accurate value. The test case here is written only with the valid input data to test the application thoroughly. A Negative test for software application, on the other hand, works by carrying out the test cases for an inaccurate set of input data. Here the test case is written with a set of abnormal input data to check the validity of the application. In fact, it ensures the capability of the application to detect errors or bugs in the user input values.

Performance: While the purpose of both Positive testing and Negative testing is to enhance the functionality of an application, the latter helps perk up the testing coverage of the user’s software app under test. The focus rests more on improving reliability as well as stability for the software application. Hence, Negative testing is a must for each and every application. If we are leaving the application for Positive testing alone, then the application will be unreliable and unstable one.

Boundary Value Analysis: This important software testing method basically includes values at the boundary. Testing is considered as Positive if the input data is employed within the boundary value limits. And if the input data is found on the exteriors of the boundary value limits, testing is then considered as Negative – both of which, help with ensuring utmost quality for software application. Imagine there is a field for Mobile numbers without any prefix then as per the programmer, it should be of 10 digits. Isn’t? So, the Positive tester will test the field by putting 10 digits into the application whereas the Negative tester will put 9 digits or 11 digits to test the application if it takes them as input.

Equivalence Partitioning: Under software testing, developers often adopt an ‘equivalence partitioning’ technique – a method that actually helps segregate the input data into several partitions. If thepartitions carry valid values, they are employed for Positive testing. Partitions with inaccurate values whereas are used for Negative testing.

Limitations: Though it seems that there is no limitation for Positive or Negative testing; but the fact is different. There are many situations where we have to compromise on our testing procedure. Imagine a static web application without any form or dynamic content. Where you will implement Positive testing or Negative testing? There is no scope in that case. Though,Positive testing can be done; but very limited scope for Negative testing. With Positive testing or Negative testing, we cannot test the entire application on a single shot. We have to modularize the application and then we have to perform both the testing procedure one after another. Even using Automation tools, we can’t perform both testing at once for the entire application. Many times, we have to stop the in-depth testing i.e. both Positive testing and Negative testing due to lack of resources and time. In that case, we have to compromise on the quality of the end product though.

The Conclusion – Why both are equally important?Positive testing and Negative testing are like two sides of a coin. We can’t ignore the importance of anyone in any case. When both are adopted the output is awesome; If any of them is neglected the end product will be ugly.

While Testing forms an integral part in software development cycle, it becomes even more important while outsourcing the software development part to a third party vendor. Mindfire Solutions has been a leader in provider quality testing services over the past decade. Apart from being an ISO 27001:2005 certified, Mindfire is also an ISTQB – Gold partner by virtue of having a large number of ISTQB certified Quality professionals. To reach for any Testing Services please mail to sales at Mindfire Solutions dot com.
Positive Testing Vs. Negative Testing Positive Testing Vs. Negative Testing Reviewed by Nishit Prakash on 01:46:00 Rating: 5