No standard testing? Are you crazy?

IT people is often scared when I say that I don’t like the traditional testing phase in IT projects.

I understand, it’s so relaxing to know that you have a bunch of people to blame when projects go the wrong way: “we did 3 month of testing, we really couldn’t do more to save this project!”.

And if it’s not the testing team, you can always blame the requirements team for gathering them badly. But this is another story, another post :). Let’s get back to testing.

What I generally don’t like about testing is that you do some operations based on … what the system is designed to do. Someone writes a requirement, someone (else) writes one or more test cases to prove it, someone (else) writes some code and finally someone (else) reads the test case and uses the system giving his interpretation of the behavior … giving a GO/NO GO.

Should I explain why I feel uncomfortable? I hope not but let me add an unobvious thing: where is reality in this long chain? Who’s in charge of saying if the system is doing what is needed and not what someone (else) thinks it should be doing?

Testing software by means of “operations based on what the system is designed to do” does not seem a bad thing to me.

Computer programs are designed to work under well-defined conditions. Yep, reality is, usually, miles away. I don’t know how the final user is going to use my software.
The skills of a software tester, IMHO, rely in his/her ability to fill this gap, that is, trying to imagine all the possible real-world events that may happen within the predefined range of conditions in which the software must be reliable.

I once read here [1] that the main task of an engineer is predicting the future. This fits particularly well to software engineers, who have, to some extent, to predict how the final users are going to use the sw he/she is writing.

Your point is really nice and deserves some extra investigation:
new, more concrete, research questions can be derived from this (and maybe lead to some interesting new ideas). 🙂