Save
Computer Science
Paper 2
2.3
Save
Share
Learn
Content
Leaderboard
Learn
Created by
nb
Visit profile
Cards (15)
Defensive Design
Making sure no
errors
in the program-designing software with safeguards to
prevent
errors, failures or
security
vulnerabilities
Authentication
To verify the identity of a user
Method of
anticipating misuse
- systems should anticipate that users will attempt to gain
unauthorised access
to accounts
Factors
Something you
are
, something you
know
, something you have
Two Factor Authentication
Two different authentication types are required to access a program
Input
Validation
Ensures that data inputted is within specific
bounds
and
meets
criteria, to prevent
unexpected
behaviour/security risks
Validation will not catch all
errors
as users may still make
typos
Verification
Requires the user to
enter
key info to
reduce
the risk of typos
Input Validation Checks
Format
check
Presence
check
Length
Check
Range
check
Maintainability
Ease with which software can be
modified
,
updated
/
expanded
to meet changing
requirements
over time
Maintainable Code
Organised
, readable, scalable, shorter
Use of
sub
programs to independently
isolate
code and
easy
to
debug
Testing
Helps to
locate
and
remove
errors, ensures the program works as it
should
Testing Types
Final
Testing
Iterative Testing
Final Testing
Can be harder to
locate
and
fix
errors
at this stage due to the
amount
of
code
Iterative
Testing
Constantly
testing the program throughout the
development
process
(individual lines/sections)
Easier
to fix errors
Test Data
Normal
data
Boundary
data
Invalid
data
Erroneous
data