2.3 – Producing robust programs Flashcards
What is Anticipating Misuse?
The ability of a programmer to consider how the end user might accidently (or on purpose) break the program and then to write additional code to handle these situations
(Exception handling)
What is Authentication?
Verifying a user identity before they can use a program
e.g. with a username and password
What are Comments?
Used by a programmer to explain sections of code making the program more readable
Comments are ignored by the compiler
What is Maintainability?
Techniques that make code easy to debug, update and maintain
e.g. using descriptive variable/subroutine names, using comments etc.
What is Validation?
Checking data input by the user meets specific criteria before processing
eg. range check, type check, presence check etc
What is Boundary Test Data?
Data that is at the edge of validity
eg month 1-12, 0 1 12 & 13 are boundary cases
What is Erroneous Test Data?
Data of the incorrect type which should be rejected by a computer system
eg. ‘january’ input when month is 1-12
What is Final/Terminal Testing?
Testing that all the modules of a program work together as expected /
Checking the program meets the expectations of the user with real data
What is Invalid Test Data?
Data of the correct type but outside accepted validation limits
eg. asks for num 0-100, invalid data includes a letter, symbol, decimal etc.
What is Iterative Testing?
Each module of a program is tested as it is developed
What is a Logic Error?
The program runs but does not give the expected output
What is Normal Test Data?
Data supplied to a program which you would expect
eg. scores 0-100, normal data could be 32, 40, 82 etc.
What is a Syntax Error?
Rules of the language have been broken (ie. misspell, forgotten :)
The program will not run
What is Test Data?
Values used to test a program under a variety of situations and states
What is Testing?
Checking a program works as intended:
- Does not contain logic errors
- Acceptable performance/usability
- Preventing unauthorised access
(or meets requirements)