Quality Assurance

October 6, 2008 on 7:45 pm | In Deep Thoughts, Programming | No Comments

All software companies have Quality Assurance (QA) departments. It seems impossible to function without QA. Why is this? Programming is a very detail-oriented art. Shouldn’t programmers therefore be good at catching their own mistakes during development?

I think the answer is that programming also requires an incredible lack of perspective. Only an incurable optimist wearing rose-colored glasses would be willing to undertake the task of building anything as complex as what is routinely built these days. Or perhaps only an arrogant fool would do so. The result is the same.

The complexity is the root of the problem. Our brains are unable to keep track of it all, so we often miss the larger picture, it never works the way we expect the first time around, and even after we have tested our creations as thoroughly as we can — assuming we bother to do so — there are still use cases that haven’t been considered.

Simply put, we need QA to take an unbiased look at what we are trying to accomplish and what we have built, and after they pee their pants in sheer terror, coldly analyze the goals of the project and test if the system meets those goals. And then dig in with wild abandon and try every crazy action they can think of to break the system!

No Comments yet »

RSS feed for comments on this post.

Leave a comment

You must be logged in to post a comment.

Powered by WordPress with Pool theme design by Borja Fernandez.
Entries and comments feeds. Valid XHTML and CSS. ^Top^