Year 8 · Summer 2
Raid: App Forge · Lesson 5 of 5
Raid build: user testing and improvements
ProjectTopic 14 Programming further
Year 8 · Raid: App Forge · Lesson 5 of 5
You will learn to
- Use user testing: watch another guild use the app without helping them.
- Write down what testers did, not what you hoped they would do.
- Fix the two most important problems, then test again.
- Rehearse a pitch with a live demo of the app.
Year 8 · Raid: App Forge · Lesson 5 of 5
Success criteria
You have got it when you can say:
- I can watch a tester without helping, and write down what they did.
- I can sort what testers found into 'breaks it', 'misses the brief' and 'nice extra'.
- I can show two fixes working.
- I can present my part of our pitch.
Year 8 · Raid: App Forge · Lesson 5 of 5
Retrieval starter
Questions from before. Write your answers, then show them.
- Last lesson
The program runs but gives the wrong answer. That's a…
A Runtime errorB Syntax errorC Logic error
C. Logic error
- Last unit
A linear search on 50 unsorted items, looking for something that is not there, makes…
A 1 checkB 50 checksC 25 checks
B. 50 checks
- Earlier this year
range(3) gives…
A 0, 1, 2, 3B 1, 2, 3C 0, 1, 2
C. 0, 1, 2
Year 8 · Raid: App Forge · Lesson 5 of 5
Key words (1 of 2)
- Boundary
- Test data at the very edge of what's allowed.
- List
- One name holding many values in order. Also called an array.
- Index
- An item's position in a list, counting from 0.
- Subroutine
- A named block of code you can call when needed.
Year 8 · Raid: App Forge · Lesson 5 of 5
Key words (2 of 2)
- Function
- A subroutine that returns a value.
- Parameter
- A placeholder in a subroutine for a value passed in.
- Validation
- Checking input is reasonable before using it.
- Boundary data
- Test data at the very edge of what's allowed.
The explanation · step 1 of 1
Testing
For a program that accepts a score from 0 to 50:
| Test data | Meaning | Examples | Expected |
|---|---|---|---|
| Normal | Sensible data | 23, 38 | Accepted |
| Boundary | At the very edges | 0, 50 (and -1, 51) | 0 and 50 accepted; -1, 51 rejected |
| Erroneous | Wrong type or nonsense | "hello", 3.7, blank | Rejected with a message |
A test plan is written before testing: what you'll test, the data, the expected result.
Year 8 · Raid: App Forge · Lesson 5 of 5
Quick quiz · 1 of 3
In def area(w, h): … and a = area(4, 3), which are the arguments?
- A w and h
- B area and a
- C 4 and 3
C. 4 and 3
Arguments are the actual values passed in the call. w and h are parameters.
Year 8 · Raid: App Forge · Lesson 5 of 5
Quick quiz · 2 of 3
A variable made inside a function is…
- A Local: only exists inside it while it runs
- B Global: usable anywhere
- C Saved to a file
A. Local: only exists inside it while it runs
Local variables are wiped when the function returns.
Year 8 · Raid: App Forge · Lesson 5 of 5
Quick quiz · 3 of 3
Testing a 0–50 range with 50 is…
- A Erroneous data
- B Boundary data
- C Normal data
B. Boundary data
It's right at the edge of what's allowed.
Year 8 · Raid: App Forge · Lesson 5 of 5
Exit ticket
Answer on paper before you go. Then check.
Typing your new password twice so they can be compared is…
A ValidationB AuthenticationC Verification
C. Verification Verification checks data was entered correctly. Double entry is one method.
open("log.txt", "w") on a file that already holds 100 lines…
A Gives an errorB Adds to the endC Wipes it first
C. Wipes it first "w" empties the file before writing. Use "a" to append.
Year 8 · Raid: App Forge · Lesson 5 of 5
Homework and the challenge
Homework
Study page 14 steps 1 to 3 (lists and functions, ready for Year 9).
End-of-unit challenge
Annual Raid: a Dragons' Den pitch with a live demo, judged on usefulness, design, code and teamwork.