2.3 Producing Robust Programs Flashcards
Defensive design:
helps to ensure programs function properly. This means that programs should never break or produce errors.
Anticipating misuse:
thinking ahead about how users might misuse the program. They will then design the program to prevent this happening.
Authentication:
confirm the identity of a user before they are allowed to access particular data or programs.
Input validation:
Checking that data meets certain criteria before passing it into the program
Maintainability:
Easy for other programmers to understand your code. Can include sub programs, comments, indents, clear naming, for structuring easier to test individual modules
Syntax error:
When the compiler or interpreter doesn’t understand something you typed because it doesn’t follow the rules or grammar of the programming language
Logic error:
When the compiler or interpreter is able to run the program but the program does something unexpected.
Iterative testing:
The program is tested while it is being developed. Often a programmer will test a module, fix any errors and then test it again.
Final testing:
Program tested at end of development process. Whole program tested at the same time to check all working
Test plan:
Outlines what you will test and how. A good test plan anticipates all potential issues with the program
Normal data:
Data that the user is likely to input into the program, not close to boundaries
Boundary(extreme) data:
Values at the limit of what the program should be able to handle, still valid data
Invalid data:
Inputs with the correct data type that should be rejected by the program
Erroneous data:
Inputs with an incorrect data type that should be rejected by the program
Range check:
A number or date is within a sensible/allowed range