I’ve been having some interesting conversations lately. Well, I have a lot of interesting conversations, so that is not so unusual. The interesting thing about these is that they have been, well, interesting.
Not interesting in the way that some conversations on some online testing forums are interesting. Not interesting the way that some conversations in groups in LinkedIn are interesting (you know the ones – where someone posts a question to get folks to start to answer then the person posting the question shows how smart they are and gives the “right” answer…
These conversations were around “Process” and “Best Practices” and things of that ilk. Now, most of you who know me will realize that I take a dim view of 99.99999% of the “practices” that are labeled as “best.” I concede that in some situations, there may be something I am not aware of that can be considered a “best practice” – in the literal definition, not the buzz-wordy defnition.
Where was I? Ah, yes.
These conversations were debating/arguing/asserting/rejecting the need of control and repeatability and measureability in software testing. What I apparently failed to comprehend was that sometimes these things must be done in order to make sure the product is of “good quality.” I kept asking “How is it that this practice ensures the quality of the product? Is there another practice that could give you the same results?”
The answer reminded me of a passage from a pulp-fantasy-fiction book series I read a long time ago. You see, there was this particular race of dwarves who weren’t terribly bright. One of them found a secret passage. At the time she found it,(yes, there are female dwarves) she was carrying a dead rat (seemingly for supper) and triggered the locking mechanism by accident. This opened the door that let her take this “secret short-cut.”
Well, she was making the main characters in the book take an oath that they would never divulge the magic of the passage. One of them mentioned the trigger, which he noticed, she insisted it was magic. She pulled out the dead rat, waved it in front of the door – then stepped on the trigger. POOF! The door opened!
In her mind, the ritual of waving the dead rat then stepping just so on the floor was what opened the door. The others (outside observers) noticed what the real cause for the door opening was.
Because it did them no harm to allow her to hold on to her certainty, they let it go.
Now, in software testing, we sometimes find ourselves in the situation of the not-too-bright female dwarf. It worked this way the first time, therefore, this is the one true way to make it work every time.
Instead of a process, it becomes a ritual.
Are the processes we are working though aiding the testing effort, or are they gestures? Are they helping us understand the application, or is this the ritual we must go through to get green-lights on all the test cases?
If its the later, would an incantation help? Maybe something Latin-ish sounding like in Harry Potter?