Interview Questions, Answers and Tutorials

Branch testing

Branch testing

Branch Testing/ Decision Coverage:
 
Test coverage criteria require enough test cases such that each condition in a decision takes on all possible outcomes at least once, and each point of entry to a program or subroutine is invoked at least once. That is, every branch (decision) taken each way, true and false. It helps in validating all the branches in the code making sure that no branch leads to abnormal behavior of the application.
Formula:
Branch Testing=(Number of decisions outcomes tested / Total Number of decision Outcomes) x 100 %

A branch is the outcome of a decision, so branch coverage simply measures which decision outcomes have been tested. This sounds great because it takes a more in-depth view of the source code than simple statement coverage, but branch coverage can also leave you wanting more.
Determining the number of branches in a method is easy. Boolean decisions obviously have two outcomes, true and false, whereas switches have one outcome for each case—and don’t forget the default case! The total number of decision outcomes in a method is therefore equal to the number of branches that need to be covered plus the entry branch in the method (after all, even methods with straight line code have one branch).
 

Branch Testing Example

/**  Branch Testing Exercise
 *   Create test cases using branch test method for this program
 */
        declare Length as integer
        declare Count as integer
        READ Length;
        READ Count;
        WHILE (Count <= 6) LOOP
            IF (Length >= 100) THEN
                Length = Length - 2;
            ELSE
                Length = Count * Length;
            END IF
            Count = Count + 1;
        END;
        PRINT Length;


Decision Possible Outcomes
Test Cases
1 2 3 4 5 6 7 8 9 10
 Count  <= 6  T  X X
 F  X
 Length >= 100  T  X
 F X

Test Cases

Case # Input Values
Count   Length
Expected Outcomes Actual Outcomes
1  5       101  594
2  5       99  493
3  7       99  99
4

1 thought on “Branch testing

Comments are closed.