Section Six - Design, Testing and IDEs Flashcards
What is the purpose of defensive designs?
They help ensure programs function properly (never break or produce errors)
What is Input Sanitisation?
Removing any unwanted characters before passing data through the program
What is Input Validation?
Checking if data meets certain criteria before passing it through a program
What is a Whitelist?
A list of all data a program shouldn’t accept.
What can Authentication help?
It can help confirm the identity of a user before they’re allowed to access certain data.
What types of Errors can there be in a program?
Syntax Errors
Logic Errors
What are common ways to increase security of a password-based authentication system?
Strong passwords and regularly changed passwords
Limit number of failed attempts
Ask for a random selection of characters from password
What is a Syntax Error?
When the compiler or interpreter doesn’t understand something you’ve typed because it doesn’t follow the rules or grammar of the programming language.
What is a logic error?
When the compiler or interpreter is able to run the program, but the program does something unexpected
What is a Performance test?
Tests how quickly certain features run and their impact on computer resources
What is a Usability test?
Tests how user-friendly the interface and features are
What is a security test?
Tests vulnerability to stacks and how securely data is stored
What is a load/stress test?
Tests how it copes under extreme conditions, e.g. lots of users at the same time
What is normal data?
Things that a user is likely to input
What is extreme (boundary) data?
Values at the limit of what the program should be able to handle