Not sure how many people would agree with the statement ‘Every one of us is a born tester’. Any idea how? We all consume products and use services and while doing so we consistently evaluate, test, validate and review the product or service. There is a tester in all of us who will come to the fore when our money is at stake, when we buy or when we consume something. Developers are no different in that they have the tester in them as well. But often the tester doesn’t come and take the center stage while developing for the customer.
Typically, we see many small software development projects that require just one or two developers. So, what’s the need for a separate, full time tester when the project doesn’t involve the integration of many modules/components or the integration of the efforts of a big number of developers? Assume you are hiring the services of an electrician on an hourly basis. If he brings a tester with him to test the work he did and asks you to pay for the hours of the tester, would you be willing to pay for that? Then why do we do the same to the hapless customer?
Does that mean we need to fire most of the testers? Certainly, not. The answer lies in the professional ethics of developers and testers
I am a developer
- Software development is my profession just like doctors and attorneys.
- I am not entitled to basic testing services by other professional testers, for the modules that I am developing
- But I am entitled to their services for better understanding of the customer perspectives, validating the functionalities and product reviews
- I will write unit tests, whether my manager asks me or not, whether my customer pays me or not
- I am not done until I write the unit tests that cover all the meaningful portions of my code
- 85% of the bugs in my modules were found by me
- When I test my module, the tester inside me takes complete charge of me.
- When I test my module, I become a ruthless tester and an over ambitious customer- it’s very difficult to tackle the tester and satisfy the customer
- I fail miserably in my profession whenever a third person points out direct bugs in my code
I am a tester
- Software testing is my profession just like doctors and attorneys
- I am the guardian of my customer’s interests within my organization
- I am the whistle blower for my customer, even if it goes against my organization
- If the module released for testing contains numerous direct bugs then I don’t raise them as bugs in the bug tracker, instead I stop and refuse to test the module any further. I return it to the developer. I don’t believe in wasting time
- When I test any module, the customer inside me takes complete charge of me
- I find only 12~13% of total bugs, but ones that are very crucial and could not have been found by the developer and thus provide the cutting edge and competitiveness to my customer
By now you would have got the answer to the question whether or not we need to fire the testers. How can you fire the representatives of your customer? How can you do away with the customer-designates? How can you dismiss your customer’s interests?
So a tester is always needed, not just to find the unit testing bugs but to also be a part of the customer’s business, to increase the returns to the customer, to provide the competitive edge to the customer and most importantly to take care of the customers of your customer.