Structured Testing: A Testing Methodology Using the Cyclomatic Complexity Metric