← All ISTQB Flashcard Decks

White-Box Test Design Flashcards

7 cards from real ISTQB practice questions. Tap to flip, then mark Knew It or Still Learning — missed cards come back until you master them.

Read the first 7 White-Box Test Design flashcards as text
  1. Which of the following is NOT a white-box (structural) testing technique?

    Answer: Equivalence partitioning

    Equivalence partitioning is a black-box technique based on input domain analysis, not on code structure examination.

  2. A software component has the Boolean expression `if (x > 0 && y != 0)`. To achieve MC/DC, which set of test cases is SUFFICIENT?

    Answer: TC1: x=1,y=1 (T,T); TC2: x=-1,y=1 (F,T); TC3: x=1,y=0 (T,F)

    MC/DC requires each condition to independently affect the outcome: TC1 shows T,T→T; TC2 changes only x to show F,T→F; TC3 changes only y to show T,F→F — three test cases suffice.

  3. When a white-box tester calculates cyclomatic complexity using the formula V(G) = P + 1, what does 'P' represent?

    Answer: The number of predicate (decision) nodes in the control flow graph

    In the formula V(G) = P + 1, P is the number of predicate (binary decision) nodes in the control flow graph.

  4. Which coverage criterion is MOST effective at detecting faults caused by incorrect variable initialization before first use?

    Answer: Data flow coverage (all-defs)

    Data flow coverage specifically tracks definition-use pairs and can identify ur anomalies where variables are used before a valid definition, directly targeting initialization faults.

  5. A tester achieves 100% branch coverage on a function. Which of the following statements is TRUE?

    Answer: 100% statement coverage is also achieved

    Branch coverage subsumes statement coverage — if every branch (true and false outcome of every decision) is exercised, every reachable statement must have been executed.

  6. In white-box testing, what is the purpose of using a 'call graph'?

    Answer: To visualize the invocation relationships between functions/modules for integration testing

    A call graph is a directed graph showing which functions call which other functions, enabling testers to design integration test cases based on structural dependencies.

  7. Which statement BEST explains why 100% path coverage is generally impractical for real software?

    Answer: The number of paths grows exponentially with the number of loops and branches

    The number of unique paths through a program with loops and nested branches grows exponentially (potentially infinitely with unbounded loops), making exhaustive path coverage infeasible.