Michael Larsen, Sidereel.com
Depending on who you talk to, all of our testing challenges can be solved by doing some particular variant or flavor of “in vogue” software testing techniques. In the Agile community, Test Driven Development and Acceptance Test Driven Development are quite hot properties. So hot, in fact that some programmers and programming managers have declared that “Test is Dead” or, at least, is figuratively so. Others speak to the proliferation of frameworks and tools that allow for automated testing of the front end/GUI interface, and that this spells the future of testing. Others say that “active, sapient and human” exploratory testing is the truly effective method of performing software testing. Which group is right?
The answer is “all of them are right, and none of them are right”. All three of these approaches, applied with maximum effort and efficiency as standalone initiatives, will not guarantee bug free code. Taken together, with a good understanding of where each area excels, where each area has deficiencies, and where each can leverage the strengths of each other, programmers and testers can bring a balance to development and testing efforts that are much more likely to find the issues that matter.