Bird
Raised Fist0
Testing Fundamentalstesting~5 mins

Branch coverage in Testing Fundamentals - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is branch coverage in software testing?
Branch coverage measures whether each possible branch (true/false decision) in the code has been executed at least once during testing.
Click to reveal answer
beginner
Why is branch coverage important?
It helps find bugs in decision points by ensuring all branches of conditional statements are tested, improving test thoroughness.
Click to reveal answer
intermediate
How does branch coverage differ from statement coverage?
Statement coverage checks if each line runs, but branch coverage checks if each decision path (true/false) runs, making it more detailed.
Click to reveal answer
beginner
Example: If a code has an if-else statement, how many branches are there?
There are two branches: one for the 'if' condition being true, and one for it being false (the 'else').
Click to reveal answer
intermediate
What does 100% branch coverage mean?
It means every possible branch in the code has been executed at least once during testing, covering all decision outcomes.
Click to reveal answer
What does branch coverage measure in testing?
AWhether the code is free of syntax errors
BWhether each line of code is executed
CWhether the software meets user requirements
DWhether each decision branch (true/false) is executed
If an if statement has no else, how many branches does it have?
ATwo
BOne
CThree
DZero
Which coverage is more detailed: statement coverage or branch coverage?
ABoth are the same
BStatement coverage
CBranch coverage
DNeither
What does 100% branch coverage guarantee?
AAll decision outcomes are tested
BAll code lines are executed
CNo bugs remain
DAll user requirements are met
Why might branch coverage miss some bugs?
ABecause it only tests syntax
BBecause it doesn't check data values inside branches
CBecause it tests all user inputs
DBecause it ignores decision points
Explain branch coverage and why it is useful in testing.
Think about how decisions in code create different paths to test.
You got /3 concepts.
    Describe how you would achieve 100% branch coverage for a simple if-else statement.
    Consider testing both outcomes of the condition.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does branch coverage testing ensure in software testing?
      easy
      A. All possible paths of each decision point are tested
      B. Only the main function is tested
      C. All variables are initialized
      D. The software runs faster

      Solution

      1. Step 1: Understand branch coverage concept

        Branch coverage means testing every decision point in the code, including both true and false outcomes.
      2. Step 2: Match concept to options

        All possible paths of each decision point are tested correctly states that all possible paths of each decision point are tested, which is the essence of branch coverage.
      3. Final Answer:

        All possible paths of each decision point are tested -> Option A
      4. Quick Check:

        Branch coverage = all decision paths tested [OK]
      Hint: Branch coverage tests both true and false paths [OK]
      Common Mistakes:
      • Confusing branch coverage with statement coverage
      • Thinking it only tests main functions
      • Assuming it improves speed
      2. Which of the following is the correct way to write a branch coverage test condition in pseudocode?
      easy
      A. print('Test complete')
      B. while x > 10 do A
      C. for i in range(10): do A
      D. if (x > 10) then do A else do B

      Solution

      1. Step 1: Identify branch decision structure

        Branch coverage requires a decision point with two or more paths, like an if-else condition.
      2. Step 2: Check options for decision points

        if (x > 10) then do A else do B shows an if-else statement, which has two branches (true and false). Other options do not have decision branches.
      3. Final Answer:

        if (x > 10) then do A else do B -> Option D
      4. Quick Check:

        If-else = branch decision [OK]
      Hint: Look for if-else to identify branches [OK]
      Common Mistakes:
      • Choosing loops as branch examples
      • Ignoring else part of if-else
      • Confusing print statements with branches
      3. Consider the following code snippet:
      if (a > 0) {
        if (b == 5) {
          print('Path 1');
        } else {
          print('Path 2');
        }
      } else {
        print('Path 3');
      }

      How many test cases are needed for 100% branch coverage?
      medium
      A. 3
      B. 4
      C. 2
      D. 5

      Solution

      1. Step 1: Identify decision points and branches

        There are two if statements: outer (a > 0) with true/false branches, inner (b == 5) with true/false branches.
      2. Step 2: Count unique branches

        Outer if: 2 branches (true, false). Inner if (only if outer true): 2 branches. Total branches = 3 unique paths: Path 1, Path 2, Path 3.
      3. Final Answer:

        3 -> Option A
      4. Quick Check:

        Branches = 3 paths [OK]
      Hint: Count all true/false branches in nested ifs [OK]
      Common Mistakes:
      • Counting only outer if branches
      • Assuming each if adds 2 test cases independently
      • Ignoring nested structure
      4. You have this code:
      if (x != 0) {
        print('Non-zero');
      }

      A test case with x = 0 is missing. What branch coverage issue does this cause?
      medium
      A. True branch not tested
      B. False branch not tested
      C. Syntax error in code
      D. All branches covered

      Solution

      1. Step 1: Identify branches in the if condition

        The if condition has two branches: true (x != 0) and false (x == 0).
      2. Step 2: Analyze test cases given

        Only test cases with x != 0 exist, so true branch is tested but false branch (x == 0) is missing.
      3. Final Answer:

        False branch not tested -> Option B
      4. Quick Check:

        Missing false branch test = coverage gap [OK]
      Hint: Test both true and false conditions for full coverage [OK]
      Common Mistakes:
      • Assuming one test case covers all branches
      • Confusing true and false branches
      • Thinking missing test causes syntax error
      5. Given this code:
      if (score >= 90) {
        grade = 'A';
      } else if (score >= 75) {
        grade = 'B';
      } else {
        grade = 'C';
      }

      How many test cases are needed for 100% branch coverage?
      hard
      A. 2
      B. 5
      C. 3
      D. 4

      Solution

      1. Step 1: Identify all decision points and branches

        There are two if conditions: first (score >= 90) with true/false branches, second (score >= 75) with true/false branches inside else.
      2. Step 2: Count unique branches

        Branches: first if true (score>=90), first false + second true (75<=score<90), first false + second false (score<75). Total 3 test cases needed for 100% coverage.
      3. Final Answer:

        3 -> Option C
      4. Quick Check:

        if-else-if-else chain = 3 test cases [OK]
      Hint: Count all true/false branches in if-else if-else chains [OK]
      Common Mistakes:
      • Counting only if statements, ignoring else
      • Assuming 4 test cases are needed
      • Missing nested else if branches
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard