2: 2 Software Quality Assurance Flashcards
Code Review
Peer analysis to assess code
What is Fagan
most formal level of code review. 1 Planning 2 Overview 3 Preparation 4 Meeting 5 Rework 6 Follow-up
What is the goal of software testing
ensure finished code functions properly
Software Model Validation
ensures its meeting the business requirements
Stress Testing
used automated scripts to verify system capacity, run internally or through a vendor, increases load to determine system max capacity
User Acceptance Testing (UAT)
get end user testing through their own test environments/simulations - beta testing
Regression Testing
checks for unexpected side effects of minor/major changes to code
Static Test
Use specialized testing software to examine code for common defects - code not actually ran
Dynamic Test
Software executes code to verify its functioning correctly and doesn’t have security flaws
What are synthetic transactions
Supply inputs to code with known, expected outputs
Fuzzing
Provides many types of inputs to a software to attempt to confuse the code
What are the 4 types of fuzzing inputs
Developer supplied input
Script supplying Input
Generational Fuzzing (generate random inputs)
Mutation Fuzzing (modifying real inputs)
What are the benefits of code repositories
Coordinates change across multiple developers
Performs version control
Promotes code reuse, avoid dead code
Git
Summary of changes
Github
repository
Origin Master
The shared version of the code available to all in the master repository
Whitelist Control vs Blacklist Control
Whitelisting defaults all applications are banned and you allow specific ones. Blacklisting defaults all applications are unbanned and you ban specific ones.
AppLocker
App control tech built into windows
SIEM
Security Information and Event Management - Connect app control logs
Host Software Baselining
identifies expected system software, so you can report deviations
Library
share contained software code, allowing you to reuse code created by others to perform certain functions
SDKS
software development kits: Provides components to work with IAM, graphs, work with platforms, testing
APIs
Application Programming Interfaces: Services that run over the internet (i.e. reading tweets easily)