Year 9 · Y9.4 App Development · Lesson 3
Stretch tasks Testing and evaluation
Quiz Challenge
A quiz game against four computer players, then short and long written answers.
- Quiz Blitz12 questions against the clock
- Quick Fire4 short answers
- Big Think2 long answers
About 20 minutes
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
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
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
Which kind of testing checks the app on different phones and screen sizes?
- Functionality
- Usability
- Robustness
- Compatibility
Testing what happens with no internet connection is a test of which quality?
- Usability
- Functionality
- Robustness
- Compatibility
A test plan that only contains tests you know will pass is the most useful kind.
- True
- False
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
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
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
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
Usability testing means a real person tries to complete a task without help.
- True
- False
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
Testing that every feature does what its requirement said is called what? One word.
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
Explain why failing tests in a test plan are the most useful ones. [2 marks]
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]
What is the difference between functionality testing and usability testing? [2 marks]
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
Describe three tests for an app's add task feature, and explain why each one is useful. [4 marks]
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
Which test is more likely to find a problem?
- Adding a task with an empty title
- Adding a normal task you know works
An app is tested with an empty list of tasks. Which quality is being tested?
- Compatibility
- Robustness
Expected: task added. Actual: task added. What does this mean?
- The test failed
- The test passed
Which column of a test plan is filled in after the test is run?
- Actual result
- Expected result
How should an evaluation begin?
- By checking each original requirement
- By listing the colours used
Which is erroneous test data for a due date?
- banana
- Tomorrow's date
Users hesitated three times on the settings screen. What does that tell you?
- The screen needs redesigning
- The users need more training
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
| Term | Meaning |
|---|---|
| A Functionality | 1 A table of tests, data and expected results |
| B Usability | 2 Checking the finished app against its requirements |
| C Compatibility | 3 Copes with no internet or silly input |
| D Robustness | 4 A real person can finish tasks without help |
| E Test plan | 5 Every feature does what was required |
| F Evaluation | 6 Works on different screens and devices |
Answers
Round 1: Quiz Blitz
- A title of exactly 50 characters Boundary data sits right at the edge of what is allowed: 1 character or 50.
- Compatibility Compatibility testing makes sure it works across devices.
- Robustness Robustness is how well the app copes when things go wrong.
- False Tests that pass prove little. The value is in the tests that find the problems.
- Test data; Expected result; Actual result What you test with, what should happen, and what did happen.
- Fix the code, then run the test again A failed test is a bug report. Fix it, then retest to prove the fix works.
- 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.
- 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.
- True If they need help, the design needs work.
- To check the app rejects it politely instead of crashing Real users type silly things. The app should cope with a helpful message.
- functionality Functionality testing checks each feature against the requirements.
- 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 answerA 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 answerNormal: 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 answerFunctionality 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 answerIt 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 answerTest 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 answerThe 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
- Adding a task with an empty title Tests that might fail, such as empty or extreme input, are the ones that find problems.
- Robustness Robustness is how the app copes with no internet, empty lists or silly input.
- The test passed When the actual result matches the expected result, the test passes.
- Actual result You decide the expected result before testing, then record what actually happened.
- By checking each original requirement Go back to the requirements and check them one at a time: met, partly met or not met.
- banana Erroneous data is the wrong type entirely, and the app should reject it politely.
- The screen needs redesigning Wherever users hesitate is a design problem, not a user problem.
- 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