Producing Robust Programs Flashcards
What is Defensive Design?
A design approach to ensure programs function properly, preventing errors and program breaks.
It emphasizes anticipating user behavior to create robust applications.
What does Anticipating Misuse involve?
Thinking ahead about how users might misuse the program and designing measures to prevent this misuse.
This is crucial for creating user-friendly and error-resistant software.
What is Authentication in programming?
The process of confirming the identity of a user before granting access to specific data or programs.
This is vital for maintaining security in software applications.
What is Input Validation?
Checking that the data meets certain criteria before it is processed by the program, such as verifying an email address contains an ‘@’ symbol.
This helps prevent errors and security issues.
What does Maintainability in programming refer to?
The ease with which other programmers can understand and work with your code.
This includes practices like using subprograms, comments, indents, and clear naming.
What is a Syntax Error?
When the compiler or interpreter does not understand something you have typed because it does not 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 Iterative Testing?
The program is tested while it is being developed. Often a programmer will test a module, fix any errors and then test it again.
What is Final Testing?
The program is tested at the end of the development process. The whole program is tested at the same time to check it is all working.
What is a Test Plan?
The Test Plan will outline exactly what you are going to test and how you are going to test it. A good test plan will anticipate all potential issues with the program.
What is NORMAL DATA?
Data that the user is likely to input into the program.
What is BOUNDARY (EXTREME) DATA?
Values at the limit of what the program should be able to handle.
What is INVALID DATA?
Inputs with the correct data type that should be rejected by the program.
What is ERRONEOUS DATA?
Inputs with an incorrect data type that should be rejected by the program.
Example: 123@455