Testing Techniques – Are they gimmicks or useful tools?

Last year an ‘expert’ tester and consultant claimed test techniques were gimmicks. I don't claim to be an expert tester, but I do consider myself to be a professional tester constantly striving to improve my skills and broaden my knowledge to make me a better tester and promote the discipline I have chosen as a career. So, I have learned that test techniques are not gimmicks, but are in fact effective systematic procedures to prove (or disprove) that specific attributes or capabilities of the software function as expected and/or conform to any applicable standards or guidelines. Test techniques also help focus testers towards designing highly effective test cases that target specific functional areas of the product, and also establish a solid foundation from which additional testing can progress.

Techniques are similar to tools in a professional’s toolbox. The professional tester knows what techniques to use in specific situations, and how to use them most effectively. Functional testing techniques such as boundary value analysis (boundary testing), equivalence class partitioning, combinatorial analysis (pair-wise testing), or state transition testing each serve very different purposes. These techniques systematically evaluate specific functional attributes of a software project, but they are not the only ‘tools’ a professional tester uses to ‘test’ software.

The greatest value of test techniques is their potential to instill a high level of confidence in testing coverage of specific functional areas with a fewer number of tests, and thus reduce the amount of redundant testing. However, the value or effectiveness of using any test technique ultimately depends on the individual tester’s ‘system’ and domain knowledge, and the ability to apply the applicable technique to the correct situation.

Over the next few weeks I plan to discuss how to use some of the various testing techniques and demonstrate why these are valuable tools for the professional tester.