June 26, 2015
Finally, Something Sensible On Testing
—A look at the fundamentals of testing.
A friend provided a link to a Kode Vicious article from ACM Queue (April 2015
) by George Neville-Neil. If you haven't read anything by George you should.
The second comment in April's column covers testing. In a few sentences (ok, two pages) the fundamentals of testing are covered. It's an excellent summary including a strategy and requirements that every test regime needs.
Every test regime must have relevance and repeatability. To be relevant, tests must confirm the software works and attempt to break it. For repeatability, you must maintain complete control over the environment in which the tests are run.
To ensure repeatability in a complex system the control interface and test interface must be distinct. I liken the notion of control to a scientific control
in an experiment. Scientific experiments are are carefully constructed events that seek new information. The same attention to detail and results is needed to construct a test and its environment. An example in the column shows how to do this.
I like the article because of its directness. George's explanations are short, concise and simple enough to share with your colleagues if improving your tests are on your mind.