have to be able to react at a moment's notice to get on top of sudden changes in priority, then return to the game plan again after the emergency has been met.
3. They See the Big Picture . A QA person needs the "QA mindset." Generally, a development engineer needs to be a focused person who drives toward a specific goal with a specific portion of the larger program. Highly focused and detail-oriented persons tend to do well at this. QA, however, is not a good place for a highly focused person. QA in fact needs to have multiple perspectives and the ability to approach the task at many levels from the general to the specific, not to mention from left field. A highly focused person could miss too many things in a QA role by exhaustively testing, say, the math functions, but not noticing that printing doesn't work.
4. They Know How to Document. A major portion of the QA role involves writing. Plans need to be written, both the master plan kind and the detailed test script kind. As the project evolves, these documents need to be updated as well. A good QA person can write testing instructions so that any intelligent person with basic user skills can pick up the script and test the product unaided. Bug reports are another major communication tool and QA people need to have the ability to define the bug in steps that are easy to understand and reproduce. It would be good to ask a candidate to bring samples of bug reports and testing instructions to the interview. Lacking these, look for any technical
writing samples that show that the candidate can clearly and economically communicate technical subject matter.
5. They Care About the Whole Project. It's also important for the candidate to have a passion for getting things right. Ultimately, QA is entrusted with watching the process with a big-picture perspective, to see that it all comes together as well as possible. Everyone has that goal, but most are too busy working on their individual trees to see how the forest is doing. QA candidates should exhibit a passion for making the project successful, for fighting for the right thing when necessary, yet with the practical flexibility to know when to let go and ship the project.
How to Hire Right
So how do you evaluate a complete stranger for QA skills?
Here's one idea. Find a simple and familiar window dialog such as a print dialog, and ask your candidates to describe how they would go about writing a test for it. Look for thoroughness and for the ability to approach the items from many angles. A good QA person will consider testing that the buttons themselves work (good QA people don't trust things that are supposed to work without question), then that the functions are properly hooked up to the buttons. They should suggest various kinds of print jobs. They should suggest testing the same dialog on various supported platforms and exception testing if the network is down or a printer is out of paper. They should mention the appearance and perhaps the working of the dialog. Performance testing may also come up, as well as the handling of various kinds of content. The more variations on a theme they come up with, the stronger a candidate they are.
Another idea is to present them with a function-testing scenario in which there is no specification from which to develop a test plan. Ask them how they would learn about the function and the test. Their answers should