1/37
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
Testing Methods
Functional, acceptance, Live Data, Simulated Data, Beta, Volume
Functional Testing
Examines outputs from specific inputs without focussing on internal programming
Acceptance Testing
Tests if software performs in real-world scenarios at the final stage
Live Data
Evaluates system using real-world data from existing environment.
Simulated Data
Artificial data generated for testing purposes
Beta Testing
Releasing software to a limited audience
Volume Testing
Examines how software functions under large volume of data. Identifies slow responses and crashes
Communication in agile software development
Feedback is communicated and acted upon each sprint.
Agile
Focuses on rapid delivery and acting quickly on feedback, breaking project into smaller sprints. Very flexible system. Testing done alongside development
Communication issues in project work
Feedback loop should be maintained throughout a project, issues could be delayed or vague feedback, can cause conflict.
Functional Requirements
Core behaviours of a system, qhat tasks it needs to perform
Non-functional requirements
defines how a system should behave, such as performance, usability and reliability.
HTTPS
Uses encryption ot make a mroe secure connection between browser and website through SSL.
Runs on port 443
Combines application layer and transport layer
(Also puts a padlock icon)
API
Application programming Interface
Application Programming Interfaces
Intermediaries athat communicates between applcations, transferring data and functionality. Enhances usability
Steps in waterfall development process
Requirements Definition, Determining Specifications, Design, Development, Integration, Testing and Debugging, Installation, Maintainance
Secure Software in software development
Confidentiality, Integrity, Availability, Authentication, Authorisation, Accountability
Sandboxing
Security method that involves using an isolated environment to test and analyse code safely
Benefits of sandboxing
Create and deploy environments, prepare for future attacks, saves money, enhances collaboration.
Hash Values
One way frunction that encrypts input to a fixed value of random characters
Digital Signatures
Authenticates the origin and integrity of digital documents/messages. Uses public key cryptography where the sender uses their private key, and the recipient verifies the signitare using the senders public key. Provides integrity and authorisation.
Gantt Chart
Scheduling method
Desk Checking
Table including:
Test Case Type
Input
Reason
Expected output
Test Case types (Desk checking)
Path coverage: test data to run through every branch of system
Boundary values: Extreme edges or limits of program testing minimum, maximum, invalid inputs.
Techniques to protect data
Encryption, Authenticaiton, Access control, Data backup and recovery
Level 0 data flow diagrams
Also called context diagrams, they represent an entire overview of the system and do not show data sotres or internal processes.
Principles of Web Accessibility Initiative (WAI)
Perceivable- Info is presentable to users (alt text for images, captions and transcripts, different layouts)
Operable - Users must be able to use the interface easily
Understandable - information and operation of interface is understandable
Robust - content can be interpreted by a wide variety of user agents including assistive tech.
Cross Site Scripting (XSS)
Attackers inject malicious scripts to run in other peoples browsers because user inputs are displayed without being santiised
Cross Site Request Forgery (CSRF)
Tricking users into submitting unwanted requests into a different qeb app without their consent, exploiting credentials
ORM (Object-Relational-Mapping)
Simplifies database interaction by extracting operations into object-oriented constructs. Does not have as much freedom and specificity as SQL
SQL (Structured Quert Language
Uses detailed queries for fine-grain control over database operations.
ORM vs SQL
Choice depends on developer preferences, project requirements, performance considerations and familiarity with database technologies.
ORM is mrore simple and provides a lot of flexibility, uses more power and has a learning curve. SQL provides control over queries, is more complicated, but syntax is straightfoward.
Side Channel Attacks
Non-invasive attacks that uses indirect clues to learn private information.
Hard to detect because they don’t break rules directly.
Strategies to prevent Side Channel Attacks
Check every character of password, perform constant-time comparison to mitigate timing attacksm beform equal time delay each time password is checked to avoid a timing attack, result as a boolena to not reveal unnessary information.
Confidentiality
Sensitive information is only accessed by authorised people
Integrity
Ensuring data is up to date, accurate and not modified without user knowledge.
Appropriateness of PWA or Interactive Website
PWA has offline functionality and stores user data, behaves more like an app. Designed to be responsive.
Interactive Websites do not function offline.
Benefits of collaboration
Multiple perspectives, more feedback, less workload per person, delegating based on experience, shared responsibiltiy reduces errors.