2.3 Programming Robust Programs Flashcards
Define defensive design
Defensive design helps to ensure programs function properly. This means that programs should never break or produce errors.
Define anticipating misuse
Anticipating misuse involves thinking ahead about how users might misuse the program. They will then design the program to prevent this happening. Preventing too many entries of a
password to make it harder for hackers to guess
Define authentication
Authentication can confirm the identity of a user before they’re allowed to access particular data or programs.
Define input validation
Input validation is checking that the data meet certain criteria before passing it into the program e.g. checking that an email address contains an @ symbol.
Define maintainability
Well maintained programs make it easy for other programmers to understand your code. This can include using sub programs, comments, indent, clear naming.
Define syntax error
When the compiler or interpreter does not understand something you have typed, because it does not follow the rules or grammar of the programming language.
Define logic error
When the compiler or interpreter is able to run the program, but the program does something unexpected.
Define 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.
Define final testing
Final testing – the program is tested at the end of the development process. The whole program is tested at the same time to check it is all working.
Define test plan
The test plan will outline exactly what you are going to test and how you are going to test it. Good test plan will anticipate all potential issues with the program
Define normal data
Data that the user is likely to input into the program.
Define boundary data
Values at the limit of what the program should be able to handle.
Define invalid data
Inputs with the correct data type that should be rejected by the program.
Define 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 or allowed range