Do you need highly skilled testers knowledgeable in Testing concepts to write highly effective test case documents or can we follow a methodology similar to BDD (Behavior Driven Development) in Quality Teams to produce Test Case Documents.
Writing Test Cases is one of the skills of good Test Engineer. There are Testing concepts like Equivalence Partitioning, Boundary Value Analysis and Orthogonal Arrays for Test Engineers to write effective and efficient Test Cases. Now the reality is quite different, a typical Test Engineer will look at the requirements document and come up with a Test Plan and a Test Case document for a particular release. How many of these Test Case Documents are actually using Testing Concepts to write documents which try to maximize the utility of these test cases. i.e. Most of the times the test case documents are trying to catch up with a previously released feature or trying update the cases for removed features. Thus a Test Case document becomes outdated with the product and the needs of the organizations. Most of the time, test case coverage is used to measure the amount of testing carried by the testing team. So what should be the goals of a well written test case document? we at 99tests believe that, the goal for a Test Case document is to capture the maximum amount of functionality (or Coverage) in the least number of test cases. So that the test case document can be used to improve the quality of the product by automating functionality that has the highest impact.
The problem of Test Case effectiveness can be solved through Behavior Driven Testing – BDT. Here are the slides by Anand from Thoughtworks. They have been able to create effective BDT cases that has resulted in visibility to the management, a relevant set of optimized test cases and regression scripts that verify these cases. Also been able to keep these cases current, as and when new functionality is added to the application. Please do share your thoughts in the comments.