Thursday, July 24, 2008

Failure Improvement vs crime investigation

Brian Marick said:
I'd probably say the most important skill is
"failure improvement":

<http://www.testingcraft.com/failure-improvement.html>

It, at least, is the skill I see testers paying attention to that I
almost never see anyone else paying attention to.

---
As I was reading the link, I thought this part of a tester work is what I usuallly compare to detective work (specially when someone says testing is boring):
-As the crime (failure) is found, I will try to gather all the information from the crime scene (context)
- I will try to rebuild the story (remember what I did exactly), using all the evidences I can gather (see traces and logs)
- I will try to preview where the criminal will attack again (or what are the precise conditions for the failure to occur)
- Then I will try to catch him on the crime spot (replicate the failure)

In fact, all six items that Brian refers on his article map quite well on this crime metaphor:
(The purpose of failure improvement, or defect isolation)

1-Split defects - maybe there is more than one criminal; possibly even more than one crime
2-Simplify defect - When there is a simple explanation for a crime, it has great chances of being the true. When it is complex, it might as well be the true, if there is no simpler one (as Sherlock Holmes said :)
3-Replicate - the criminal always comes back to the crime scene.
4-Find the "uggliest side" of a defect - What is the most damage this criminal can do if he is not caught? I believe the authorities often do this question in order to evaluate the effort to put on the investigation (or the risk of "not fixing the defect")
5-Describe accuratelly the failure boundaries - or defining precisely the pattern of the crimes
6-Find new failures - find new crimes - preferably before they happen!!