In my previous Knowledge Center articles, I’ve talked about quality in the data center and how to set quality goals. I’ve mentioned that testing is important to achieving quality. As with any other activity, a major element of doing testing well is using the right people. The right test team can sometimes mean the difference between a good application and a bad application-with serious security, performance or reliability problems. So let’s look at how you can develop a test team that can help you achieve your quality goals in an effective and efficient manner.
I’ll start with how not to develop a test team. Many IT managers-especially those who have never seen professional testing-assume anyone can do it. They try to get the job done with junior programmers, users or business analysts. While these people have a role to play, by themselves they do a poor job of testing.
For example, a professional, trained test team typically finds over 85 percent of the bugs in the software that they test. Users, business analysts and programmers are lucky to find 40 percent of the bugs. So, while we need programmers to unit test the code they write (and users and business analysts to acceptance test the applications as they go into production), most of the system testing should be done by a professional test team.
Skills of professional test teams
What skills should a professional test team have? This varies from project to project, but the skills fall into three groups. First are application domain skills, an understanding of the business problem solved by the application. Second are technical skills, an understanding of the technologies used to build the application. Third are testing skills, which are the skills that testers bring to the quality assurance role that neither programmers, business analysts nor users can bring.
Professional testers know how to analyze risks so that testing focuses on the right things. Professional testers can plan testing in a way that maximizes the value realized from the time and resources invested. Professional testers can apply test design techniques to find bugs that would otherwise slip past most people.
True professional testers can be hard to find, so you might decide to develop your own team around a core of one or two senior testers. This is certainly a strategy that can succeed and many have succeeded with it. There are companies that offer a wide range of training programs for testers throughout their career arc, from entry-level to seasoned expert.
As with other professions, there are also mature, globally-recognized certifications available for testers. The best and most widely-accepted of these certifications is from the International Software Testing Qualifications Board. It offers Foundation and Advanced certifications as a way to measure progress towards professionalism throughout the tester’s career-through objective, vendor-independent exams.
Automation Testing Skills
Automation testing skills
You’ll need a particular set of skills if you want to use automation for your testing. Test automation tools allow you to automate important activities such as regression, performance and reliability testing. Regression testing checks whether or not changes to your application broke existing features. Performance testing checks for slow response times under various likely levels of usage. Reliability testing checks for frequent or lengthy application availability problems.
It takes years to learn how to do test automation properly. There are horror stories out there about companies that lost hundreds of thousands of dollars on failed test automation projects, so make sure that anyone you hire for such a position has been through a lot of test automation projects.
You might also need people with testing experience in your application domain or industry. Some businesses, such as those in medical systems and banking, find that regulatory compliance issues associated with their application have important implications for testing-implications known only to experienced testers who have previously tested such applications. Other businesses, such as those in video games and oil exploration applications, find that special knowledge of how the applications work is essential. That said, don’t overestimate the value of application domain knowledge because that route often leads people to employ business analysts and users exclusively, with the poor outcomes mentioned earlier.
A proper, professional test team has the right mix of skills and experience for the complex and often underappreciated job of checking the quality of applications. Not only will such a team often find twice as many bugs as one composed of non-testers, but they will also typically save their employers the cost of employing them, many times over. Professional test teams can save companies anywhere from 40 percent to 3,200 percent more than the team costs, primarily through avoided costs of production failure.
Armed with the proper test team, you are ready to achieve your quality goals-and save money while doing so.
Rex Black is President of RBCS. Rex is also the immediate past president of the International Software Testing Qualifications Board and the American Software Testing Qualifications Board. Rex has published six books, which have sold over 50,000 copies, including Japanese, Chinese, Indian, Hebrew and Russian editions. Rex has written over thirty articles, presented hundreds of papers, workshops and seminars, and given over fifty speeches at conferences and events around the world. Rex may be reached at [email protected].