Tuesday, July 6, 2010

What You See is What You Test!

Testing is a skill and just like any other skill you learn it by practicing time to time. You practice it while you conduct testing on the job, offline when you are not testing, by visualizing different problem and thinking about how to solve them (or find defects) or by learning any technique and tool to enhance your knowledge areas.


Testing includes high level of observing skill. If you are a good observer then you can be a good tester (Off course you will also require other skills in addition!). When you test you observe:
    #1 You observe the behavior of the application
    #2 You observe the process and workflow in which application works
    #3 You observe what's going in and what's coming out
    #4 You observe how application behaves when induced with negative inputs
    #5 You observe how application manage error handling
    #6 You observe how application responds to a failover
    #7 You observe how application works under high load and stress


The key difference between an average and good testers lies in their ability and capability to observe what is being presented to them in a product. You observe based on what you understood from requirement specification or a design document or based on how a application is built and presented to you.


I have seen many times that good testers will find more defects as compared to average testers even if they are provided with same test scripts. The key difference lies in the ability of a good tester to visualize and observe the behavior of the application in addition to just exercising the steps mentioned in the test script. Good testers see more than average testers and they are able to test more conditions and increase their chances of finding more defects.


You can observe and practice following things while testing:
    #1 Observe the behavior of the function. Think whether the behavior of application is appropriate and as required?
    #2 Before executing any step think what are the possible states in which application can move and then check all of them one by one. Once you move between different states then compare the data to see if it is as required.
    #3 Monitor logs and identify any error generated by system. Read and try to understand the error as it may help you identify the cause and check other related scenarios.
    #4 Observe the trend of issues reported. This will help you identify weak areas of the application and help you focus on potential areas around which you may find more defects. 
    #5 While conducting testing whenever you are taken to a new window or screen quickly scan through and identify any other problems in addition to the function tested by you. Even though this may de-focus you from testing your key function at that particular moment but with some practice you can improve this skill area.


What You See is What You Test. It's all depends on you on how far you want to see...

No comments: