2.3 Producing Robust Products Flashcards
(19 cards)
What is anticipating misuse?
Planning ahead to take steps against potential misuse like
What is input sanitisation?
Checking and cleaning up data that has been input like removing special characters to prevent an SQL injection
What is validation?
Checking if input data follows a specific criteria and should be followed?
What is verification?
Checking whether data entered is correct
What is authentication and what are some examples?
Ensuring only authorised users can gain access to a system though usernames, passwords, PIN’s, email
What do different types of checks do?
- Range check - checks data is within a certain range
- Presence check - checks data has actually been entered and not kept blank
- Length check - checks the length of an input is within a certain amount
- Type check - Checks data is a certain data type
- Format check - checks data is entered in a certain way
- Lookup Table - a table of acceptable entries, AKA a list
Why use sub programs?
Allows you to reuse code, making it easier to test.
Why use naming conventions?
Ensure purpose of variable is immediately understood
Why use indentation?
Improve readability and clearly show each block of code
Why use comments?
- People looking at your code can see what it is doing/performing
- Important in collaboration, to understand others ideas
- Enhanced readability
What are syntax errors?
Errors which break the grammatical rules of the programming language and stop it from being run/translated
What are logic errors?
Errors which produce unexpected output
What is normal test data?
Data which should be accepted by a program without causing errors
What is boundary test data?
Data of the correct type which is on the very edge of being valid
What is erroneous data?
Data of the incorrect data type which should be rejected by a computer system
What is invalid data?
Data of the correct data type which should be rejected by a computer system
What is iterative testing?
- Takes place during development program
- Programmer develops a module, tests it and repeats until module works as expected
What is final/terminal testing?
- Takes place after development and before program released to the intended user
- Takes place after all modules have been individually tested to ensure whole program works as expected
Purpose of testing?
Ensure program works correctly no matter what input the user enters