0% found this document useful (0 votes)
672 views

Basis Path Testing Technique

The document describes basis path testing of an average calculation procedure. It identifies 6 independent paths through the program: 1) normal calculation; 2) early termination with -999 value; 3) processing over 100 values; 4) ignoring values below minimum; 5) ignoring values above maximum; and 6) normal calculation. Test cases are outlined to exercise each path by manipulating the input values and validating the output.

Uploaded by

Agum Junianto
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
672 views

Basis Path Testing Technique

The document describes basis path testing of an average calculation procedure. It identifies 6 independent paths through the program: 1) normal calculation; 2) early termination with -999 value; 3) processing over 100 values; 4) ignoring values below minimum; 5) ignoring values above maximum; and 6) normal calculation. Test cases are outlined to exercise each path by manipulating the input values and validating the output.

Uploaded by

Agum Junianto
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 6

Basis Path Testing - Example

PROCEDURE average:
This procedure computes the average of 100 or fewer numbers that lie between bounding
values; it also computes the sum and the total number valid
INTERFACE returns average, total.input, total.valid;
INTERFACE accepts value, minimum, maximum;
TYPE value[1:100] IS SCALAR ARRAY;
TYPE average, total.input, total.valid, minimum,maximum,sum IS SCALAR;
TYPE i is integer;
i=1;
1 2
total.input = total.valid = 0;
Sum=0;
Do while value[i]<>-999 and total.input <= 100 3
4 increment total.input by 1;
IF value[i] >= minimum and value[i] <=maximum 6
5 THEN increment total.valid by 1;
7 sum = sum + value[I];

8 ENDIF
increment i by 1;
9 Enddo
IF value[i] >0 10
11
THEN average = sum / total.valid;
ELSE average = -999;
12 ENDIF 13 1
Basis Testing Example
1

10
3

12 11 4

13
5

7
8

9
2
Basis Testing Example
Compute cyclomatic complexity
V(G)= 17 edges 13 nodes + 2 = 6
Determine sets of independent paths
1 = 1-2-10-11-13
2 = 1-2-10-12-13
3 = 1-2-3-10-11-13
4 = 1-2-3-10-12-13
5 = 1-2-3-4-5-8-9-2-
6 = 1-2-3-4-5-6-8-9-2-.
Or is it???
3
Correction
Oops, the previous page is WRONG.
Determine set of independent paths
1 = 1-2-10-11-13
2 = 1-2-3-10-12-13
3 = 1-2-3-4-5-8-9-2-
4 = 1-2-3-4-5-6-8-9-2-
5 = 1-2-3-4-5-6-7-8-9-2-
Why arent there six?

4
Basis Testing - Example
Prepare Test Cases for each
Test case path 1
Value(k) is value k < i i >= 2 i <=100
Value i = -999 same range
Expected result: correct average based on k values and
proper totals
Test case path 2
Value(1) = -999
Expected results : average = -999; other totals are the
initial values
Test case path 3
Attempt to process 101 or more values
First 100 should be valid
5
Expected results as test case 1
Basis Testing Example
Test case path 4
Value(i) = valid input where i < 100
Value(k) < minimum where k < i
Expected results: correct average based on k values and
proper totals
Test case path 5
Value (i) = valid input where i < 100
Value(k) > maximum where k=i
Expected results: correct average based on n values and
proper totals
Test case path 6
Value(i) = valid input where i < 100
Expected results: correct average based on n values and
proper totals
6

You might also like