This question arose to me when I was suffering very  badly, thinking of the influence of a particular task to the application. I felt  every time that these test cases are not sufficient..I have to create more test  cases.After testing those, again the same kind of feeling ..(the term 'deja vu'  is suitable :-) )  
 I feel,  "Yes, why not!". Now to explain why I  strongly support we need to consider all the ill-affect of not giving  access of the code to the tester.
 Tester's life revolves around the test cases. Let  it be any testing type..functionality, regression, re-testing so  on..
 If we want to cover all the details of a particular  test we will have infinite number of testcases. 
 Even if you are very much experienced in that  application you are prone to waste some amount of extra time for testing a  particular  change, because you are unaware where the code is changed, what  are the sections getting affected by this change, and hence clueless about what  to test which results in  the 'Deja vu' experience I explained  above.
 Now lets say, the code is accessible to the tester  and the tester can view the code change, if it is in a particular function you  can search the entire codebase for that function call and check out  where all it is getting called and depending upon the tester can plan how to  proceed the testing. The severity of the task or the change is directly  proportional to the number of times that particular function is getting  called.
 As the code is visible to tester a better,  effective, cleaner and precise the test cases become, which leads to saving of  lot of time and frustration of the tester.
 Now there is a confusion  here..is this a whitebox testing type ??
 That depends on the perspective of the tester. If  he is interested in the internal business logic and more concentrated on the  naming  or say the coding conventions or the loops and conditions involved  in the code he is doing white box testing.
 If the tester is satisfied by the boundary of the change associated with  the task or the scope of the code change and creates his testcases keeping   them into consideration. Then what the tester does is a blackbox  testing.
 

No comments:
Post a Comment