Bird
Raised Fist0
Testing Fundamentalstesting~10 mins

Condition coverage in Testing Fundamentals - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to check if the number is positive.

Testing Fundamentals
def is_positive(num):
    if num [1] 0:
        return True
    else:
        return False
Drag options to blanks, or click blank then click option'
A>
B!=
C<
D==
Attempts:
3 left
💡 Hint
Common Mistakes
Using '==' instead of '>' will only check if the number equals zero.
Using '<' checks for negative numbers, not positive.
2fill in blank
medium

Complete the code to test if a string is empty.

Testing Fundamentals
def is_empty(s):
    if len(s) [1] 0:
        return True
    else:
        return False
Drag options to blanks, or click blank then click option'
A!=
B>
C==
D<
Attempts:
3 left
💡 Hint
Common Mistakes
Using '!=' would check if the string is not empty.
Using '>' or '<' would not correctly identify an empty string.
3fill in blank
hard

Fix the error in the condition to check if a number is even.

Testing Fundamentals
def is_even(n):
    if n [1] 2 == 0:
        return True
    else:
        return False
Drag options to blanks, or click blank then click option'
A+
B//
C*
D%
Attempts:
3 left
💡 Hint
Common Mistakes
Using '//' performs integer division, not remainder.
Using '*' or '+' are arithmetic operations that don't check evenness.
4fill in blank
hard

Fill both blanks to create a condition that checks if a number is between 10 and 20 inclusive.

Testing Fundamentals
def in_range(x):
    if x [1]= 10 and x [2]= 20:
        return True
    else:
        return False
Drag options to blanks, or click blank then click option'
A>
B<
Attempts:
3 left
💡 Hint
Common Mistakes
Using '<' instead of '<=' excludes 20 from the range.
Using '>' instead of '>=' excludes 10 from the range.
5fill in blank
hard

Fill all three blanks to create a dictionary comprehension that maps words to their lengths only if length is greater than 3.

Testing Fundamentals
words = ['apple', 'bat', 'carrot', 'dog']
lengths = { [1]: [2] for word in words if [3] > 3 }
Drag options to blanks, or click blank then click option'
Aword
Blen(word)
Attempts:
3 left
💡 Hint
Common Mistakes
Using the length as the key instead of the word.
Not using the length in the condition to filter words.

Practice

(1/5)
1. What does condition coverage ensure in software testing?
easy
A. All possible input values are tested
B. Only the overall decision outcome is tested once
C. Each part of a decision is tested for both true and false outcomes
D. Only syntax errors are detected

Solution

  1. Step 1: Understand condition coverage definition

    Condition coverage requires testing each atomic condition in a decision for both true and false values.
  2. Step 2: Compare options with definition

    Each part of a decision is tested for both true and false outcomes matches this definition exactly, while others describe different testing scopes.
  3. Final Answer:

    Each part of a decision is tested for both true and false outcomes -> Option C
  4. Quick Check:

    Condition coverage = test each condition true/false [OK]
Hint: Test each condition true and false separately [OK]
Common Mistakes:
  • Confusing condition coverage with decision coverage
  • Thinking only overall decision outcome matters
  • Assuming all inputs must be tested
2. Which of the following is the correct syntax to represent a condition in a test case for condition coverage?
easy
A. if a and b then ...
B. if a && b { ... }
C. if (a & b) { ... }
D. if (a && b) { ... }

Solution

  1. Step 1: Identify correct syntax for logical AND in common languages

    In languages like JavaScript, Java, and C, logical AND is written as && inside parentheses.
  2. Step 2: Evaluate each option

    if (a && b) { ... } uses correct syntax with parentheses and &&. if a and b then ... uses incorrect syntax (no parentheses, wrong keywords). if (a & b) { ... } uses bitwise AND &, not logical AND. if a && b { ... } misses parentheses.
  3. Final Answer:

    if (a && b) { ... } -> Option D
  4. Quick Check:

    Logical AND syntax = && with parentheses [OK]
Hint: Use parentheses and && for logical AND [OK]
Common Mistakes:
  • Using single & instead of && for logical AND
  • Omitting parentheses around conditions
  • Using incorrect keywords like 'then'
3. Consider the decision: if (x > 0 && y == 5). Which test inputs achieve full condition coverage?
medium
A. x=1, y=5 and x=-1, y=4
B. x=1, y=5 and x=1, y=4
C. x=0, y=5 and x=1, y=5
D. x=1, y=5 and x=-1, y=5

Solution

  1. Step 1: Identify conditions and their true/false values

    Conditions: (x > 0) and (y == 5). To cover both true and false for each, we need inputs where x > 0 is true and false, and y == 5 is true and false.
  2. Step 2: Check each option for condition coverage

    x=1, y=5 and x=-1, y=4: x=1,y=5 (x>0 true, y==5 true), x=-1,y=4 (x>0 false, y==5 false) covers all true/false for both conditions. Others miss some false cases.
  3. Final Answer:

    x=1, y=5 and x=-1, y=4 -> Option A
  4. Quick Check:

    Test each condition true and false separately [OK]
Hint: Test each condition true and false independently [OK]
Common Mistakes:
  • Testing only overall decision true/false
  • Missing false case for one condition
  • Assuming one test covers all conditions
4. Given the code snippet:
if (a || b) {
  // do something
}

Which test set achieves condition coverage?
medium
A. a=true, b=false and a=false, b=true
B. a=true, b=false and a=false, b=false
C. a=true, b=true only
D. a=false, b=false only

Solution

  1. Step 1: Understand condition coverage for OR operator

    For a || b, condition coverage requires testing a and b each as true and false separately.
  2. Step 2: Evaluate test sets

    a=true, b=false and a=false, b=true tests a=true,b=false (a true, b false) and a=false,b=true (a false, b true), covering both true and false for each condition. Others miss some cases.
  3. Final Answer:

    a=true, b=false and a=false, b=true -> Option A
  4. Quick Check:

    Test each condition true and false separately [OK]
Hint: Test each condition true and false separately for OR [OK]
Common Mistakes:
  • Confusing with decision coverage
  • Assuming one test covers both conditions
  • Ignoring condition coverage for OR
5. You have the decision: if ((p && q) || r). Which minimal test set achieves full condition coverage?
hard
A. p=true, q=true, r=false; p=false, q=true, r=false; p=false, q=false, r=false
B. p=true, q=false, r=false; p=false, q=true, r=false; p=false, q=false, r=true
C. p=true, q=true, r=false; p=false, q=false, r=false
D. p=true, q=false, r=true; p=false, q=false, r=false

Solution

  1. Step 1: Identify atomic conditions and their true/false needs

    Conditions: p, q, r. Condition coverage requires each to be true and false at least once.
  2. Step 2: Check each test set for coverage

    p=true, q=false, r=false; p=false, q=true, r=false; p=false, q=false, r=true tests p=true,q=false,r=false (p true, q false, r false), p=false,q=true,r=false (p false, q true, r false), and p=false,q=false,r=true (p false, q false, r true). This covers true and false for all conditions minimally.
  3. Final Answer:

    p=true, q=false, r=false; p=false, q=true, r=false; p=false, q=false, r=true -> Option B
  4. Quick Check:

    Each condition true and false tested once [OK]
Hint: Test each condition true and false once in minimal sets [OK]
Common Mistakes:
  • Missing false case for one condition
  • Testing only overall decision outcomes
  • Using redundant tests beyond minimal coverage
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