I’ve never been recommending doing too detailed test design (scripted tests) before test execution. The only exception was the tests we do to address regression risks. For years I believed that the outcome of a new feature testing must be well chosen tests, documented to the level to make it as fast as possible to do the regression testing. I hated to do the brainless and boring regression tests, but I did them because I knew I should – this is the best practice to follow.
Today I want to add this practice the the "things must die" list for me.
Facts/statistics from my experience:
But we did risk based testing, didn’t we?
My best practice was not just to design regression test checks during initial testing of a feature. We prioritized checks in low medium and high risk of a regression based on: information about (automated) unit tests, project failure patters (typical features to break, typical types of bugs to occur, the bugs found in initial testing, etc.). I would run higher risk checks more often later, making it more efficient usage of our testing resources.
There was an issue with this approach Old tests are blind to new problems. It ignored the new features and bugs-fixes to be done later. It ignored further project decisions and events, such as need to support new operational system, decision to switch to a free IDE, change one of 3rd party vendors, increase unit test code coverage, etc. It ignored all the risks generated by further events. Today I know the things we ignored has major impact.
Risks have changed haven't they?
Things have changed: our requirements and software are more flexible, our development practices better address regression risks and I think the scripted regression testing is no more any effective (and never been efficient) way of using your testing resource
Why it’s still so popular?
Checks-based regression testing is easy to manage, i.e. forecast how much time it would take and monitor progress and report status. You could count the number of checks done/not done, passed/failed. Though it does not (in general) correlate with regression risk mitigation (i.e. 50% of tests don’t necessarily mean we have done 50% of the risk planned mitigation …). But test managers tend to fool themselves into believing it does (I did this mistake myself once) and have a very good feeling of control over regression risk.
But there are no better practices, are there?
In 2007 I published an alternative practice, where I was amazed how regression-testing could be 10 and more times as efficient and effective as regression-checking. I mean testing that is not guided/managed/driven by checks listed during previous tests cycles, but rather a process of “exploration, discovery, investigation, and learning”. There were a limitation to that practice however, a huge one – it would work fine it tester is only one on a project, or if you can split functionality into completely unrelated parts and assign one tester to each part. But you run the bus factor of 1 – should this tester get sick or take vacation you can’t do testing anymore. And testers got overwhelmed with information to analyze on long running projects, so only the most experienced and talented testers were able to do good regression testing on large projects.
Probably we need a better way to collect and manage the information and risks…
More blogs that inspired this one
One By Martin Jansson
Another oneby Anne-Marie Charrett
Add a Comment
Mark,
Links were wrong. Thanks for pointing out mistake. I've fixed all the links now.
Hiya Ainars, the blog links go to the same place as the 'Alternate Practice' link, which is you state as a blog you posted in 2007, but it references MB stuff from 2009 and seems to be published by Martin Jansson. Colour me confused :)
However, great ideas that are new to me in terms of describing them this way. I do a lot of Check Driven Testing on the whole I'd say. Most of the time I'm working from a 'verify that...' perspective and testing around the checks. For Regression I'm certainly doing Check-based regression too. Sure I test around these things but most clients what that as a value-add almost.
© 2012 Created by Rosie Sherry.

You need to be a member of Software Testing Club - An Online Software Testing Community to add comments!
Join Software Testing Club - An Online Software Testing Community