Year 9 · Y9.4 App Development · Lesson 3

Stretch tasks Testing and evaluation

Task 1

Quiz Challenge

A quiz game against four computer players, then short and long written answers.

  1. Quiz Blitz12 questions against the clock
  2. Quick Fire4 short answers
  3. Big Think2 long answers

About 20 minutes

Task 2

This or That

Pixel the cat asks 8 questions. Each has two answers: pick the right one.

  • Two answers to every question
  • A fish treat for every right answer
  • Streaks win Pixel shades, then a party hat

About 4 minutes

Task 3

Memory Match

Flip the cards two at a time to match each term card to its meaning card.

  • 12 cards: each term has a meaning
  • One peek at every card
  • Combo points for pairs found in a row

6 pairs, about 4 minutes

The games need JavaScript. Every question is below, with the answers at the end.

Read the lesson: Testing and evaluation

Testing and evaluation: the questions

Quiz Challenge, round 1: Quiz Blitz

  1. A title box accepts 1 to 50 characters. Which is BOUNDARY test data?

    • A title of 20 characters
    • A title of 300 characters
    • A title made only of spaces
    • A title of exactly 50 characters
  2. Which kind of testing checks the app on different phones and screen sizes?

    • Functionality
    • Usability
    • Robustness
    • Compatibility
  3. Testing what happens with no internet connection is a test of which quality?

    • Usability
    • Functionality
    • Robustness
    • Compatibility
  4. A test plan that only contains tests you know will pass is the most useful kind.

    • True
    • False
  5. Which THREE columns does a test plan need?

    Tick 3.

    • Actual result
    • The tester's age
    • The number of screens in the app
    • Test data
    • Expected result
  6. Test 2: empty title. Expected: a message asking for a title. Actual: the app crashed. What should happen next?

    • Change the expected result to crashes
    • Release the app anyway
    • Fix the code, then run the test again
    • Delete the test from the plan
  7. Put these evaluation steps in order.

    Number these 1 to 4.

    • Note what testers struggled with
    • Decide what to improve next
    • Re-read the original requirements
    • Check each one: met, partly met or not met
  8. Which is the most useful evaluation statement?

    • Three of five testers could not find Delete, so I would move it into each task
    • Everything worked perfectly
    • This is the best app I have ever made
    • Users liked it
  9. Usability testing means a real person tries to complete a task without help.

    • True
    • False
  10. Why is erroneous data tested?

    • Because it always works
    • To make the app run more slowly
    • To fill up the database
    • To check the app rejects it politely instead of crashing
  11. Testing that every feature does what its requirement said is called what? One word.

  12. Why should you not evaluate your own app just by using it yourself?

    • It takes too long
    • You know where everything is, so you miss what confuses others
    • You are not allowed to
    • The app breaks when its maker uses it

Quiz Challenge, round 2: Quick Fire

  1. Explain why failing tests in a test plan are the most useful ones. [2 marks]

  2. An app for teenagers has an age box that accepts ages from thirteen to eighteen. Give one example each of normal, boundary and erroneous test data. [3 marks]

  3. What is the difference between functionality testing and usability testing? [2 marks]

  4. During testing, users hesitate before they find the save button. What does this tell you, and what would you do? [2 marks]

Quiz Challenge, round 3: Big Think

  1. Describe three tests for an app's add task feature, and explain why each one is useful. [4 marks]

  2. A student evaluates their app by writing: it works perfectly and everyone liked it. Explain why this is a weak evaluation, and how to write a strong one. [6 marks]

This or That: tick the right answer

  1. Which test is more likely to find a problem?

    • Adding a task with an empty title
    • Adding a normal task you know works
  2. An app is tested with an empty list of tasks. Which quality is being tested?

    • Compatibility
    • Robustness
  3. Expected: task added. Actual: task added. What does this mean?

    • The test failed
    • The test passed
  4. Which column of a test plan is filled in after the test is run?

    • Actual result
    • Expected result
  5. How should an evaluation begin?

    • By checking each original requirement
    • By listing the colours used
  6. Which is erroneous test data for a due date?

    • banana
    • Tomorrow's date
  7. Users hesitated three times on the settings screen. What does that tell you?

    • The screen needs redesigning
    • The users need more training
  8. What should an evaluation say about the future?

    • What you would improve or add next
    • Nothing, because the app is finished

Memory Match: match each term to its meaning

TermMeaning
A Functionality1 A table of tests, data and expected results
B Usability2 Checking the finished app against its requirements
C Compatibility3 Copes with no internet or silly input
D Robustness4 A real person can finish tasks without help
E Test plan5 Every feature does what was required
F Evaluation6 Works on different screens and devices
Answers

