OCR GCSE Computer Science J277 - 2.3 Producing Robust Programs

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/33

flashcard set

Earn XP

Description and Tags

Vocabulary flashcards covering defensive design, authentication, validation types, maintainability, testing types, test data categories, and test planning based on OCR GCSE Computer Science J277 section 2.3.

34 Terms

1
New cards

Defensive design

Designing a program to anticipate misuse, invalid input and other likely problems.

2
New cards

Anticipating misuse

Considering ways a user might accidentally or deliberately use a program incorrectly and designing for them.

3
New cards

Authentication

Checking that a user is who they claim to be before granting access.

4
New cards

Simple authentication example

Checking a supplied username and password against valid credentials.

5
New cards

Input validation

Checking that input meets specified rules before it is accepted.

6
New cards

Purpose of validation

To reject unsuitable input and reduce errors caused by invalid data.

7
New cards

Validation correctness limitation

Validation checks whether data is sensible or follows rules, not whether it is factually correct.

8
New cards

Range check

Checks that a value lies between permitted minimum and maximum values.

9
New cards

Length check

Checks that input contains an allowed number of characters.

10
New cards

Type check

Checks that input is of the required data type.

11
New cards

Presence check

Checks that required data has been entered rather than left blank.

12
New cards

Format check

Checks that input follows a required pattern or structure.

13
New cards

Maintainability

How easily code can be understood, changed, tested and repaired.

14
New cards

Subprograms and maintainability

Subprograms improve maintainability by splitting a program into manageable reusable sections that can be understood and changed separately.

15
New cards

Naming conventions

Consistent rules for choosing meaningful names for variables, constants and subprograms.

16
New cards

Meaningful identifiers

Names used for variables, constants, and subprograms that make the purpose of data and code easier to understand.

17
New cards

Indentation

Using consistent spacing to show the structure of code clearly.

18
New cards

Commenting

Adding explanatory text to code that is ignored when the program runs.

19
New cards

Purpose of comments

They help programmers understand the purpose or reasoning of code, making maintenance easier.

20
New cards

Purpose of testing

To find errors and check that a program behaves as intended for suitable and unsuitable inputs.

21
New cards

Iterative testing

Testing parts/modules of a program during development.

22
New cards

Final or terminal testing

Testing the completed program at the end of development.

23
New cards

Syntax error

An error that breaks the grammatical rules of the programming language and prevents correct translation or execution.

24
New cards

Logic error

An error in the program's logic that allows it to run but produces an unexpected or incorrect result.

25
New cards

Normal test data

Valid data that should be accepted and processed normally.

26
New cards

Boundary test data

Data of the correct type at the edge of the valid range.

27
New cards

Invalid test data

Data of the correct data type that falls outside the permitted range or rules and should be rejected.

28
New cards

Erroneous test data

Data of the wrong data type and therefore should be rejected.

29
New cards

Purpose of using different types of test data

To check that a program accepts valid inputs, handles edge cases and rejects unsuitable inputs.

30
New cards

Test plan

A structured record of test data, expected outcomes and, when testing is carried out, actual outcomes/results.

31
New cards

Good test plan contents

Suitable test data, the reason/type of each test, expected results and actual results when executed.

32
New cards

Refining an algorithm

Changing an algorithm after testing or review to correct problems or improve the solution.

33
New cards

Process after a test exposes a problem

Identify the cause, correct/refine the algorithm or program, then test again.

34
New cards

OCR 2.3 practical skills required

Ability to design validation/simple authentication, select suitable test data, and create or complete a test plan.