...and how to do it if it is?
I've already thought about it for some time, and today I've occasionally read a
Qualificiation Barrier post, where Rob Lambert wrote in the comments something like: testing is too emotional, subjective and context based to be testable (sorry, Rob, if I misunderstood your idea).
It looked like a challenge for me: what a tester I am if I don't even try to test what is supposed to be not testable? :-)
Ok, anyone who is in test area for at least few months most likely knows that testing is a very depending process. It depends on context: context of the project, of the environment available, of the developers' speed and qualification, of testcases prepared... and it also greatly depends on tester itself. From some point of view the testing is something like an art. That's one of the reasons why I like it.
Can we test, estimate and so on such a depending process?
My point of view is:
everything can be tested.
All below is not a finished idea, it is more like a trying to get that idea.
First of all, the testing is an engineering thing. It means that it has a purpose. Testing itself is obviously not a purpose no matter how we love it and how good it is. To get the purpose, we need to identify a stakeholder. Most commonly (in my practice) a stakeholder is someone who is ready to give us money for doing something for him. I.e. a Customer. Ok, Customer have a purpose - in the other case he wouldn't spend his money on us. What does he want? Looks like he wants us to develop some software. Yes? Don't think so. He doesn't need a software, he needs a problem to be solved by that magical software. That was already told maaaany times before me: software, that doesn't solve the problem, costs nothing.
So, Customer has a problem, and our team (all those, responding for the project) has a task to solve that problem as good as we can.
If we
doesn't solve the problem - we won't get paid.
If we solve the problem
too slowly - we won't get paid.
If we solve the problem in a way which is
too expensive for Customer - we won't get paid.
Our goal is to give Customer a software which would effectively solve his problems, to do it in time and for reasonable money.
The main goal of testing team then can be defined as: to make sure that the customer's problem is solved by our product. And then there is a set of additional goals like creating support documentation, making developers to increase a project's quality, searching for features that can make a product more attractive for Customer and so on.
We cannot test a testing process from the point of view like: how many bugs were found, or: how many hours did we spend on testing, or: how many test scenarios did we write and run. We can test forever and find more and more bugs, also we cannot find all bugs - so it looks meaningless to test a testing by such parameters.
But we can at least use this point of view to tell how good a testing process is:
If a product was released to Customer and the Customer failed acceptance tests because his problem is not solved by the product - testing didn't cost its efforts (the hardest part here is, IMHO, to identify the real Customer's problem - they rarely tell it themselves).
If a product were released with minimum of bugs and in time, and has solved the problem, but testing overrun a budget significantly - testing is far from optimal, it needs to be prioritized and restructured (or just be learned to stop at correct point).
If a product was released to Customer without problems, but there was a blocking bug in the main functionality found occasionally just before the release (and fixed in a rush) - testing process certainly has problems (see above).
If customer is satisfied with the product and there were no activated by testing team's fault significant risks (like missed bugs in main functionality) - well, a testing process in a company looks like good working. Always can be better, though. :-)
Hmm... I've wrote all this and now I'm thinking if this is a correct way of thinking. Not sure if it will not be changed in future. :-)
Any ideas, objections, questions, whoever will read this?
You need to be a member of Test Republic to add comments!
Join Test Republic