Lessons I learned in Software Testing

Writing a good test case requires pragmatism and skill . I am not claiming that I am a good tester yet , but I made many mistakes . These are some of the mistakes I made which helped me learn a lot about software . A test engineers job actually requires both technical and political skills . Although political skill are not taken into consideration they are quite important . Developers tend to believe that they have done everything correctly and since they wrote the original code , it is quite difficult to obtain the same about knowledge about the code as they have . You will have a hard time convincing people  “ your point of view “ . One of the biggest mistakes I made was to try the edge scenarios first than the primary ones . Although it seems easy at first , it requires some attention and focus to execute . We should and must execute the primary scenarios first than the edge scenarios .

Some documentation is always better than no documentation at all . It is better to have a precise document explaining what is to be done even before the test execution begins . Another challenge is to execute the documented steps in a meticulous manner so that you can reproduce and track the bugs accurately . Once you find the bug  it is very important to describe the bug in a proper manner . That requires good communication skill both written and verbal .

Test automation saves time and I believe whatever that can be automated within the time allocated should be automated , well written automation scripts save time and reduce frustration . The challenge with automation is that it  quite impossible to inject a  human brain into a computer program . There are certain things humans do well than computers without much difficulty . You might face issues with timing and synchronization. It is ideal to do automation when UI and features are quite stabilized otherwise  we may need to change our code pretty often and waste a lot of time where we could have used that time for testing the software / product under consideration .

Gaining respect as a tester is also quite challenging , test requires a different sort of skill , not everyone is gifted with that kind of skill ( I myself is pretty bad in this respect ) . But  I believe all skills can be mastered with hard work and patience  . Tester’s generally do not have deep granular level  knowledge of the product as that of a developer , but they know how things are supposed to work . Developers consider therefore testers as “less technical “ mortals . But the real world fact is that technically superior products may not be very successful in the market . I am developer myself by heart  and have developed compilers , operating systems , games , emulators , graphics libraries and so forth  ( I am a MCPD too  :) )  , I believe my experience as a tester will make me a better developer . The path I am trying to pursue is to gain more knowledge and improve my communication skill so that I can gain more respect .

 

I aspire to be an awesome developer and testing is an integral part of development  . That’s all for now , more musings at a later point of time