Building Inspectors
"Of course you need dedicated testers. Don't you want dedicated building inspectors?"“Of course you need dedicated testers. Don’t you want dedicated building inspectors?”
I hear this comparison every now and again, from someone trying to make the case for manual acceptance testing in their software delivery process.
This isn’t the slam-dunk argument many people seem to think it is. In fact, this comparison, if we accept it, really paints “software testing” in a pretty bad light.
First, let’s recognize that we already have the equivalent of building inspectors, or food and safety inspectors, or any other regulatory inspectors, in the software industry. They perform a task that’s decidedly different from that of a “QA Engineer” or “Tester”. They perform inspections. And issue certifications. I helped a startup through their PCI certification process last year, for example. We didn’t have any “testers” involved.
Second, “testers” are looking for an entirley different class of problems than “inspectors.” Many professional testers out there, at least most that I’ve met, will tell you that their job has something to do with improving the customer experience.
Inspectors, on the other hand, are there to ensure compliance with regulations or contracts (such as those offered by an insurance provider).
There may be some small overlap between these two things. But it’s small. And usually rather incidental.
A building inspector will make sure that you have enough fire escapes, for example. He won’t tell you that the meeting room needs more windows. Or that the corner windows should open outward instead of inward, so they don’t hit each other. These are the sorts of things that someone involved in “building QA” would tell you.
The same in software.
There’s a chance that a PCI audit may uncover a software bug that a tester may have discovered during testing. But this is unusual.
Third, inspectors are looking for compliance to a strict set of guidelines.
Testers, the good ones anyway, should be looking for any and every way to improve a software product. Not simply conformity to a list of requirements.
Finally, inspectors represent an external party. Usually the public (via a government agency) or a company (i.e. an insurance underwriter). This implies an adversarial relationship (I mean this in the contractual sense, not that inspecters are all adversarial people). Contrast this to software testers, who should be on the same team as software developers, working to deliver the best software possible. (Although this ideal is often not met, and the dev/tester relationship sadly is often adversarial.)
So no, software testers are not like building inspectors. They serve almost entirely different purposes, and they work in entirely different ways. If you really do want to be the equivalent of a software building inspector, many firms are hiring PCI auditors.