The Paths Not Counted

Testers will follow the component paths through the system to whatever level of detail is necessary to verify and validate the performance of the component. This means that some code modules will be trusted or assumed to be stable based on past performance, or point of origin, while other untrusted components will be examined in great detail.

Note 

Any element given an IP of 1 is assumed to be stable.

The assumption that a component will behave correctly means that there is only one path through the component-that is, the correct path. Testers automatically publish this assumption about a trusted component when they give it an IP = 1. Examples of this simplifying assumption will be presented later in this chapter. The true count of all possible paths and therefore all possible tests is unbounded. The tests that are not counted and not performed as a result of simplifying assumptions like this one actually represent a lot of tests.

The Price We Pay for Using Divide and Conquer

Divide and conquer is an algorithm that human beings have used successfully to manage large problems for eons. The problem is, every time we divide the problem, we create a new interface that will need to be tested, tracked, and reintegrated at some point. When faced with a difficult problem, there is the temptation to keep dividing it into smaller and smaller pieces. This can result in a sorcerer's-apprentice-type scenario where we end up with a plethora of small problems that still defy our attempts at management simply because of their number. Care should be taken not to overuse the technique. In top-down testing the rule of thumb is "If it ain't broke, don't fix it."



Software Testing Fundamentals
Software Testing Fundamentals: Methods and Metrics
ISBN: 047143020X
EAN: 2147483647
Year: 2005
Pages: 132

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net