The most important aspect of software testing is testing software.
Sounds funny? Just look at most (pathetic) job postings – most emphasize writing test plans and master test plans, detail test plans and test cases in addition to having development skills, DBA skills, project management skills and more! More in future rants.
Test case and test plan documentation requires balance. It is very easy to go overboard and document to the Nth detail – and many companies (especially consultancies) love this. Their dream is a 1,500 page test plan because it’s very visible. But it doesn’t say this has been tested! If you had limited time and money, which would you rather have – a document full of test cases that have never been run or someone running actual tests?
Test documentation does prove valuable for showing what was tested and what wasn’t and to keep you on-course (or let others know what was tested).
The other balance is the detail level of test cases. Sometimes test cases become a user manual assuming the user knows nothing of the AUT (appl under test). And many other times, you are bludgeoned to death by zero-value boilerplate.
As testers, we must do a lot of things that support our testing effort, but let’s try to minimize the overhead and eliminate the ridiculous.