Key Stage 3 · Y9.4
App Development
Name
Class
Date
Mark / 30
Section A
Circle the letter of the correct answer. One mark each.
- 1What is a wireframe?1
- AA test plan
- BA rough sketch of a screen layout without colours or styling
- CThe final polished design
- DThe code behind a screen
- 2Which is a good requirement?1
- AThe app should be good
- BUsers will enjoy it
- CIt should look nice
- DThe user can add a task with a title and a due date
- 3What does a navigation diagram show?1
- AThe colours used in the app
- BHow the screens of an app connect to each other
- CThe code structure
- DThe test results
- 4Which test data would be most useful for a task title field with a 100 character limit?1
- AA 101 character title
- BA normal title
- CA 5 character title
- DA 20 character title
- 5Why should you watch someone else use your app?1
- AIt makes the app run faster
- BIt is required by law
- CThey will find bugs faster than you
- DYou know where everything is, so you cannot judge how obvious it is
- 6What is meant by consistency in interface design?1
- AThe app never changes after release
- BEvery screen uses the same colour
- CThe same action looks and behaves the same way throughout the app
- DAll text is the same size
- 7Which is an accessibility consideration?1
- AUsing as many features as possible
- BAdding background music
- CNever using colour alone to convey meaning
- DMaking the app as small as possible
- 8What happens after evaluation in the development cycle?1
- AMaintenance, and the cycle repeats with improvements
- BAnalysis is skipped
- CThe project ends permanently
- DThe app is deleted
- 9What is erroneous test data?1
- AData copied from another app
- BData at the edge of the allowed range
- CData of the wrong type entirely, which should be rejected
- DTypical data that should be accepted
- 10Why should destructive actions ask for confirmation?1
- ABecause the law requires it
- BSo a mistake can be prevented rather than having to be undone
- CTo slow the user down
- DTo increase app size
Section B
Answer in the space provided. The number of marks tells you how many separate points to make.
- 1StateState what a wireframe is and explain why one is produced before building an app.3
- 2WriteWrite three testable requirements for an app that helps students keep track of homework.3
- 3ExplainExplain two principles of good user interface design.4
- 4DescribeDescribe how you would test an app that stores a list of tasks, including the types of test data you would use.6
- 5ExplainExplain why an app aimed at young children should be designed differently from one aimed at adult professionals.4
Mark scheme
Section A
Section B
1 State what a wireframe is and explain why one is produced before building an app. 3
One mark for each of the following, to a maximum of 3.
- A rough sketch of a screen layout without styling
- It allows the layout and flow to be planned and discussed early
- Changes are far quicker and cheaper to make on a sketch than in finished code
Model answer. A wireframe is a rough sketch of a screen showing where each element will go, drawn deliberately without colours, fonts or images. It is produced before building so that the layout and the flow between screens can be planned and discussed while everything is still easy to change. Redrawing a sketch takes a minute, whereas rebuilding a finished screen can take hours, so problems with the design are far cheaper to find at this stage. Keeping wireframes plain also helps discussion stay on whether the screen works, rather than on whether the colours are right.
2 Write three testable requirements for an app that helps students keep track of homework. 3
One mark for each of the following, to a maximum of 3.
- First requirement about adding homework with details
- Second requirement about viewing or sorting tasks
- Third requirement about marking complete or saving data
Model answer. First, the user can add a homework task by entering a subject, a description and a due date. Second, the app displays all outstanding homework sorted by due date, with the nearest deadline first. Third, the user can mark a task as complete, after which it is removed from the main list, and all data is saved so that it is still present when the app is closed and reopened. Each of these is specific enough that you can test it and say clearly whether it has been achieved.
3 Explain two principles of good user interface design. 4
One mark for each of the following, to a maximum of 4.
- Consistency, so the same action works the same way throughout
- Which means the user only has to learn the app once
- Feedback, so every action produces a visible response
- So the user knows their action worked and does not repeat it
Model answer. The first principle is consistency. The same action should look and behave the same way everywhere in the app, so a back button always appears in the same position and a save button always looks the same. This means the user only has to learn the interface once rather than working out each screen from scratch, and they can predict what will happen before they tap. The second principle is feedback. Every action the user takes should produce a visible response, whether that is a button changing appearance when pressed, a confirmation message after saving, or a loading indicator during a delay. Without feedback the user cannot tell whether their tap registered, so they tap again, which often causes duplicate entries or leaves them stuck and frustrated.
4 Describe how you would test an app that stores a list of tasks, including the types of test data you would use. 6
One mark for each of the following, to a maximum of 6.
- Test with normal data such as a typical task title
- Test with boundary data at the limits of what is allowed
- Test with erroneous data such as an empty entry or wrong type
- State an expected result for each test
- Test usability by watching a real user complete a task
- Test robustness, such as behaviour with an empty list or no internet
Model answer. I would begin with functional testing against each requirement, using three kinds of test data. Normal data would be a typical task such as the title Maths homework with a due date next week, and the expected result is that it is added and appears in the list. Boundary data would test the edges of what is allowed, for example a title of exactly the maximum length and one character longer, where the expected result is that the first is accepted cleanly and the second is either rejected with a message or truncated without breaking the layout. Erroneous data would be an empty title or letters typed into the date field, where the expected result is a clear message asking the user to correct it rather than the app crashing. Every test needs its expected result recorded in advance, because without that there is nothing to compare the actual behaviour against. Beyond functionality, I would test robustness by trying the app with an empty task list, with a very large number of tasks and with no internet connection, since these are situations that break real apps. Finally I would test usability by giving the app to someone who has never seen it, asking them to add and complete a task, and watching without helping. Every point where they hesitate is a design fault, and this is something the developer can never find on their own because they already know where everything is.
5 Explain why an app aimed at young children should be designed differently from one aimed at adult professionals. 4
One mark for each of the following, to a maximum of 4.
- Young children need large, simple controls
- Because they have less developed reading and fine motor skills
- Professionals can be given denser information and more options
- Because they are experienced and value speed and efficiency
Model answer. An app for young children needs large tap targets, very few controls on each screen and instant obvious feedback, because young children have less developed fine motor control and may struggle to hit small buttons accurately. They may also read slowly or not at all, so meaning has to be carried by pictures, colour and sound rather than by text, and there should be very little that can go wrong because they will not read an error message. An app for adult professionals is the opposite. Those users will use it every day, so they value speed and efficiency far more than simplicity, and they can be given dense information, many options at once, keyboard shortcuts and advanced settings that would overwhelm a child. Designing either one as if it were the other fails both audiences: children get lost in an interface built for experts, and professionals get frustrated by an interface that takes five taps to do something that should take one.