© 2001 Johanna Rothman
"Test is always at the end of the schedule. We never test for as long as we need to. We get whipped around by whatever the developers do. It just isnt fair."
"We dont have enough testers."
"My management makes the ship decision. I dont get to say no."
"We didnt test enough, and now I dont feel like Ive done a professional job."
When I meet people in my work, they are genuinely concerned about their perceived inability to do a good job for their companies. They know they could do a great job if they had enough time, or enough testers, or if they had real input into the ship decision. These people feel browbeaten, as if they are victimized by their circumstances.
If you feel like this, youre not alone. But you can choose to not feel like a victim; there is another way. Consider reframing your perspective on your organizations quality investment.
Many organizations schedule testing toward the end of the project and refuse to change the ship dateeven when its obvious that you wont be able to do the work you wanted to do. When they do this, theyre not asking you to find all defects, even though they may say sotheyre really asking you to bless the software. So go ahead: Do whatever testing you can in the time you have, and then report on what youve tested and werent able to test. Concentrate your report on the risks of shipping the product. Remember, Shipping the product is a business decision. You will be most effective if you can describe the risks of shipping to the rest of the organization, rather than by exercising your authority to stop shipment.
You dont have to stop product shipment to be useful to your organization. The fewer times you say, "We cant ship this now," the better off you will be. Instead, explain the risk of shipping in terms of money and time. You can say things like, "I expect all/plenty/some of our customers to find this defect. Without a workaround or a fix, we can expect a ton of/lots of calls. Our developers will end up spending time we cant afford responding to those calls."
Develop release criteria with your developers and with Management to assess the risk of shipping the product. Do it early in the project, as part of a project team, to help the rest of product development, with an understanding of three important things:
As a tester or test manager, you dont have enough information to see the whole business pictureso its inappropriate for you to stop product shipment. On the other hand, its quite appropriate for you to explain that you cant assess the state of the product because you havent tested the product yet. If your management wants to live with the consequences of shipping, thats their prerogative.
When I first started working as a tester, I was in a QA group. My job, according to my manager, was to test and to find "all of the defects." After the first week, when I realized the developers were writing self-modifying codeand they werent going to stopI returned to my manager and said, "Nope, my job cant be to find all of the defects. Its hopeless. I never will. So Im going to look for the high risk defects, okay?" He wasnt happy about it, but when I explained the situation to him, he decided it wasnt the end of the world.
He and I talked with the rest of our QA group, and decided that wed all first assess risk in the product. Then, wed focus our testing in the risky areas, rather than try to find all of the defects. We changed our approach to testing. Before, wed assumed we had to develop automated tests, starting at the beginning of the component and going through to the end. Now we looked at the components architecture and design to decide where the areas of risk were. We asked the developers what parts theyd had trouble with, and what kinds of pre-QA testing theyd done. We spent a little more time investigating and planning, and that paid off in deciding where to test.
Heres a short self-test. Check all that apply, and no cheating:
____ I think its my job to find all of the defects.
____ I think you can really only test at the end of the development project.
If you checked either of these statements, then its time to rethink your idea of what testing is.
You cant find all of the defects. You didnt create them; the developers created them.
And you cant wait to test at the end of the project. Theres never enough time then, no matter what business youre in. You have to test starting at the beginning. Indeed, Tim Lister says the best place to start testing a project is with the schedule. Is there a schedule, and does it make sense? If theres no schedule, dont bother testing anythingyou already know the product will be awful. Stop working on that project now, and start working on the next one.
Some of us dont feel as if our work is really at a professional level because we know theres more we could do. We can see many more opportunities to test the product, and to improve its quality. Its when we dont get to do those things that we may feel as if we havent done our best. But remember that Management pays you for what they find valuable about your work. If you want to do more, explain to them the value of doing more, and what it will take to get more done.
One of my colleagues, Steve, was concerned that he wasnt performing at his highest level of capability. He had successfully completed his first testing pass, and now he had lots of ideas for how he wanted to further test the product. If hed had more time to develop and run more tests, he knew he could have found more defects. Management decided that they were satisfied with Steves initial level of testing and werent ready to fund more. Steve reluctantly agreed, but decided to speak with his manager after the products release. At that meeting Steve explained the trade-off of more test development time and finding test results. Steve really was being a professional by recognizing the potential to do more, discussing the results with his manager, and accepting his managers judgement.
You have more capability to influence attitudes, behaviors, and actions in your organization than you know. If you feel like a second-class citizen, reframe the situation. Rethink your job and how you do it, and realize the importance of the contributionfinite, but powerfulyou can make toward your organizations product quality.
This article was originally published in STQE, Volume 2, Number 5, September/October 200.
Copyright © 1998-2007 Rothman Consulting Group, Inc.
All rights reserved.