Bird
Raised Fist0
Software Engineeringknowledge~20 mins

White-box testing techniques in Software Engineering - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
White-box Testing Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
Understanding Statement Coverage

Which of the following best describes statement coverage in white-box testing?

AIt measures whether every line of code has been executed at least once during testing.
BIt ensures every possible input value is tested for the program.
CIt verifies that all user interface elements are accessible.
DIt checks if the software meets the business requirements.
Attempts:
2 left
💡 Hint

Think about coverage related to code lines executed.

📋 Factual
intermediate
2:00remaining
Branch Coverage Purpose

What is the main goal of branch coverage in white-box testing?

ATo ensure that both true and false outcomes of every decision point in the code are tested.
BTo verify the software's performance under load.
CTo ensure the software's user interface is intuitive.
DTo check if the software handles invalid inputs gracefully.
Attempts:
2 left
💡 Hint

Focus on decision points and paths in code.

🔍 Analysis
advanced
2:00remaining
Evaluating Loop Testing Techniques

Consider a loop that runs from 1 to 10. Which white-box testing technique focuses on testing the loop with zero, one, and multiple iterations?

APath coverage
BCondition coverage
CLoop testing
DData flow testing
Attempts:
2 left
💡 Hint

Think about testing loops specifically.

❓ Comparison
advanced
2:00remaining
Difference Between Condition and Decision Coverage

Which statement correctly distinguishes condition coverage from decision coverage in white-box testing?

ACondition coverage ensures all code lines run; decision coverage ensures all functions are called.
BCondition coverage tests all possible input values; decision coverage tests all output values.
CCondition coverage focuses on user interface elements; decision coverage focuses on database queries.
DCondition coverage tests each boolean sub-expression independently; decision coverage tests the overall decision outcome.
Attempts:
2 left
💡 Hint

Think about testing parts of a decision versus the whole decision.

❓ Reasoning
expert
3:00remaining
Choosing the Best Technique for Complex Code Paths

You have a complex function with many nested decisions and loops. Which white-box testing technique is best suited to ensure all possible execution paths are tested?

AStatement coverage
BPath coverage
CLoop testing
DCondition coverage
Attempts:
2 left
💡 Hint

Consider the technique that covers all sequences of decisions.

Practice

(1/5)
1. Which of the following best describes white-box testing?
easy
A. Testing that examines the internal structure of the code
B. Testing that focuses only on user interface behavior
C. Testing done without knowledge of the code
D. Testing that only checks software performance

Solution

  1. Step 1: Understand white-box testing definition

    White-box testing involves looking inside the code to test its logic and structure.
  2. Step 2: Compare options to definition

    Testing that examines the internal structure of the code matches this definition exactly, while others focus on external or unrelated aspects.
  3. Final Answer:

    Testing that examines the internal structure of the code -> Option A
  4. Quick Check:

    White-box testing = internal code check [OK]
Hint: White-box tests look inside the code, not just outside [OK]
Common Mistakes:
  • Confusing white-box with black-box testing
  • Thinking white-box tests only check UI
  • Assuming white-box ignores code structure
2. Which syntax correctly represents a common white-box testing technique?
easy
A. User acceptance testing
B. Branch coverage
C. Load testing
D. Smoke testing

Solution

  1. Step 1: Identify white-box testing techniques

    Common white-box techniques include statement, branch, path, and condition coverage.
  2. Step 2: Match options to white-box techniques

    Only branch coverage is a white-box technique; others are types of testing but not white-box.
  3. Final Answer:

    Branch coverage -> Option B
  4. Quick Check:

    Branch coverage = white-box technique [OK]
Hint: Branch coverage is a classic white-box technique [OK]
Common Mistakes:
  • Confusing black-box tests with white-box
  • Choosing performance or acceptance tests
  • Ignoring coverage-based techniques
3. Consider the following code snippet:
if (x > 0) {
  print("Positive");
} else {
  print("Non-positive");
}

Which white-box testing technique ensures both if and else branches are tested?
medium
A. Statement coverage
B. Path coverage
C. Branch coverage
D. Condition coverage

Solution

  1. Step 1: Understand the code branches

    The code has two branches: one for x > 0 true, one for false.
  2. Step 2: Identify technique testing all branches

    Branch coverage requires testing each branch (if and else) at least once.
  3. Final Answer:

    Branch coverage -> Option C
  4. Quick Check:

    Branch coverage = test all branches [OK]
Hint: Branch coverage tests all decision paths [OK]
Common Mistakes:
  • Confusing statement coverage with branch coverage
  • Thinking path coverage is simpler
  • Ignoring else branch testing
4. A tester wrote this code to check condition coverage:
if (a > 10 && b < 5) {
  print("Valid");
}

Which mistake would cause incomplete condition coverage?
medium
A. Testing only when both conditions are true
B. Testing when a is 5 and b is 3
C. Testing when a is 15 and b is 6
D. Testing when a is 20 and b is 2

Solution

  1. Step 1: Understand condition coverage

    Condition coverage requires testing each condition (a > 10 and b < 5) as true and false separately.
  2. Step 2: Analyze testing only both true

    If only tested when both are true, false cases for each condition are not tested, so coverage is incomplete.
  3. Final Answer:

    Testing only when both conditions are true -> Option A
  4. Quick Check:

    Condition coverage = test each condition true/false [OK]
Hint: Test each condition true and false separately [OK]
Common Mistakes:
  • Testing only combined true cases
  • Ignoring false condition tests
  • Assuming one test covers all conditions
5. You want to ensure every possible route through this code is tested:
if (x > 0) {
  if (y > 0) {
    print("Both positive");
  } else {
    print("x positive, y non-positive");
  }
} else {
  print("x non-positive");
}

Which white-box testing technique best guarantees this?
hard
A. Condition coverage
B. Statement coverage
C. Branch coverage
D. Path coverage

Solution

  1. Step 1: Identify all possible paths

    There are three paths: both x and y positive, x positive and y non-positive, x non-positive.
  2. Step 2: Understand path coverage

    Path coverage requires testing every possible route through the code, covering all combinations of decisions.
  3. Step 3: Compare with other techniques

    Statement and branch coverage do not guarantee all paths; condition coverage tests conditions but not all paths.
  4. Final Answer:

    Path coverage -> Option D
  5. Quick Check:

    Path coverage = test all routes [OK]
Hint: Path coverage tests every possible route through code [OK]
Common Mistakes:
  • Confusing branch with path coverage
  • Assuming statement coverage is enough
  • Ignoring nested conditions
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