..
GET(I);
if
I = O
then
...
4 4 4 4 4
LINE
No.
13
14
15
16
17
START FINISH
FINISH
PUT(???INPUT THREE NUMBERS (O TO FINISH)???);
IF A & (B, or C)
THEN D
ELSE E
Testing Processes and Infrastructure 117
We can continue this example showing increasingly-complex kinds of measures until we realize:
??? The unfeasibility of some paths (see section 12.4)
??? A level of unit test complexity such as that shown in Figure 18.29 and the number of executable
paths calculated in the equation Figure 18.28
At some point we see that some limit must be set on unit testing and we turn to feature testing. We know
that simply testing every GUI element will not show the interactions between the elements and be unrealistic
in that no user spends their time simply exercising GUI elements. So we look at scenarios or ???paths through
the software.??? And we quickly discover that these are as infinite as the data combinations we might use.
Conclusion: at some point there are no algorithms to guide you and you must use judgment based
on risk. If you have read the specifications and/or contract you must have a fairly good idea of the risk
involved and the kinds of coverage you will need to be as sure as possible of finding bugs.
7.8.5 Structured Programming Verification
This requires a user-defined template to match permitted language constructs against those contained
in the subject program (example: IF THEN ELSE ENDIF).
Pages:
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291