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
Reviewed by Unknown
on
01:46:00
Rating:
No comments