Round 1: Quiz Blitz

  1. A title of exactly 50 characters Boundary data sits right at the edge of what is allowed: 1 character or 50.
  2. Compatibility Compatibility testing makes sure it works across devices.
  3. Robustness Robustness is how well the app copes when things go wrong.
  4. False Tests that pass prove little. The value is in the tests that find the problems.
  5. Test data; Expected result; Actual result What you test with, what should happen, and what did happen.
  6. Fix the code, then run the test again A failed test is a bug report. Fix it, then retest to prove the fix works.
  7. Re-read the original requirements → Check each one: met, partly met or not met → Note what testers struggled with → Decide what to improve next Start from what you promised, judge it honestly, then plan the next version.
  8. Three of five testers could not find Delete, so I would move it into each task Specific evidence plus a planned improvement shows real understanding.
  9. True If they need help, the design needs work.
  10. To check the app rejects it politely instead of crashing Real users type silly things. The app should cope with a helpful message.
  11. functionality Functionality testing checks each feature against the requirements.
  12. You know where everything is, so you miss what confuses others Watch someone else and count how often they hesitate.

Round 2: Quick Fire

    • They show the bugs and problems that need fixing
    • Finding them before users do is the point; tests that pass prove little
    Model answer

    A failing test finds a bug or problem that needs fixing, before real users find it. Tests that pass only confirm what you already expected, so they prove little.

    • Normal: an age such as 15
    • Boundary: 13 or 18
    • Erroneous: a value such as 12, 19 or a word
    Model answer

    Normal: 15. Boundary: 13 or 18. Erroneous: hello, or 19, which is outside the range.

    • Functionality testing checks each feature works as its requirement says
    • Usability testing checks a real person can use it easily without help
    Model answer

    Functionality testing checks that each feature works and does what its requirement says. Usability testing checks that a real person can actually use the app easily, without help.

    • The design is unclear: the button is hard to find
    • Move it, make it bigger or clearer, then test again
    Model answer

    It tells me the design is unclear: the save button is hard to find. I would move it somewhere more obvious, make it bigger with a clear label, and then test again with new users.

Round 3: Big Think

    • A normal test, such as adding Maths homework, which should be added
    • An erroneous test, such as an empty title, which should show a message
    • A boundary test, such as a title at the maximum length
    • Each test has an expected result to compare with the actual result
    • The tests catch crashes and bugs before users meet them
    Model answer

    Test 1 is normal data: a task called Maths homework, with the expected result that it is added to the list. Test 2 is erroneous data: an empty title, which should show a message asking for a title rather than crashing. Test 3 is boundary data: a title of exactly the maximum length, which should be accepted without overflowing the box. For each one I would record the expected result and compare it with the actual result, because the tests that fail show the crashes and bugs to fix before users find them.

    • It gives no evidence and is not specific
    • It does not check the app against the original requirements
    • It is not honest about problems: it only gives positives
    • A strong one uses test results and watching real users
    • It says which requirements were fully met, partly met or not met
    • It says what to improve or do differently next
    • It gives a specific example, such as three of five testers struggling
    Model answer

    The statement is weak because it gives no evidence and is not specific: it does not say which features were tested or how many people tried it. It does not check the app against the original requirements, and saying everything is perfect is not honest, because every app has weaknesses. A strong evaluation goes back to the requirements and says which were fully met, partly met or not met, using test results and evidence from watching real users. It is honest about problems, for example: three of five testers could not find the delete button. Finally it says what would be improved next, such as moving the delete button into each task.

This or That

  1. Adding a task with an empty title Tests that might fail, such as empty or extreme input, are the ones that find problems.
  2. Robustness Robustness is how the app copes with no internet, empty lists or silly input.
  3. The test passed When the actual result matches the expected result, the test passes.
  4. Actual result You decide the expected result before testing, then record what actually happened.
  5. By checking each original requirement Go back to the requirements and check them one at a time: met, partly met or not met.
  6. banana Erroneous data is the wrong type entirely, and the app should reject it politely.
  7. The screen needs redesigning Wherever users hesitate is a design problem, not a user problem.
  8. What you would improve or add next A good evaluation says what you would do differently and what you would add next.

Memory Match

  • A 5 Functionality: Every feature does what was required
  • B 4 Usability: A real person can finish tasks without help
  • C 6 Compatibility: Works on different screens and devices
  • D 3 Robustness: Copes with no internet or silly input
  • E 1 Test plan: A table of tests, data and expected results
  • F 2 Evaluation: Checking the finished app against its requirements