Friday, June 12, 2015

Software Test Techniques

Software Test Technique is one of the important factor while we design the test cases.
Using a proper test technique can minimize the defect count and uncover all the defect of the tested object.

There are various test techniques in both the test types 1. Black Box and 2. White Box
In this post I am going to discuss only Black Box Test Techniques.

Test Techniques in Black Box testing type are
  • Boundary Value Analysis (BVA)
  • Equivalence Class Partitioning (ECP)
  • Error Guessing
  • Decision Table
  • Cause Effect Graphing
  • Pair Wise
  • Syntax Testing
  • Orthogonal Array
Before going to discuss on any test techniques, one must understand where test techniques should apply and why? How to apply is the third major point.


Here I am trying on step wise.

Boundary Value Analysis (BVA): As name describes, boundary value. Now what are the object in a system / software application can have where boundary lies?
In a system the major components are
Text Boxes, Text Area, Radio Buttons, Check Boxes, Selection (drop down compo box), Multiple Selection, Menu items, Images, Links etcs.

For all above mentioned controls we can only pick items or click on given/ displayed value except Text Boxes and Text Area.
Where: Through this analysis, we can understand these two fields will accept manual input, so we can identify what are the limitations of manual input in these two fields.

Why: To know the Text Boxes and Test Area limitations for accepting value we use this technique.

How: Lets assume there is a text box which accepts 6 - 30 character value. Now as a test professions we validate the system in two way
1. System should accepts the Minimum, Maximum and in between values
2. System should accepts the Less than Minimum, Greater than Maximum values

This helps us to identify the test data.
Now in this case

Minimum-1    Minimum    Maximum    Maximum+1
          5                  6                  30                 31

It means system should reject 5, and 31
and system should accept 6, and 30 and in between value.
Now we have two set of test data rejected (invalid), and accepted (valid).

Using this technique we identify our test data 5,6,30,31. At test designing time this test data ensure us that if we validate application with this set of data then we can say that application is behaving as expected.