← Testing: expected vs actual lesson New set →

App Dev Worksheet: Testing

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

Answer key

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

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