On software quality assurance

"So what do you do?" I'm asked. Someone I haven't met for quite a while, or perhaps never before. "I practice dance and work with computers" I say.

"With computers" is a vague phrase. It turns most people off, unless they turn out to be fellow geeks. They tend to assume they won't understand the details so there is no point in asking.

Well, here is a metaphor of sorts to explain what you never wanted to know about software quality assurance..

Imagine proofreading a book. It is absolutely vital that this book contains NO typos, NO logical contradictions and NO misleading facts.

Imagine that this book is millions of lines long.

Imagine that it has hundreds of authors.

Imagine that all the authors are changing the text constantly. What we have in mind is a very ambitious piece of literature, it aims for the Nobel prize, it must be utterly perfect. If you ever wrote anything you know that it means re-reading, re-working the text over and over again. Move that paragraph down. Strike that. Add something there. That statement is too obvious, while over there things are unclear..

Hence, our authors keep rewriting whatever page or chapter they are paying attention to - continuously removing errors and introducing new ones. What if two chapters edited at the same time by two different authors suddenly try to send the action in two opposite directions?

I once borrowed a book from the library where it turned out the book binding shop had made a mistake and assembled half of the Norwegian with half of the Russian text. I never got to the end for obvious reasons. But in our book, much smaller errors - such as once using a period instead of a colon -might render chapters, volumes, or the whole book unusable.. And in this book nearly any typo, contradiction or error can cause the book to close suddenly while you're reading.

That's because our reader is not an intelligent human who can de-scramble most typos and guess what the author meant in spite of errors. Our reader is a computer, a master of nitpicking.

Software quality assurance means finding ways to proofread as much as possible of a constantly changing book.

Opera 9 Beta is right out of the printing press, available from opera.com and we assume it is still full of typos. Tell me if you find any.


Add commentAdd comment