← Testing: expected vs actual lesson New set →

App Dev Worksheet: Testing

App development lesson 22: Testing: expected vs actual · Set 35 · 40 questions
TalentJR

Developer's tip (Expected vs actual): Test case = input + expected result (from the rule). Run the code: actual = expected → pass; otherwise → fail. Always test the edge value: < and <= differ only there.

NameDateTime takenScore ___ / 40
  1. 1.🧪 Values right at a limit, like age 12 for “under 12”, are called ___. (a) old cases (b) edge cases (c) easy cases (d) phone cases
  2. 2.🧪 How many of these test cases pass?
    🚚 Rule: delivery is free (0) when the order is 800 or more; otherwise it costs 40.
    function delivery(total) {
      if (total > 800) {
        return 0;
      }
      return 40;
    }
    Test 1: delivery(800) → expected 0
    Test 2: delivery(600) → expected 40
    Test 3: delivery(1100) → expected 0
  3. 3.🧪 How many of these test cases pass?
    🚚 Rule: delivery is free (0) when the order is 700 or more; otherwise it costs 40.
    function delivery(total) {
      if (total >= 700) {
        return 0;
      }
      return 40;
    }
    Test 1: delivery(900) → expected 0
    Test 2: delivery(600) → expected 40
    Test 3: delivery(800) → expected 0
  4. 4.🧪 What is the ACTUAL result of Test 1?
    🚚 Rule: delivery is free (0) when the order is 300 or more; otherwise it costs 40.
    function delivery(total) {
      if (total >= 300) {
        return 0;
      }
      return 40;
    }
    Test 1: delivery(400) → expected 0
    Test 2: delivery(300) → expected 0
    Test 3: delivery(250) → expected 40
  5. 5.🧪 A test case is an input together with its ___. (a) screen colour (b) app icon (c) expected result (d) font size
  6. 6.🧪 One test case fails. Which one?
    🚚 Rule: delivery is free (0) when the order is 600 or more; otherwise it costs 40.
    function delivery(total) {
      if (total > 600) {
        return 0;
      }
      return 40;
    }
    Test 1: delivery(700) → expected 0
    Test 2: delivery(600) → expected 0
    Test 3: delivery(550) → expected 40
    (a) Test 1 (b) Test 3 (c) Test 2
  7. 7.🧪 How many of these test cases pass?
    🚚 Rule: delivery is free (0) when the order is 700 or more; otherwise it costs 40.
    function delivery(total) {
      if (total >= 700) {
        return 0;
      }
      return 40;
    }
    Test 1: delivery(550) → expected 40
    Test 2: delivery(700) → expected 0
    Test 3: delivery(750) → expected 0
  8. 8.🧪 One test case fails. Which one?
    🎟️ Rule: a ticket costs 50 for children under 9, and 100 for everyone else.
    function price(age) {
      if (age <= 9) {
        return 50;
      }
      return 100;
    }
    Test 1: price(14) → expected 100
    Test 2: price(7) → expected 50
    Test 3: price(9) → expected 100
    (a) Test 1 (b) Test 3 (c) Test 2
  9. 9.🧪 A test fails when ___. (a) the app is new (b) both are the same (c) the font is big (d) actual is not expected
  10. 10.🧪 One test case fails. Which one?
    🚚 Rule: delivery is free (0) when the order is 600 or more; otherwise it costs 40.
    function delivery(total) {
      if (total > 600) {
        return 0;
      }
      return 40;
    }
    Test 1: delivery(550) → expected 40
    Test 2: delivery(650) → expected 0
    Test 3: delivery(600) → expected 0
    (a) Test 3 (b) Test 2 (c) Test 1
  11. 11.🧪 What is the ACTUAL result of Test 1?
    🚚 Rule: delivery is free (0) when the order is 300 or more; otherwise it costs 40.
    function delivery(total) {
      if (total > 300) {
        return 0;
      }
      return 40;
    }
    Test 1: delivery(300) → expected 0
    Test 2: delivery(400) → expected 0
    Test 3: delivery(150) → expected 40
  12. 12.🧪 What is the ACTUAL result of Test 3?
    🎟️ Rule: a ticket costs 50 for children under 14, and 100 for everyone else.
    function price(age) {
      if (age < 14) {
        return 50;
      }
      return 100;
    }
    Test 1: price(16) → expected 100
    Test 2: price(12) → expected 50
    Test 3: price(19) → expected 100
  13. 13.🧪 What is the ACTUAL result of Test 2?
    🚚 Rule: delivery is free (0) when the order is 800 or more; otherwise it costs 40.
    function delivery(total) {
      if (total > 800) {
        return 0;
      }
      return 40;
    }
    Test 1: delivery(900) → expected 0
    Test 2: delivery(850) → expected 0
    Test 3: delivery(750) → expected 40
  14. 14.🧪 What is the ACTUAL result of Test 1?
    🚚 Rule: delivery is free (0) when the order is 500 or more; otherwise it costs 40.
    function delivery(total) {
      if (total > 500) {
        return 0;
      }
      return 40;
    }
    Test 1: delivery(850) → expected 0
    Test 2: delivery(800) → expected 0
    Test 3: delivery(350) → expected 40
  15. 15.🧪 What is the actual result of a test? (a) what we hope for (b) the test’s number (c) what the app really does (d) the app’s name
  16. 16.🧪 One test case fails. Which one?
    🎟️ Rule: a ticket costs 50 for children under 12, and 100 for everyone else.
    function price(age) {
      if (age <= 12) {
        return 50;
      }
      return 100;
    }
    Test 1: price(18) → expected 100
    Test 2: price(11) → expected 50
    Test 3: price(12) → expected 100
    (a) Test 1 (b) Test 2 (c) Test 3
  17. 17.🧪 How many of these test cases pass?
    📝 Rule: a quiz is passed with 8 or more right answers.
    function result(right) {
      if (right >= 8) {
        return "Pass";
      }
      return "Try again";
    }
    Test 1: result(10) → expected Pass
    Test 2: result(9) → expected Pass
    Test 3: result(7) → expected Try again
  18. 18.🧪 One test case fails. Which one?
    🚚 Rule: delivery is free (0) when the order is 500 or more; otherwise it costs 40.
    function delivery(total) {
      if (total > 500) {
        return 0;
      }
      return 40;
    }
    Test 1: delivery(500) → expected 0
    Test 2: delivery(400) → expected 40
    Test 3: delivery(800) → expected 0
    (a) Test 1 (b) Test 2 (c) Test 3
  19. 19.🧪 How many of these test cases pass?
    🎟️ Rule: a ticket costs 50 for children under 9, and 100 for everyone else.
    function price(age) {
      if (age < 9) {
        return 50;
      }
      return 100;
    }
    Test 1: price(14) → expected 100
    Test 2: price(9) → expected 100
    Test 3: price(6) → expected 50
  20. 20.🧪 What is the ACTUAL result of Test 3?
    🚚 Rule: delivery is free (0) when the order is 800 or more; otherwise it costs 40.
    function delivery(total) {
      if (total > 800) {
        return 0;
      }
      return 40;
    }
    Test 1: delivery(950) → expected 0
    Test 2: delivery(1000) → expected 0
    Test 3: delivery(750) → expected 40
  21. 21.🧪 How many of these test cases pass?
    🚚 Rule: delivery is free (0) when the order is 300 or more; otherwise it costs 40.
    function delivery(total) {
      if (total >= 300) {
        return 0;
      }
      return 40;
    }
    Test 1: delivery(150) → expected 40
    Test 2: delivery(700) → expected 0
    Test 3: delivery(600) → expected 0
  22. 22.🧪 One test case fails. Which one?
    🚚 Rule: delivery is free (0) when the order is 700 or more; otherwise it costs 40.
    function delivery(total) {
      if (total > 700) {
        return 0;
      }
      return 40;
    }
    Test 1: delivery(550) → expected 40
    Test 2: delivery(950) → expected 0
    Test 3: delivery(700) → expected 0
    (a) Test 3 (b) Test 2 (c) Test 1
  23. 23.🧪 One test case fails. Which one?
    🎟️ Rule: a ticket costs 50 for children under 9, and 100 for everyone else.
    function price(age) {
      if (age <= 9) {
        return 50;
      }
      return 100;
    }
    Test 1: price(5) → expected 50
    Test 2: price(9) → expected 100
    Test 3: price(14) → expected 100
    (a) Test 1 (b) Test 3 (c) Test 2
  24. 24.🧪 Who else should try an app before release? (a) the app icon (b) real users (c) nobody (d) only the coder
  25. 25.🧪 One test case fails. Which one?
    📝 Rule: a quiz is passed with 7 or more right answers.
    function result(right) {
      if (right > 7) {
        return "Pass";
      }
      return "Try again";
    }
    Test 1: result(7) → expected Pass
    Test 2: result(8) → expected Pass
    Test 3: result(4) → expected Try again
    (a) Test 1 (b) Test 3 (c) Test 2
  26. 26.🧪 What is the ACTUAL result of Test 2?
    🚚 Rule: delivery is free (0) when the order is 800 or more; otherwise it costs 40.
    function delivery(total) {
      if (total >= 800) {
        return 0;
      }
      return 40;
    }
    Test 1: delivery(1100) → expected 0
    Test 2: delivery(1050) → expected 0
    Test 3: delivery(650) → expected 40
  27. 27.🧪 How many of these test cases pass?
    🎟️ Rule: a ticket costs 50 for children under 10, and 100 for everyone else.
    function price(age) {
      if (age <= 10) {
        return 50;
      }
      return 100;
    }
    Test 1: price(10) → expected 100
    Test 2: price(16) → expected 100
    Test 3: price(7) → expected 50
  28. 28.🧪 How many of these test cases pass?
    🎟️ Rule: a ticket costs 50 for children under 14, and 100 for everyone else.
    function price(age) {
      if (age < 14) {
        return 50;
      }
      return 100;
    }
    Test 1: price(15) → expected 100
    Test 2: price(10) → expected 50
    Test 3: price(16) → expected 100
  29. 29.🧪 How many of these test cases pass?
    📝 Rule: a quiz is passed with 8 or more right answers.
    function result(right) {
      if (right > 8) {
        return "Pass";
      }
      return "Try again";
    }
    Test 1: result(9) → expected Pass
    Test 2: result(6) → expected Try again
    Test 3: result(10) → expected Pass
  30. 30.🧪 What is the ACTUAL result of Test 3?
    🎟️ Rule: a ticket costs 50 for children under 8, and 100 for everyone else.
    function price(age) {
      if (age < 8) {
        return 50;
      }
      return 100;
    }
    Test 1: price(10) → expected 100
    Test 2: price(8) → expected 100
    Test 3: price(5) → expected 50
  31. 31.🧪 One test case fails. Which one?
    🚚 Rule: delivery is free (0) when the order is 500 or more; otherwise it costs 40.
    function delivery(total) {
      if (total > 500) {
        return 0;
      }
      return 40;
    }
    Test 1: delivery(750) → expected 0
    Test 2: delivery(300) → expected 40
    Test 3: delivery(500) → expected 0
    (a) Test 2 (b) Test 1 (c) Test 3
  32. 32.🧪 What is the ACTUAL result of Test 1?
    🚚 Rule: delivery is free (0) when the order is 700 or more; otherwise it costs 40.
    function delivery(total) {
      if (total >= 700) {
        return 0;
      }
      return 40;
    }
    Test 1: delivery(850) → expected 0
    Test 2: delivery(700) → expected 0
    Test 3: delivery(650) → expected 40
  33. 33.🧪 How many of these test cases pass?
    📝 Rule: a quiz is passed with 8 or more right answers.
    function result(right) {
      if (right >= 8) {
        return "Pass";
      }
      return "Try again";
    }
    Test 1: result(10) → expected Pass
    Test 2: result(8) → expected Pass
    Test 3: result(5) → expected Try again
  34. 34.🧪 How many of these test cases pass?
    🚚 Rule: delivery is free (0) when the order is 400 or more; otherwise it costs 40.
    function delivery(total) {
      if (total >= 400) {
        return 0;
      }
      return 40;
    }
    Test 1: delivery(500) → expected 0
    Test 2: delivery(650) → expected 0
    Test 3: delivery(300) → expected 40
  35. 35.🧪 How many of these test cases pass?
    🚚 Rule: delivery is free (0) when the order is 800 or more; otherwise it costs 40.
    function delivery(total) {
      if (total >= 800) {
        return 0;
      }
      return 40;
    }
    Test 1: delivery(1000) → expected 0
    Test 2: delivery(800) → expected 0
    Test 3: delivery(650) → expected 40
  36. 36.🧪 What is the ACTUAL result of Test 3?
    🚚 Rule: delivery is free (0) when the order is 800 or more; otherwise it costs 40.
    function delivery(total) {
      if (total >= 800) {
        return 0;
      }
      return 40;
    }
    Test 1: delivery(950) → expected 0
    Test 2: delivery(750) → expected 40
    Test 3: delivery(850) → expected 0
  37. 37.🧪 What is the ACTUAL result of Test 1?
    🎟️ Rule: a ticket costs 50 for children under 12, and 100 for everyone else.
    function price(age) {
      if (age <= 12) {
        return 50;
      }
      return 100;
    }
    Test 1: price(18) → expected 100
    Test 2: price(20) → expected 100
    Test 3: price(11) → expected 50
  38. 38.🧪 How many of these test cases pass?
    🚚 Rule: delivery is free (0) when the order is 800 or more; otherwise it costs 40.
    function delivery(total) {
      if (total >= 800) {
        return 0;
      }
      return 40;
    }
    Test 1: delivery(800) → expected 0
    Test 2: delivery(750) → expected 40
    Test 3: delivery(850) → expected 0
  39. 39.🧪 How many of these test cases pass?
    🚚 Rule: delivery is free (0) when the order is 700 or more; otherwise it costs 40.
    function delivery(total) {
      if (total > 700) {
        return 0;
      }
      return 40;
    }
    Test 1: delivery(750) → expected 0
    Test 2: delivery(700) → expected 0
    Test 3: delivery(550) → expected 40
  40. 40.🧪 One test case fails. Which one?
    🎟️ Rule: a ticket costs 50 for children under 13, and 100 for everyone else.
    function price(age) {
      if (age <= 13) {
        return 50;
      }
      return 100;
    }
    Test 1: price(11) → expected 50
    Test 2: price(14) → expected 100
    Test 3: price(13) → expected 100
    (a) Test 2 (b) Test 3 (c) Test 1

Answer key

  1. edge cases
  2. 2
  3. 3
  4. 0
  5. expected result
  6. Test 2
  7. 3
  8. Test 3
  9. actual is not expected
  10. Test 3
  11. 40
  12. 100
  13. 0
  14. 0
  15. what the app really does
  16. Test 3
  17. 3
  18. Test 1
  19. 3
  20. 40
  21. 3
  22. Test 3
  23. Test 2
  24. real users
  25. Test 1
  26. 0
  27. 2
  28. 3
  29. 3
  30. 50
  31. Test 3
  32. 0
  33. 3
  34. 3
  35. 3
  36. 0
  37. 100
  38. 3
  39. 2
  40. Test 3

Free app development lessons, practice and worksheets at talentjr.in/app-development-for-students