Chapter 3. Test System Architecture, Cases, and Coverage

Chapter 1, "Defining What's on Your Plate: The Foundation of a Test Project," and Chapter 2, "Plotting and Presenting Your Course: The Test Plan," provided a practical look at the process of defining a test organization's purview, understanding the risks to system quality that fall within that purview, and drawing up an overall plan for testing the most important of those risks. Now that you have a grasp of what's involved in these initial tasks, let's turn our attention to the specifics of building the test system itself.

First, we'll take a step back for a conceptual view of a test system and the relationships among the test system component parts. This section provides some definitions and describes the basic operation of a model test system. I use the phrase "test system architecture" to emphasize the fact that solid design and implementation are just as important for test systems as they are for the software and hardware we're testing.

After laying this foundation, I'll look at a method of defining test cases. This discussion presents a few test case templates that I find useful, and I also examine the level of detail required when writing test cases. Finally I'll analyze the issue of test coverage, discussing different approaches to measuring coverage, as well as appropriate steps you can take to fill the inevitable gaps.

Get Managing the Testing Process: Practical Tools and Techniques for Managing Hardware and Software Testing now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.