Friday, June 5, 2015

Testing Blindness in Software Testing

Testing Blindness

Testing Blindness is a pathological (harmful)situation in which the desired path is achieved for the wrong reason
There are three types of testing blindness
 
Assignment Blindness
Assignment Blindness occurs when the buggy predicate appears to work correctly because the specific value chosen for an assignment statement works with both the correct and incorrect predicate
Example:
Correct
X = 7
-------
if Y > 0 then
Buggy
X = 7
-------
if X + Y > 0 then..
If the test case sets Y = 1, the desired path is taken in either case, but the bug still exists
 
Equality Blindness
Equality Blindness occurs when the path selected by prior predicate results in a value, that works both for the correct and buggy predicate
Example:
Correct
If Y = 2 then
-----------
If  X + Y > 3 then
Buggy
If Y = 2 then
-----------
If X > 1 then
The first predicate, if y = 2 forces the rest of the path, so that for any positive value of x, the path taken at the second predicate will be the same for the correct and buggy version
 
Self Blindness
Self blindness occurs when the buggy predicate is a multiple of the correct predicate, and as a result is indistinguishable along that path
Example:
Correct
X = A
-------
if X – 1 > 0 then
Buggy
X = A
-------
if X + A + 2 > 0 then..
The assignment (x =a) makes the predicates multiples of each other, so the direction taken is the same for the correct and buggy version
 

4 comments:

  1. Thanks for your informative article on software testing. Your post helped me to understand the future and career prospects in software testing. Keep on updating your blog with such awesome article.
    Regards,
    Software training|Software testing training in chennai

    ReplyDelete
  2. It's very helpfull to us do like this and make eassy to learn

    ReplyDelete
  3. This comment has been removed by the author.

    ReplyDelete