A testing team can mean success or failure for a project, but developing a team means more than putting a few people together and telling them to test something. Hans Buwalda shares his teambuilding experiences and gives some tips on how you can build the best team for the job.
When I write and speak about testing, it's usually about methods, techniques, and project experiences. But when I'm actually testing, I’ve found that the testing team itself is a major factor in a project's success or failure. I want to share some experiences and ideas about building a successful QA team. Remember that circumstances and people differ, so you will have to determine which techniques will work best for your team.
Testing is often underestimated as a discipline. In an average project, most attention is given to system requirements and programming. Testing is seen as a supporting activity, and not much effort or money is invested in building or upgrading the testing team. I often encounter testers who have not received training in even the most basic testing techniques. This is unfortunate since we're talking about a small investment that can have a substantial impact on quality and productivity.
Testing is a specialized and challenging discipline. To be effective, testers must have a deep understanding of the system and subject matter under test and should be able to think outside the box in order to find the subtler bugs. Testers also need to be able to work well with others, even under stressful project conditions.
There are three paths to becoming a more valuable member of a test team:
- Learn specialized testing techniques and methods.
- Move to test automation, a more technical but interesting and challenging activity. There is a growing need as more and more organizations move to automation.
- Become a test manager, and take on more responsibility for progress and the results of the testing and test automation activities.li>
What Is Expected of Testers?
In many projects, I am surprised by the sheer complexity of the tasks and responsibilities of the test team. In today's IT projects it is generally not enough to devise and type in some simple test cases. The testers must understand the system under test—often at a deeper level than even the system developers—and come up with sharp, well-designed, and thoughtful tests that can break a system made by skillful developers.
Testers also need to have "soft skills." Projects seldom play out smoothly, to say the least. Testing activities are generally on the receiving end of disruptions and unforeseen problems, since they are dependent on good, up-to-date specifications; working systems; and suitable test environments. Testers are an important source of quality and progress updates for managers and other stakeholders, including developers and business owners. In that respect, testers are often the bearers of bad news—having to report, for example, that a system is still in bad shape and far from being shippable, even though deadlines have come and gone.
The picture gets even more complex when automation is involved. In many projects, management is interested in automation, which promises to shorten lifecycles, allows for better reuse of testing investments, etc. This means that automation skills become part of the mix. Automating a test is not easy. In fact, IT developers will tell you that it is among the most difficult things to do in IT, particularly because the target software usually has not been designed to allow for automation. This introduces uphill challenges like accessing complex user interface (UI) objects and dealing with subtle timing issues.
Forming a Team
When building a team, the best results are obtained by running testing as a team sport. Don't expect every person to have every skill, but rather form a mixed group of people who understand the issues at hand and can stay on top of them.
The most important recommendation I have about test-team building is: