Quality – what is your definition or understanding?
There are various definitions and everyone has an opinion on what constitutes ‘quality’. Of course, quality can be good-quality or bad-quality. While most people want to put quality at the doorstep of user by saying quality is that which satisfies the needs of the users, I like to think quality more from self-satisfaction perspective. Is it something that I am proud to deliver, given the circumstances? To me, this question defines quality. I lot of people would disagree with that because this (apparently) does not take into account whether it fulfills user’s expectation. Actually, it does. How can one be proud of what has been delivered if it does not fulfill the purpose for which the software has been created?
What are some lessons you have learned about software testing that you wish you had known long ago or you wish someone had told you about?
None and everything. Lessons are learned when you do something. I don’t expect to REALLY understand the lesson when it is ‘given’ to me as compared to my learning it by doing. I am also not unhappy making the same mistakes a few times because it tells me that I have not learned my lessons well enough and that I need to focus and if I can’t stop making a particular mistake then maybe I should not be doing that activity.
As you can never really understand love for your own child (as most people’s mom or dad would have told them-“you will know when you become a mom/dad yourself), you can’t really understand and internalize the lessons learned by other people. Of course, it does not mean that you don’t care about other people’s lesson learned. You have to try to avoid making the mistakes and learn from other people’s experience. Even this learning has to come through your own experience though.
Name your favorite book on Software Testing?
None. It might sound like an arrogant reply, it is not. There are many books I like for different reasons and I would name some of them –
Software testing techniques by Boris Beizer
A Practitioner’s Guide to Software Test Design by Lee Copeland
The craft of software testing by Brian Marick (dated but in my opinion a classic)
Testing Computer Software by Cem Kaner
Testing Object-Oriented Systems by Robert Binder (though I could never finish that book)
However, I would say that a tester should read many more books, not just on testing – about requirements, design, architecture, coding, technology books, books from other disciplines etc. One book that has influenced my thinking related to the computer science world most is – Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma et al. In my opinion this book has the power to transform the way one thinks.