OCR GCSE Computer Science J277
Systems Architecture
Memory and Storage
Computer Networks, Connections and Protocols
Network Security
Systems Software
Ethical, Legal, Cultural and Environmental Impacts of Digital Technology
Algorithms
Programming Fundamentals
Producing Robust Programs
Programming Languages and Integrated Development Environments
Producing Robust Programs
- 3 subtopics
- 9 things to know
- J277/02
What Producing Robust Programs covers
Producing Robust Programs is examined in J277/02, Computational thinking, algorithms and programming. It covers defensive design, input validation and authentication, writing maintainable code and testing, errors and test data.
Where it is assessed
J277/02
Computational thinking, algorithms and programming, 1 hour 30 minutes and 50% of the GCSE.
Check the OCR specification ↗The 3 subtopics
Each one has its own page.
- Defensive design, input validation and authenticationDefensive design and anticipating misuse, presence, length, range, type and format checks, validation loops, verification, and authentication in a login routine.Open →
- Writing maintainable codeWhy maintainability matters, sub programs, naming conventions and camel case, constants, indentation and comments, and what makes code easy for others to update.Open →
- Testing, errors and test dataIterative and final testing, syntax and logic errors, normal, boundary, invalid and erroneous test data with worked examples, and writing a test plan.Open →
What you need to know
Answer each one before you reveal it.
What is input validation, and what does a range check test?
Give three ways a user might misuse a program that asks for their age.
What does it mean for a program to be maintainable?
What is the purpose of testing a program?
Why does maintainability matter for a real software product?
What is iterative testing?
How does dividing code into sub programs make it easier to maintain?
What is final, or terminal, testing?
Take Producing Robust Programs further
The same content, four other ways.
Commonly confused
Pairs that lose marks when they are blurred together.
Validation vs Verification
Validation: an automatic check that input obeys set rules before it is accepted. Verification: a check that data was entered or copied exactly as intended.
Syntax error vs Logic error
Syntax error: a mistake in the grammar of the code that stops it being translated. Logic error: a mistake that lets code run but gives an unexpected result.
Iterative testing vs Final testing
Iterative testing: checking each module repeatedly while the program is still being developed. Final testing: checking the complete program once development has finished.
Questions from this topic
Each one with the model answer underneath.
- 1
What is defensive design?
Model answer
Defensive design means planning a program so it copes with every likely input and with misuse. The program should keep working and stay secure.
- 2
What does anticipating misuse involve?
Model answer
A programmer predicts how users might misuse the program, by mistake or on purpose. The code is then written to handle each case safely.
- 3
Give three ways a user might misuse a program that asks for their age.
Model answer
A user might leave the input blank. A user might type letters such as "ten". A user might enter an impossible value such as −5 or 250.
- 4
What is input validation?
Model answer
Input validation is an automatic check that data follows set rules before the program accepts it. Data that fails the check is rejected and the user is asked again.
- 5
What does a range check test?
Model answer
A range check tests that a value lies between a lowest and a highest limit. An example is a percentage that must be from 0 to 100.
- 6
What do a presence check and a length check test?
Model answer
A presence check makes sure a field has not been left empty. A length check makes sure the input has an allowed number of characters, such as at least 8.
What is inside Levo
Six ways to work the same material.
Producing Robust Programs revision questions
- What does Producing Robust Programs cover in OCR GCSE Computer Science?
- 3 subtopics: defensive design, input validation and authentication, writing maintainable code and testing, errors and test data. Each one has its own page with questions and model answers.
- How is Producing Robust Programs organised?
- By the OCR J277 specification, subtopic by subtopic, so it matches the order you are taught it in.
Every question in Producing Robust Programs, on a schedule.
Attempt a question from memory, write the correct version, then attempt it again. Levo records the jump between your first attempt and your last, and brings each question back on the day you are due to forget it.
Or £46 a year, about £3.83 a month. Cancel anytime.