Choosing core features to beta test

Tip: Choose Save as PDF in the print dialog to download. Use A4 paper size.

Choosing core features to beta test

Name:
Date:
Class:

Quick Questions

Shade in the A or B circle for each question.

1. A student-marks app has these features: entering marks, calculating averages, and changing the colour theme. Which feature should a beta test focus on first?
A Changing the colour theme, because it is easy to test
B Calculating averages, because users most need it to work
2. Which statement best describes a core feature?
A A main function that users most need to work
B Any feature that was quick to build
3. How do you decide which features are core features?
A Pick the features the developer likes the most
B Link them to the requirements of the solution
4. A requirement says: 'The system must save each customer order.' What should the beta test plan include?
A A scenario where testers place and save an order
B A scenario where testers change the font size
5. Which is a minor feature in a school canteen ordering app?
A Choosing a custom profile picture
B Placing an order for lunch

Match the Pairs

Draw a line connecting each item on the left to its match on the right.

Left columnRight column
1core feature AThe plan tests a minor feature first and leaves the core feature (checkout) until later.
2minor feature BA main function users most need to work, so a beta test checks it first
3Link each beta test to a requirement so the core features are covered CThe features are chosen by tester preference rather than by the requirements, so core features may be missed.
4Rank features as core or minor to decide what the beta testers try first DTest 1 -> Requirement R2: user can save a booking
5Beta test plan: test the splash screen animation first; checkout later EPriority: High = login, Low = change font
6Beta test: Test the app's features the testers like best (no link to requirements) FA nice-to-have extra that is tested after the core features, if time allows

Definitions

core feature

Fill in the Blanks

Complete each line of code by filling in the missing parts.

1.
___ feature in features: print(feature)
2.
if priority __ "core": beta.append(feature)
3.
beta.______("login")
4.
print("Core features:", ___(beta))
5.
for feature, req in links._____():

Spot the Error

Shade in the letter of the line that contains an error.

Question 1
A core = ["login", "themes"]
B minor = ["themes", "emoji"]
C for f in core:
D print("Beta test:", f)
Question 2
A reqs = {"login": "R1"}
B reqs["pay"] = "R2"
C f = "pay"
D print(f, reqs["f"])
Question 3
A core = ["login", "pay"]
B tested = ["login"]
C for f in core
D if f not in tested:
E print("Untested:", f)
Question 4
A beta_plan = ()
B beta_plan.append("login")
C beta_plan.append("pay")
D print(len(beta_plan))
Question 5
A is_core = True
B if is_core = True:
C print("Beta test first")
D else:
E print("Test later")

Answer Key

Choosing core features to beta test
Section A: Quick Questions
Q1
B — Calculating averages, because users most need it to work
Q2
A — A main function that users most need to work
Q3
B — Link them to the requirements of the solution
Q4
A — A scenario where testers place and save an order
Q5
A — Choosing a custom profile picture
Section B: Match the Pairs
Q1
core feature → A main function users most need to work, so a beta test checks it first
Q2
minor feature → A nice-to-have extra that is tested after the core features, if time allows
Q3
Link each beta test to a requirement so the core features are covered → Test 1 -> Requirement R2: user can save a booking
Q4
Rank features as core or minor to decide what the beta testers try first → Priority: High = login, Low = change font
Q5
Beta test plan: test the splash screen animation first; checkout later → The plan tests a minor feature first and leaves the core feature (checkout) until later.
Q6
Beta test: Test the app's features the testers like best (no link to requirements) → The features are chosen by tester preference rather than by the requirements, so core features may be missed.
Section C: Definitions
Q1
core feature — A main function users most need to work. A beta test focuses on these first, linked to the requirements, before minor extras.
Section D: Fill in the Blanks
Q1
for feature in features: print(feature)
Q2
if priority == "core": beta.append(feature)
Q3
beta.append("login")
Q4
print("Core features:", len(beta))
Q5
for feature, req in links.items():
Section E: Spot the Error
Q1
A — "themes" is a minor feature, so it does not belong in the core list. The core list should hold the features users most need to work, such as ["login", "checkout"].
Q2
D — reqs["f"] looks up the text "f", which is not a key, so it causes a KeyError. Use the variable f without quotes, reqs[f], to link the feature to its requirement.
Q3
C — A for statement must end with a colon. It should be for f in core: so the loop can check each core feature.
Q4
A — A tuple cannot be changed, so append() would fail. The beta plan needs to be a list, beta_plan = [], so core features can be added.
Q5
B — A single = is assignment and cannot be used in an if condition, which causes a syntax error. Use if is_core: or if is_core == True:.