App Dev Worksheet: Final Test
Developer's tip (Plan, design, build, check): Find the topic: what apps are, designing apps, or logic and building. Read every screen, list or code line carefully, top to bottom. For code, write each value down step by step and check it again.
NameDateTime takenScore ___ / 40
- 1.📱 Where do people usually download phone apps from? (a) a charger (b) a web server (c) an app store (d) a printer
- 2.💡 After a survey, which need should version 1 solve? (a) the rarest need (b) the newest trend (c) the most common need (d) a random need
-
3.👆 Two designs for the same task (each arrow is one tap). Which needs FEWER taps?
Design A: Home → Address → Cart → Offers → Size → Shop → Item
Design B: Home → Address → Menu (a) Design B (b) Design A - 4.🔍 Which is the odd one out? (a) whether users get lost (b) how many taps it takes (c) how easy sign-up is (d) the icon shapes
- 5.🔢 In a sign-up flow, which comes first: “open the app” or “make a password”? (a) make a password (b) open the app
-
6.🧰 What number does this code show?
function double(n) {
return n * 2;
}
show(double(9)); -
7.👆 The user taps the button 3 times. What number does the label show now?
let likes = 0;
button.onTap = function () {
if (likes < 5) {
likes = likes + 1;
}
label.text = likes;
}; - 8.👆 An event in an app is ___. (a) a colour theme (b) a kind of list (c) something that happens (d) an app store
- 9.🧪 A test case is an input together with its ___. (a) expected result (b) app icon (c) screen colour (d) font size
- 10.Which of these is a user need? (a) a reminder alarm (b) “Small text is hard” (c) a share button (d) a dark mode switch
-
11.🧭 The app has tabs Home, Search, Profile. You start on Home, then:
1. tap the Home tab
2. open “Badges”
3. tap the Home tab
4. tap the Search tab
5. tap the Home tab
Which screen are you on now? (a) Badges (b) Home (c) Search (d) Profile - 12.🔀 What is a user flow? (a) a colour theme (b) the path through screens (c) a type of font (d) a charging cable
-
13.🧪 What is the ACTUAL result of Test 1?
🚚 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(1200) → expected 0
Test 2: delivery(750) → expected 40
Test 3: delivery(1050) → expected 0 - 14.♿ A screen has 8 icon buttons. Only 7 of them have a text label for screen readers. How many still need a label?
-
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(8) → expected 50
Test 3: price(11) → expected 100 (a) Test 1 (b) Test 2 (c) Test 3 - 16.🔁 In for (let i = 0; i < 3; i++), which values does i take? (a) 0, 1, 2 (b) 0, 1, 2, 3 (c) 3 (d) 1, 2, 3
- 17.🌗 Is black on yellow easy or hard to read on a button? (a) easy to read (b) hard to read
- 18.🔘 Our rule: buttons are at least 48 px tall. The Cancel button is 20 px tall. How many px taller must it be?
-
19.👆 The user taps the button 8 times. What number does the label show now?
let likes = 0;
button.onTap = function () {
if (likes < 2) {
likes = likes + 1;
}
label.text = likes;
}; -
20.🖼️ In this wireframe (top to bottom), what is right below the filter buttons?
[ list of items ]
[ Save button ]
[ menu icon ]
[ search box ]
[ filter buttons ]
[ top bar ] (a) menu icon (b) top bar (c) Save button (d) list of items - 21.🧭 Which part of navigation shows 3 to 5 icons? (a) the back button (b) a tab bar (c) a menu button
-
22.🧪 One test case fails. Which one?
📝 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(6) → expected Pass
Test 2: result(7) → expected Pass
Test 3: result(4) → expected Try again (a) Test 3 (b) Test 2 (c) Test 1 - 23.🔘 Our rule: buttons are at least 48 px tall. The Save button is 28 px tall. How many px taller must it be?
-
24.🐞 Each comment says what its line SHOULD do. Which line has the bug?
line 1: let score = 48; // start at 47
line 2: score = score * 2; // double it
line 3: score = score - 4; // take away 4
line 4: show(score); // show it (a) line 3 (b) line 1 (c) line 2 - 25.Which of these requests is fair? (a) calculator → location (b) torch → contacts (c) map app → location (d) quiz app → microphone
-
26.🗒️ Version 1 of a pocket-money tracker must be ready in 13 days. How many days are left for extras after the must-haves?
add money received: 3 days
add money spent: 4 days
show the balance: 3 days - 27.🗒️ You are planning version 1 of a bus tracker. Which feature is a MUST-HAVE? (a) rate the driver (b) a dark mode (c) change the bus icon (d) see where the bus is
- 28.🧭 Which part of navigation opens a list of pages? (a) the back button (b) a tab bar (c) a menu button
-
29.🔁 What number does this code show?
let scores = [17, 17, 6, 16];
let best = 0;
for (let i = 0; i < scores.length; i++) {
if (scores[i] > best) {
best = scores[i];
}
}
show(best); - 30.Which colour pair is easy to read? (a) red on green (b) pale pink on white (c) yellow on white (d) white on black
-
31.🔘 Our rule: buttons are at least 48 px tall. How many of these buttons follow the rule?
Help button: 60 px tall
Send button: 40 px tall
Back button: 36 px tall - 32.True or false: a website is installed on a phone. (a) True (b) False
- 33.♿ Does this help everyone, or make the app harder to use: big touch targets? (a) makes it harder (b) helps everyone
-
34.🧪 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(9) → expected 50
Test 3: price(16) → expected 100 (a) Test 2 (b) Test 3 (c) Test 1 - 35.🚀 In version 2.5.1, which number is the major version? (a) 2 (b) 251 (c) 1 (d) 5
- 36.Which of these helps everyone use the app? (a) big touch targets (b) colour as the only clue (c) tiny tap areas (d) icons with no labels
- 37.♿ Does this help everyone, or make the app harder to use: colour as the only clue? (a) makes it harder (b) helps everyone
- 38.🛠️ At which stage do you write the store text? (a) the plan stage (b) the release stage (c) the idea stage (d) the test stage
- 39.True or false: a water reminder is the best fit for a teen learning to make snacks. (a) False (b) True
-
40.👆 The user taps the button 5 times. What does the label show now?
let on = false;
button.onTap = function () {
on = !on;
if (on) {
label.text = "ON";
} else {
label.text = "OFF";
}
}; (a) OFF (b) ON
Answer key
- an app store
- the most common need
- Design B
- the icon shapes
- open the app
- 18
- 3
- something that happens
- expected result
- “Small text is hard”
- Home
- the path through screens
- 0
- 1
- Test 1
- 0, 1, 2
- easy to read
- 28
- 2
- top bar
- a tab bar
- Test 1
- 20
- line 1
- map app → location
- 3
- see where the bus is
- a menu button
- 17
- white on black
- 1
- False
- helps everyone
- Test 1
- 2
- big touch targets
- makes it harder
- the release stage
- False
- ON
Free app development lessons, practice and worksheets at talentjr.in/app-development-for-students