“Why Testing”, “Importance of Software testing”, “Scope of testing”, “How to become a tester”, “Training for software quality assurance / software testing” …
Stop there… Above are the topics well discussed and explained at a lot many places and a lot many times, but this is not what we’re here for. I happened to face the question recently “Why’d you need a software tester as a dedicated resource?”
I did not want to get into deep technicalities of the SDL or STL Cycles to prove the roles but in plain simple words I’d try explaining the importance of the role that a tester plays and why a tester is required as a dedicated resource.
For any (software) product, testing is must. And, software tester can do better testing as compared to the developer or programmer who’s written the software.
Programmers, don’t feel bad. No camel sees his hunch!
“Why Tester”… hmmm let me make some points now:
1. A development team should avoid testing its own program (unit testing is a responsibility) – tester will check from his / her doubtful eyes
- Developer may be biased with the fact that he has developed it, so may not test some areas as he’s confident enough that he has developed it bug free. (it’s like one always favours own baby) They usually have an attitude of:
We take pride on what we developed. We defend ourselves “it is not my fault!”
- He may not think out of the box, or all possible test scenarios that can break the system as he is used to work in the same shell.
2. A software should be tested in a neutral way to have unbiased testing results. This can be done only by a third person (not developer himself).
3. A developer is usually working under high pressures to implement requirements asap. Due which quality is compromised a lot many times. So, it’s better to have a separate tester.
4. Testing is not about just validating that system is performing what it is supposed to, but importantly it is also about assuring that the system is not performing what it is not supposed to perform. A tester delicately does that and does it better.
- Testing needs a NEGATIVE approach, which a developer doesn’t have. TESTING IS DESTRUCTIVE PROCESS : A CREATIVE DESTRUCTION
- Testing is not just after-programming evaluation, but it is key integral part of each phase of SDLC.
- Testers try to find faults, developers try to take pride. (oops.. no hard feeling guys)
5. The more early a defect is found the less costly it is to fix.
I may sound aggressive at some lines; it’s not because I hate developers or there is some personal grudge against, but it’s rather to emphasize the necessity and my answer to Why Tester :).
Jointly, developers and testers fulfill the requirement successfully in favour of their employers and clients.
Anyways, I wanted to answer “Why Tester” without using technical-words and in fun way. I hope this is sufficient to explain why a software tester is required.
I’ll leave you with two lines as post-script:
If we’re perfect, there’d not be tester or QA and we know that nobody is perfect!!
Testers pursue defects, not the people behind the defects!!