Design Article
The basics of embedded programming: Part 9 - Software Test and Validation
Wayne Wolf
10/1/2007 12:05 AM EDT
Fortunately, there are many available techniques for software testing that can help us generate a comprehensive set of tests to ensure that our system works properly. In this last part in this series, we examine the role of validation in the overall design methodology as well as the nuts-and-bolts techniques for creating a good set of tests for a given program.
The first question we must ask ourselves is how much testing is
enough. Clearly, we cannot test the program for every possible
combination of inputs. Because we cannot implement an infinite number
of tests, we naturally ask ourselves what a reasonable standard of
thoroughness is.
One of the major contributions of software testing is to provide us with standards of thoroughness that make sense. Following these standards does not guarantee that we will find all bugs. But by breaking the testing problem into subproblems and analyzing each subproblem, we can identify testing methods that provide reasonable amounts of testing while keeping the testing time within reasonable bounds.
The two major types of testing strategies follow:
- Black-box methods generate tests without looking at the internal structure of the program.
- Clear-box (also known as white-box) methods generate tests based on the program structure.
In this concluding part in this series, we cover both types of
tests, which complement each other by exercising programs in very
different ways.




Ravs
10/9/2007 9:20 AM EDT
Wayne Wolf explained the concepts clearly
Thanks Wayne
Sign in to Reply
avioneer
11/24/2007 7:21 AM EST
on page 4, the matrix representing the graph, isn't that the adjacency matrix, i'm confused.
thanks wayne
Sign in to Reply