Software Testing is a method to check whether the actual software product matches expected requirements and to ensure that software product is Defect free. It involves execution of software/system components using manual or automated tools to evaluate one or more properties of interest. The purpose of software testing is to identify errors, gaps or missing requirements in contrast to actual requirements.
Software Testing is Important because if there are any bugs or errors in the software, it can be identified early and can be solved before delivery of the software product. Properly tested software product ensures reliability, security and high performance which further results in time saving, cost effectiveness and customer satisfaction.
Testing is important because software bugs could be expensive or even dangerous. Software bugs can potentially cause monetary and human loss, and history is full of such examples.
Positive Testing - In this type of testing, by entering valid data, it is checked whether the application works as expected or not.
For example:
There is a text box that accepts only numbers up to 99999, all other values
are not accepted. Testing will be Positive when we take as input values
0-99999 numbers and check whether the system accepts these values or not.
Negative Testing - In this type of testing, by entering invalid data, it is checked whether the application is doing something that is not allowed.
For example:
In the text box of the previous example, let's take A-Z, a-z as input values
symbols, the application should either not accept or give an error message.
Boundary Value Analysis – In this case, only boundary values are checked. Moreover, if the entered data is within the boundary values, it is Positive Testing, and if it is outside, it is Negative Testing.
For example:
Text box accepts only values 0-10, all other numbers are invalid.
The edge values -1, 0, 1 and 9, 10, 11 will be checked.
Equivalence Partitioning – In this case, the input data is divided into parts. Each part must be checked at least once. valid values are used for Positive Testing, invalid values for Negative Testing.
For the previous example, we divide the input data into 2 (or 3) parts,
for example -10 to 0 and 0 to 10. To check, we take 5 (Positive Testing), -5
(Negative Testing).
Useful Links:
Software testing /video tutorial/eng
Software testing /video tutorial/rus
Software testing /article/eng
Software testing /article/en