Friday, 19 October 2012

Beware and BeAware of defects : My take on Defect Probing


Hi again to all who have stopped by to read this.
We all have seen so many signboards hung across at so many places.One which most of us have seen hung prominently across gates of houses is "Beware of Dog".
What has this got to do with the title of the blog? Please hold on till I complete my write up :)
Coming back to signboards ,me as a kid was not just petrified but would refuse to enter the house where such signs were hung despite the person was a close acquaintance.It is no different now since I am still petrified of pets.
Now if you have noticed the word "Beware" could make even a kid wary of something ,it carries a message indicating one needs to tread carefully.
Similarly in software testing when one encounters a defect it is something one needs to say to himself/herself "Beware" this seems a defect or "BeAware" there could be more defects lurking in the vicinity.
Now why would one be careful or wary while one encounters a defect is the question which needs an answer.I could recollect some instances why it helps a person testing a software to Probe Defects.

Let me tell you how I used to begin my task while I was a novice(I don't consider myself an expert even now,I can do fair bit of testing as I have moved away from checking ,or so I think) I would religiously login to Defect tracking tool and go through defects logged by other test engineers be it from client or from our own team.I would look at them and curse myself why I failed to log something what they have logged.
Not that I had not logged defects but I always felt I should have raised defects what others have before they did and why those defects did not occur to me.
Simply to say I was naive and stupid.I always felt I should be the guy who should log all defects and should become a superhero of sorts.This mindset led me nowhere and put me into sorts of depression.But what I learnt from this exercise was I would invariably learn more about the application that what requirement specifications don't often tell and also about way another tester has arrived at scenario which led to such defects which I missed or that which never occured to my mind.
Defect tracking tools are excellent learning ground even for seasoned testers because every person is unique not just in appearance (forget the twins ,siamese or otherwise say the chinese) but in their thinking or in their thought process as a whole.So one gets to understand some concepts which can be used or implemented while testing another application or you could end up improvising or modifying such ideas to suit you to unearth more defects.
Let me recount here an incident which happened while I was still grappling with testing (if you have read my first post about me landing into a big company and pushed or masqueraded as Lead to client when I was not even a simple software test engineer) when I was asked to test an application for this client who happened to be a giant in Publishing domain.The sole purpose of the application was to enable user to get their ads to be published for which he had to select a template where he could upload a picture and add text ,preview and in case he liked what he previewed he could order 'n' number of copies to be published.
The template was built in such manner where user could choose either 1x1 which meant 1 picture and 1 text for the picture,similarly 2x2 displayed 2 holders for uploading 2 pics and 2 textwindow for the 2 pics.
I observed for 1 x1 template the template looked fine.But for 2x2 template looked skewed with 2 pics and 1 textwindow.I promptly logged defect.Same was observed for 3x3 and so on.
Once fixed I decided to probe further,2x2 now had correct number of text windows and holders for pics and below each text field was a Done button where user could upload picture enter text and click on Done button,this should result in Done button getting disabled for first section of template.Infact clicking Done for first section resulted in Done button getting disabled for the second section of template also even when second picture and text were yet to be entered.So basically a user would be unable to submit any picture or text for remaining section of template once user had clicked on Done button.This was a faulty design!.

So a lesson I learnt that day that little probing here and there around defects certainly helps.
Just as a developer is wary of defects logged by testers a tester should also be wary of defects logged by others testing as well as defects lurking within vicinity of existing defects,also the exisiting defects can act as learning lessons for someone new to project and even for others looking for some fresh thoughts.

Thursday, 18 October 2012

My first Blog
Thanks for stopping by to read my first blog.
I have been inspired by Pradeep of http://testertested.blogspot.com to come up with a blog and write and learn from many of you ,as they say "learning is a continous process a journey in itself and not the destination".
How did I take up software testing?
Well as Pradeep puts it in one of his blogs ,I was majorly into software checking and not testing.But how I entered into this field is an interesting question in itself as I had no intention of entering into field of IT ,after all I was graduated in Mechanical engineering.
After graduating from engineering and struggling to find a job in my chosen field I was left with nothing but many people chiding me for not able to find a suitable job despite having got a so called First Class in my Engineering.My dislike for IT or anything related to computers didn't help me much either,except for some CAD softwares I had no inkling of other softwares except say a word,excel or ppt.
Then came a company which offered me a job into checking (yes checking) their CAD models which they had designed.I took it up thinking I could design models better than what their own engineers had. Then someone remarked I was doing a great job and should move into software testing.Attended some trainings and presto landed up in a big services company as a TEST engineer (rather CHECK Engineer).

My work involved verifying or ascertaining if the web applications for some publishing giant worked as they should do.My initial enthusiasm of breaking the application was shortlived,my dream of learning from someone who with his vast experience what with him having worked in this big company and the inputs I could have in bettering art of breaking software all but came crashing.The person who was a lead wanted an onsite and so he made good his escape to another project leaving a novice like me to take care of project and the client.I was made a Lead and sole person responsible for quality of applications delievered to client,one wrong move and I would have to bid goodbye to not just to project but to company itself.
Again thoughts of struggling to get a job,barbs from so called near and dear ones as a worthless engineer who couldn't find a good job started to come back to haunt me.
The way I tested or thought I should changed dramatically after this,since logging of critical defects or defects which are beyond what the test cases (check cases) were frowned upon by project manager (Dev manager).Finally after many fights and many arguments over I moved out of the project to another one which was a Retail Point of sale application.
Application was vast and complex which was compounded by my limited knowledge of testing as also fact I had no one to look up to or ask what with my confidence destroyed due to experience I had in my previous project.Tentaive steps were taken and finally thought hard and long as to how to gain knwoledge on not just testing but computers or applications or how things work the way they work.
Many blogs written by well meaning folks helped me and has got me this far in my journey in field of testing.
I know for sure many who started off with dreams in their eyes and seeing them crash due to various reasons whatever they may be.
Now with so many excellent blogs written by such excellent people who have not only honed their skills but willing to share and unlocking our minds so as that we start thinking again.
Honestly speaking I have learnt by many such wonderful blogs I list below here
http://testertested.blogspot.com
http://software-testing-zone.blogspot.com/
http://tuppad.com/blog/


There are many more now ,intially I started with the blogs mentioned above and slowly as I progressed in this journey added few more.Will update names of all blogs which inspired and enriched my knowledge in due course.
Thanks to Pradeep Soundararajan for inspiring me to start this blog.Will definitely share my views,my journey and my learnings and above all more of my mistakes over the years.