Software testing is the process of verifying and validating a software application to check whether it is working as expected. The intent is to find defects and improve the product quality. There are two ways to test a software, namely Positive Testing and Negative Testing.
What is Positive Testing?
Positive testing is the type of testing that can be performed on the system by providing the valid data as input. It checks whether an application behaves as expected with positive inputs. This test is done to check the application that does what it is supposed to do.
For example -
There is a text box in an application which can accept only numbers. Entering values up to 99999 will be acceptable by the system and any other values apart from this should not be acceptable. To do positive testing, set the valid input values from 0 to 99999 and check whether the system is accepting the values.
What is Negative Testing?
Negative Testing is a variant of testing that can be performed on the system by providing invalid data as input. It checks whether an application behaves as expected with the negative inputs. This is to test the application does not do anything that it is not supposed to do so.
For example -
Negative testing can be performed by entering characters A to Z or from a to z. Either software system should not accept the values or else it should throw an error message for these invalid data inputs.
In both the testing, following needs to be considered:
- Input data
- Action which needs to be performed
- Output Result
Testing Technique used for Positive and Negative Testing:
Following techniques are used for Positive and negative validation of testing is:
- Boundary Value Analysis
- Equivalence Partitioning
Boundary Value Analysis:
This is one of the software testing technique in which the test cases are designed to include values at the boundary. If the input data is used within the boundary value limits, then it is said to be Positive Testing. If the input data is picked outside the boundary value limits, then it is said to be Negative Testing.
For example -
A system can accept the numbers from 0 to 10 numeric values. All other numbers are invalid values. Under this technique, boundary values -1,0,1 and 9,10,11 will be tested.
This is a software testing technique which divides the input data into many partitions. Values from each partition must be tested at least once. Partitions with valid values are used for Positive Testing. While, partitions with invalid values are used for negative testing.
Numeric values Zero to ten can be divided to two (or three) partitions. In our case we have two partitions -10 to -1 and 0 to 10. Sample values (5 and -5) can be taken from each part to test the scenarios.
Testing helps deliver quality software application and ensures the software is bug free before the software is launched. For effective testing, use both - Positive and Negative testing which give enough confidence in the quality of the software. Real time users are can input any values and those needs to be tested before release.