Friday, November 27, 2009

Multitasking - What is the limit?

My job as a software test lead requires me to multitask every day. I have to manage a team of testers, as well as perform as an individual contributor. At the same time I am working on more than one tasks, writing test case for one project, reviewing test cases for another project, testing for a third project. After my day in office ends, and I reach home, I am again multitasking. I am cleaning, I am cooking, I am feeding my dog, I am checking my mails, I am making sure that everybody in the house is comfortable. But the question that creeps up in my mind is, when I am doing all these tasks together, am I giving 100% to each of my task? Am I as good a manager as I am a tester? Or does the manager takes a step back when the tester wants to perform? When I am cooking a dish, is it my best effort? or it would have tasted better if I didn't have to wash the clothes in the washing machine at the same time?
I want to excel in everything I do. I want to make sure that people cannot point fingers at me. But when I am doing so many things in a day, I may not be focusing on one thing at a time, and mistakes are unavoidable. That worries me. This must be a problem faced by most working women who want to give same priority to their career and family. When my family needs me, I have to shift focus from job, I am afraid that my office considers it as a side effect of hiring a woman for the job. When I have a hectic day in office and do not have any energy left to do the household chores, my family might take it as negligence towards my duties. How do I maintain the balance?
I read an article in TOI which said "Today's woman: The multi-tasking genius". Is it really true? At most times I feel tremendous pressure to keep up with this statement. But at times, I want to shout and say, this is not true. I am not happy that I can multitask. But I have no other choice than to multitask. Shouldn't there be a limit?

Tuesday, November 17, 2009

Software Testing - My experience

I have now completed 6 years in my career as a software tester. I ask myself, what have I learnt in these 6 years? Am I a better tester today than I was when I started my career? How has being a tester impacted or affected my life? No satisfactory answer yet. But I want to share some things that come to my mind when I ponder over these questions.
During my MBA days, I came upon a book by Glenford Myers, 'The Art of Software Testing'. The artist in me noticed the word 'Art' and I started reading it. I won't describe what I read. (Anyone who has read the book will know why is it so costly.) But yes, it did convince me that Software testing is an . Testing involves as much thinking and creativity as a form of art. From my experience, I have learnt that there cannot be a defined way to test a particular software. Two testers will test the same software in two different ways. Just like two painters will paint the same imagination in two different ways. Most of the times, people will like one better than the other. So with maturity and experience, one can learn better ways to test. Having said that, I will also say that experience alone cannot make a better tester, if there is no hunger for knowledge and learning more and more. Just like an author needs to learn a language and grammar to write a good book, tester needs to learn ways to make a software more useful to the user. what does a tester need to learn? I will share some of my knowledge here.
In my first job, I started with a set of test cases written by my test lead. I executed them. But is that all that I can contribute? I figured out that if I want to add value, I have to think like the user who is ultimately going to use the product. In the last 6 years, I have had the opportunity to work in various business domains which has helped me to understand the point of view of various levels of users, computer educated user, computer illiterate user, highly sophisticated user, impatient user, friendly user, aggressive user... This is the first and most important lessson any tester has to learn, 'During testing, always think from the perspective of the user who is ultimately going to use it'. Some questions that I have to ask myself when I am trying to think from user's perspective are like: Is this data useful to the user? Are we displaying unnecessary/useless information? Are we confusing the user with too many options? Is the process self explanatory? Is the time taken for the process testing the user's patience? and so on. These are the questions I collected on my way during the last 6 years. Even when I am using a software for my personal use, I keep checking whether the testers of that software think of these questions with me in mind as a user :). So this is one huge change that being a software tester has brought to my mind.
I have also realized that having programming knowledge is very important even in software testing. I have come across many testers who are satisfied in just knowing that the software is behaving incorrectly. But when I see a bug, the next question that comes to my mind is, why did this bug get introduced. My inquisitive mind wants to know what went on in the developer's mind during implementation due to which the bug got introduced. I do not only want to point out the problem, I also want to know the cause of the problem and want to contribute in solving the problem. For that I needed programming knowledge and I have harrassed many developers trying to learn the architecture, design and software code :). I am much better equipped now. Yes I have definitely evolved over the years, but it is not the end. I have to constantly try and improve my art to become a better artist.