Robust Programs Flashcards
what is the definition of defensive design?
anticipating ways that a user could misuse program, and designing the program to make misuse impossible
What is the definition of anticipating misuse?
thinking ahead of ways a user might misuse a program
What is the definition of authentication?
confirming the identity of a user to before allowing them access to particular data or programs
Give 3 examples of authentication
- usernames and passwords
- biometric verification (fingerprint and facial recognition)
- Multi-factor authentication (MFA)
What is the definition of input validation?
checking if data entered meets certain criteria
Give the 5 examples of input validation
- Range Check
- Length Check
- Format Check
- Type Check
- Presence Check
What is the definition of a range check?
checking if data entered is in the accepted range
What is the definition of a length check?
checking if data entered is the accepted length
What is the definition of a format check?
checking if data entered is of the correct format e.g. DD/MM/YYYY
What is the definition of a type check?
checking if data entered is the right data type
What is the definition of a presence check?
checking if the user has entered any data
What is the definition of the maintainability of a program?
ensuring that a program is easy to understand and follow
give 4 ways a program can be well maintained
- Sub programs
- Comments
- Indents
- Variable Names
What is the definition of a syntax error?
an error that results in code not following the rules of the programming language
What is the definition of a logic error?
an error that results in an unexpected output from the intended use of the program
What is the definition of iterative testing?
testing the program while it’s being developed
What is the definition of final testing?
testing the program after it is finished
What is the definition of a test plan?
a plan which outlines the different tests a programmer will output and how the programmer will do it
What is the definition of normal data?
data that the user is likely to output
What is the definition of boundary data?
data which sits on the limit of the programs input range
What is the definition of invalid data?
data which is of the correct data type, however should be rejected by the program - usually out of bounds
What is the definition of erroneous data?
data that is of the wrong data type