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.

  1. Last lesson

    The program runs but gives the wrong answer. That's a…

    A Runtime errorB Syntax errorC Logic error

    C. Logic error

  2. 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

  3. 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 dataMeaningExamplesExpected
NormalSensible data23, 38Accepted
BoundaryAt the very edges0, 50 (and -1, 51)0 and 50 accepted; -1, 51 rejected
ErroneousWrong type or nonsense"hello", 3.7, blankRejected with a message
★Remember

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?

  1. A w and h
  2. B area and a
  3. 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…

  1. A Local: only exists inside it while it runs
  2. B Global: usable anywhere
  3. 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…

  1. A Erroneous data
  2. B Boundary data
  3. 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.

  1. 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.

  2. 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.