Summary

Software is a maze and software testers have problems that are not unlike those of the men and women who were dropped into the Maze of the Minotaur in ancient Crete. While software testing is not normally considered life-threatening, it is fraught with other perils. Those dropped into the Maze of the Minotaur were only expected to enter the maze one time, while software testers must keep going back into the maze until they are sure that they have checked it thoroughly.

There are several types of paths through a software system, as illustrated in the case statement and the independent decisions examples. How many of each type of path exist in a system is dependent on the configuration of decisions and processes within the system. Each type of path can be counted. Following are the four types discussed in this chapter:

  • The number of paths required to exercise each statement.

  • The number of paths required to exercise each logic branch.

  • The total number of paths possible through the system.

  • The number of paths required to ensure that each path segment is traversed at least once-that is, the linearly independent paths.

Software testers need to know how many paths they are dealing with so they can estimate how long their effort will take. Being able to calculate the number of paths through the maze is far preferable to determining the number empirically, by trial and error.

The tester will also need a map of the maze. The logic flow map, or diagram, introduced in this chapter, is a simple way to create a map of any structured system. Modeling systems using logic flow diagrams offer several benefits. When the system is modeled according to the rules of logic flow mapping, three equations are available to calculate the number of linearly independent paths (IPs) through the system. If all three equations for calculating IPs are used and all equal the same number, the logic of the system's structure is shown to be valid-meaning that the logic will work, but not that the logic does the right thing. The total number of paths through multiple valid linked systems is the sum of the individual IPs of the systems. This means that various subsystems can be analyzed separately, and their individual IPs can be summed to give the total number of IPs for the entire system.

The number of linearly independent paths through a system is usually the minimum number of tests required to exercise all paths in a structured system, one time. Looping and recursive scenarios will be controlled by the data input to the system. In Chapter 12, logic flow diagrams are applied to the sample application and used in the estimation process.



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