2.3 - Producing Robust Programs Flashcards

1
Q

What is considered when creating a secure and robust program?

A
  • Anticipating misuse
  • Input sanitisation
  • Validation
  • Verification
  • Authentication
  • Maintainable code
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is anticipating misuse?

A

Planning ahead to take steps against potential misuse

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is input sanitisation?

A

Cleaning up data that has been input by removing non-standard characters

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is validation?

A

Checking whether input data follows specific criteria to be accepted

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is verification?

A

Checking whether data that has been entered is correct

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is authentication?

A

Ensuring only authorised users can gain access to a system

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is maintainable code?

A

Code that is readable for other programmers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What should be considered when creating maintainable code?

A
  • Using comments so others can understand the purpose of each line of code
  • Indentation to improve readability
  • Appropriate variable names
  • Using subprograms to reuse code and make them easier to test
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is the purpose of testing?

A

To check that:
- Program works correctly no matter what input has been entered
- Errors fixed
- User requirements met
- Acceptable performance and usability
- Unauthorised access prevented

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is iterative testing?

A

The testing of modules repetitively throughout development

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is terminal/final testing?

A

Testing that all modules work together (integration testing) at the end of development

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is a syntax error?

A

A grammatical mistake or a mistake in the rules of the programming language that means a program can’t run

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is a logic error?

A

A mistake by the programmer where the program runs but will display an incorrect or unexpected output

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are the four types of test data?

A
  • Normal data
  • Boundary data
  • Invalid data
  • Erroneous
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is normal data?

A

Sensible data that the program should accept and be able to process

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is boundary data?

A

Data at the extreme boundary of any data ranges

17
Q

What is invalid data?

A

Data of the correct data type that does not meet the validation rules and shouldn’t be accepted

18
Q

What is erroneous data?

A

Data of the wrong data type that the program cannot process and should not accept