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.🔢 After an app is released, which comes FIRST? (a) fix and improve (b) read user reviews (c) release an update (d) test it again
-
2.🐞 This code has a bug. What number SHOULD it show, if every line did what its comment says?
line 1: let lives = 40; // start at 40
line 2: lives = lives + 4; // add 4
line 3: lives = lives - 2; // take away 2
line 4: lives = lives - 8; // take away 5
line 5: show(lives); // show it -
3.🧭 The app has tabs Home, Search, Profile. You start on Home, then:
1. open “Score card”
2. tap Back
3. open “Video”
Which screen are you on now? (a) Home (b) Search (c) Video (d) Score card - 4.Which of these is true of a wireframe? (a) uses the final pictures (b) has the real colours (c) shows where things go (d) looks like the real app
-
5.♿ Our rule: text is at least 16 px. How many texts on this screen are too small?
Caption: 22 px
Hint: 19 px
Body text: 13 px - 6.🔘 Is this good or poor button design: a big, easy tap area? (a) good design (b) poor design
-
7.🧪 How many of these test cases pass?
📝 Rule: a quiz is passed with 5 or more right answers.
function result(right) {
if (right >= 5) {
return "Pass";
}
return "Try again";
}
Test 1: result(6) → expected Pass
Test 2: result(3) → expected Try again
Test 3: result(5) → expected Pass -
8.🔁 What is the LAST line this code shows?
let names = ["Aman", "Arjun", "Riya", "Kabir"];
for (let i = 0; i < names.length; i++) {
show("Hi, " + names[i]);
} (a) Hi, Riya (b) Hi, Kabir (c) Hi, Aman (d) Hi, Arjun -
9.🧭 The app has tabs Feed, Chat, Settings. You start on Feed, then:
1. tap the Chat tab
2. tap the Feed tab
3. tap the Settings tab
4. tap the Chat tab
5. tap the Settings tab
How many times must you tap Back to reach the main screen of this tab? - 10.🔘 Is this good or poor button design: grey text on grey? (a) good design (b) poor design
-
11.🧰 What does this code show?
function greet(name) {
return "Hi, " + name + "!";
}
show(greet("Riya")); (a) Hi, Riya! (b) greet (c) Riya (d) Hi, name! - 12.🎯 Which app would help this user most: a parent waiting at the bus stop? (a) a bus tracker (b) a water reminder (c) a recipe finder (d) a pocket-money tracker
-
13.🧰 What number does this code show?
function total(price, qty) {
return price * qty;
}
show(total(35, 6)); -
14.👆 The user taps the button 1 times. What number does the label show now?
let likes = 0;
button.onTap = function () {
if (likes < 4) {
likes = likes + 1;
}
label.text = likes;
}; - 15.True or false: a class leaderboard fits saving on the phone. (a) False (b) True
- 16.True or false: a tiny 20 px button is good button design. (a) True (b) False
- 17.♿ A screen has 8 icon buttons. Only 5 of them have a text label for screen readers. How many still need a label?
- 18.👆 Code that runs when an event happens is called a ___. (a) hashtag (b) headline (c) header (d) handler
-
19.🧪 How many of these test cases pass?
🎟️ 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(15) → expected 100
Test 2: price(8) → expected 50
Test 3: price(17) → expected 100 -
20.💾 What does this code show? (Positions start at 0.)
let notes = ["Hindi", "Science", "Art", "Music"];
show(notes[1]); (a) Music (b) Hindi (c) Art (d) Science -
21.🧪 What is the ACTUAL result of Test 2?
🎟️ Rule: a ticket costs 50 for children under 8, and 100 for everyone else.
function price(age) {
if (age < 8) {
return 50;
}
return 100;
}
Test 1: price(14) → expected 100
Test 2: price(6) → expected 50
Test 3: price(11) → expected 100 - 22.🧭 Why should every screen show where you are? (a) to use more battery (b) to look busy (c) to hide the menu (d) so users do not get lost
-
23.🧩 Which of these is a button on this screen?
[title] Add Homework
[text box] Due date
[text box] Phone
[slider] Brightness
[button] Save (a) Save (b) Due date (c) Phone (d) Brightness -
24.🧪 How many of these test cases pass?
🎟️ Rule: a ticket costs 50 for children under 9, and 100 for everyone else.
function price(age) {
if (age <= 9) {
return 50;
}
return 100;
}
Test 1: price(8) → expected 50
Test 2: price(15) → expected 100
Test 3: price(14) → expected 100 - 25.🔀 In this course’s code, which sign tests “is equal to”? (a) !== (b) = (c) === (d) =>
- 26.🗒️ You are planning version 1 of a quiz app. Which feature is a MUST-HAVE? (a) an avatar shop (b) show the score (c) background music (d) confetti effects
-
27.👆 The user types Kabir in nameBox and taps the button 1 time. What does the label show?
button.onTap = function () {
label.text = "Hello, " + nameBox.text + "!";
}; (a) Hello, Kabir! (b) Hello! (c) Hello, nameBox.text! (d) Kabir - 28.🧩 What does a button do when you tap it? (a) changes the phone (b) starts an action (c) saves the battery (d) shows the time
- 29.🛠️ At which stage do you spot a problem to solve? (a) the build stage (b) the release stage (c) the test stage (d) the idea stage
-
30.🧪 What is the ACTUAL result of Test 2?
🚚 Rule: delivery is free (0) when the order is 700 or more; otherwise it costs 40.
function delivery(total) {
if (total > 700) {
return 0;
}
return 40;
}
Test 1: delivery(750) → expected 0
Test 2: delivery(900) → expected 0
Test 3: delivery(500) → expected 40 -
31.👆 The user taps the button 3 times. What number does the label show now?
let lives = 10;
button.onTap = function () {
lives = lives + 4;
label.text = lives;
}; - 32.🔁 In for (let i = 0; i < 3; i++), which values does i take? (a) 0, 1, 2, 3 (b) 1, 2, 3 (c) 3 (d) 0, 1, 2
-
33.🔁 What is the LAST line this code shows?
let names = ["Kabir", "Arjun", "Aman", "Riya"];
for (let i = 0; i < names.length; i++) {
show("Hi, " + names[i]);
} (a) Hi, Kabir (b) Hi, Arjun (c) Hi, Riya (d) Hi, Aman - 34.Which of these is about UX (the experience)? (a) the button colours (b) the screen layout (c) how easy sign-up is (d) the theme colours
-
35.🐞 Each comment says what its line SHOULD do. Which line has the bug?
line 1: let coins = 34; // start at 34
line 2: coins = coins + 2; // add 2
line 3: coins = coins - 2; // take away 2
line 4: coins = coins - 2; // add 2
line 5: show(coins); // show it (a) line 4 (b) line 1 (c) line 2 (d) line 3 - 36.True or false: a blank grey screen solves a real problem. (a) True (b) False
- 37.🔢 In a food-order flow, which comes first: “check the cart” or “pick a dish”? (a) pick a dish (b) check the cart
- 38.🐞 After fixing a bug you should ___. (a) release at once (b) test it again (c) delete the test (d) never test
-
39.♿ Our rule: text is at least 16 px. Which text on this screen is too small?
Body text: 21 px
Hint: 16 px
Caption: 12 px
Title: 16 px (a) Hint (b) Caption (c) Body text (d) Title - 40.🌗 Is white on black easy or hard to read on a button? (a) easy to read (b) hard to read
Answer key
- read user reviews
- 37
- Video
- shows where things go
- 1
- good design
- 3
- Hi, Kabir
- 0
- poor design
- Hi, Riya!
- a bus tracker
- 210
- 1
- False
- False
- 3
- handler
- 3
- Science
- 50
- so users do not get lost
- Save
- 3
- ===
- show the score
- Hello, Kabir!
- starts an action
- the idea stage
- 0
- 22
- 0, 1, 2
- Hi, Riya
- how easy sign-up is
- line 4
- False
- pick a dish
- test it again
- Caption
- easy to read
Free app development lessons, practice and worksheets at talentjr.in/app-development-for-students