2.3

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