what is defensive design
a method of designing a program so that it functions properly and doesn’t crash
what ways do programmers try to protect their programs through defensive design
anticipate how users might misuse their program
ensure their code is well maintained
reduce the number of errors in code through testing
what is input validation
checking if data meets certain criteria before passing it into the program
what is range check
checks the data is within a specified range
what is presence check
checks the data has actually been entered
what is a format check
checks the data has the correct format
what is a look-up table
checks the data against a table of acceptable values
what is length check
checks the data is the correct length
what is authentication
a process for checking the identity of the user
what is a syntax error
a grammatical error in code for the programming language
what is a logic error
an error made by the programmer where the program will still run but will output an unexpected result
what are the 2 main types of testing
iterative testing
terminal testing
what is iterative testing
repeated testing of a program during the development process
what is terminal testing
testing the whole program at the end of the development process
what are the categories your test data should fall into
normal data
boundary data
invalid data
erroneous data
what is normal data
things that a user is likely to input into the program
what is boundary data
values at the limit of what the program should be able to handle
what is invalid data
test data with a correct data type that a program should reject
what is erroneous data
inputs with an incorrect data type that should be rejected by the program