logo slogan

Title: C/C++ Software Quality Tools

Author: Mark L Murphy
Pub: Prentice Hall

Date: 1996
ISBN: 0-13-4415123-6
Disk: Included:

This is an unusual book because it is an interesting and practical book on SW quality and testing. As the author says SW QA and test is not seen as a fun area of programming and most programmers avoid it like the plague. This book sets out to prove that good QA and test is not only important (actually it is essential) but can be interesting as well.

There is a fictitious (I assume) project running through the book describing various real life problems in SW development. To illustrate the points made there are a suite of tools that remove or tackle these problems and a simple target application to try them out with. The tools comprise AssertLib (improved assert system with fault logging) , ResTrack (dynamic memory test), UTCGen (class test generator), UTCLang (test script system), UTCcover (code coverage), WinCapT(captures windows keystrokes for automatic testing).

Tools of this type will cost you a lot of money for “real” commercial versions. Most of the tools, all of which are provided in source form, run under DOS and windows. All bar one will work with C. They have been tested on Borland, Symantec, MSVC++, Watcom also Metaware under OS/2. As the tools are in source one can adapt and enhance them, but do it carefully a flawed tool can be dangerous. The explanation of what the tools do and why gives an insight into dangerous practices and not only where but why they occur.

The tools are, however, incidental to the main text in that describes a complete development process and how and why testing is required. At each stage the process is looked an advice on pitfalls and improvements are given. There is very little source code in the book not even in the section on code style!

The book gives the impression that the author has definitely had to handle these problems for real on live projects. Many of you will, unfortunately, recognise the example situations which have a habit of showing up in many real projects. This is a practical “Safer C”.

Conclusion: This book should be bought by all students when they start SW engineering. Many working programmers would also benefit from this book and any one who can not see a reason for using the tools and methods mentioned in the book. Experienced SW engineers should be using these tools and methods already. It is unfortunate that many do not. Definitely required reading for aspiring SW engineers.