Robust Programs Flashcards

1
Q

what is the definition of defensive design?

A

anticipating ways that a user could misuse program, and designing the program to make misuse impossible

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

What is the definition of anticipating misuse?

A

thinking ahead of ways a user might misuse a program

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

What is the definition of authentication?

A

confirming the identity of a user to before allowing them access to particular data or programs

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

Give 3 examples of authentication

A
  • usernames and passwords
  • biometric verification (fingerprint and facial recognition)
  • Multi-factor authentication (MFA)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is the definition of input validation?

A

checking if data entered meets certain criteria

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

Give the 5 examples of input validation

A
  • Range Check
  • Length Check
  • Format Check
  • Type Check
  • Presence Check
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is the definition of a range check?

A

checking if data entered is in the accepted range

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

What is the definition of a length check?

A

checking if data entered is the accepted length

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

What is the definition of a format check?

A

checking if data entered is of the correct format e.g. DD/MM/YYYY

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

What is the definition of a type check?

A

checking if data entered is the right data type

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

What is the definition of a presence check?

A

checking if the user has entered any data

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

What is the definition of the maintainability of a program?

A

ensuring that a program is easy to understand and follow

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

give 4 ways a program can be well maintained

A
  • Sub programs
  • Comments
  • Indents
  • Variable Names
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is the definition of a syntax error?

A

an error that results in code not following the rules of the programming language

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

What is the definition of a logic error?

A

an error that results in an unexpected output from the intended use of the program

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

What is the definition of iterative testing?

A

testing the program while it’s being developed

17
Q

What is the definition of final testing?

A

testing the program after it is finished

18
Q

What is the definition of a test plan?

A

a plan which outlines the different tests a programmer will output and how the programmer will do it

19
Q

What is the definition of normal data?

A

data that the user is likely to output

20
Q

What is the definition of boundary data?

A

data which sits on the limit of the programs input range

21
Q

What is the definition of invalid data?

A

data which is of the correct data type, however should be rejected by the program - usually out of bounds

22
Q

What is the definition of erroneous data?

A

data that is of the wrong data type