8/21/07

Should code be made visible to the tester ?

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.

8/15/07

Depth of Testing

Testing is more about heuristics than its about the computer science.A testing professional has to keep his eyes and ears open.
Complete testing is not something which you can gauge with some tools and you can tell "Yeah, I will complete it in a week". Hah...no way..what you can do is, you can judge the test cases and tell, what test cases can be ignored or 'not be carried out or documented'.But for that you need experience, shrewdness and better understanding of the software application you are testing.

When we consider the software application, you cannot tell what exactly is going on, what it does, whom is it for. Now don't tell me you can get the details from the requirement analysis, I would say no! you cannot get the exactness of the application. You need to derive from the requirement document consulting with the clients and the developers. You, as a tester need to churn out the details by tuning the minds of the stakeholders, those who are associated with the application.