Software Testing Techniques

Software Testing Techniques

Software Testing
Testing is a process to find bugs, find them as early as possible, and make sure they get fixed.

Testing Types
1. White box testing (Also known as Clear Box Testing, Glass Box Testing, Open Box Testing, and Structural Testing): Used to test internal-based applications.
2. Black box testing (Also known as Skin Box Testing, Closed Box Testing, and Behavioral Testing): Used to test functional-based or requirement-based applications.
3. Gray box testing: Used to test web applications. It is a combination of both White box & Black box testing.

Testing Techniques (Testing approach)

The most popular Black box testing techniques are:
1. Equivalence Partitioning
2. Boundary Value Analysis
3. Cause-Effect Graphing
4. Error-Guessing

The White-Box testing techniques are:
1. Statement coverage
2. Decision coverage
3. Condition coverage
4. Decision-condition coverage
5. Multiple condition coverage
6. Basis Path Testing
7. Loop testing
8. Data flow testing software testing checklist sometimes testers confused when they have assigned any testing task for any product. They don’t know from where they should start the testing. To keep this in mind, I have collected information from many websites. Also, I have put my inputs and updated the information in a simple form. I have created a Checklist for website testing as well as Checklist for Desktop application Testing. 

The checklist covers the following points:
Step 1 – User Interface Testing (GUI Testing)
Step 2 – Functionality Testing
Step 3 – Interface Testing
Step 4 – Compatibility Testing
Step 5 – Security Testing
Step 6 – Performance testing

Equivalence Partitioning
Equivalence partitioning is a software testing related technique with the goal:
1. To reduce the number of test cases to a necessary minimum.
2. To select the right test cases to cover all possible scenarios.
Following example of a function has the pass parameter “month” of a date. The valid range for the month is 1 to 12, standing for January to December. This valid range is called a partition. In this example there are two further partitions of invalid ranges. The first invalid partition would be <= 0 and the second invalid partition would be >= 13.

…….. -2 -1 0 1 ………………….. 12 13 14 15 ……………
invalid partition 1 valid partition invalid partition 2

It is sufficient to select one test case out of each partition to check the behavior of the program. The values within one partition are considered to be “equivalent”. Thus the number of test cases can be reduced considerably. Equivalence partitioning is no stand alone method to determine test cases. It has to be supplemented by boundary value analysis.

Boundary Value Analysis
Boundary value analysis is a software testing related technique to determine test cases covering known areas of frequent problems at the boundaries of software component input ranges.

To set up boundary value analysis test cases you first have to determine which boundaries you have at the interface of a software component. This has to be done by applying the equivalence partitioning technique. Boundary value analysis and equivalence partitioning are inevitably linked together. For the example of the month in a date you would have the following partitions:

……… -2 -1 0 1 …………………. 12 13 14 15 …..
————– —————————————
invalid partition 1 valid partition invalid partition 2

Applying boundary value analysis you have to select now a test case at each side of the boundary between two partitions. The boundary value analysis can have 6 text cases: n,n-1,n+1 for the upper limit and n,n-1,n+1 for the lower limit.  

Leave a Reply

%d bloggers like this: