What Should be Assumed in Defensive Programming?
What is Graceful Degredation?
A system can still run essential operations when at less capable environments
What are the Three Pillars of Reliable Secure Software?
What is N-version Programming?
Running N independent instances of a software with the same functionality
What is Cleanroom Software Development?
Methodology to keep defects out, not to patch them later
What are the Techniques Being Practiced in Cleanroom Software Development?
Differentiate Static vs Dynamic Verification
What is Verification?
Checking if a product is built in accordance to its specifications
What is Testing?
Proving software functions properly and meets user needs
What is Unit Testing?
Testing small, isolatable parts of code to ensure functionality
What is System Testing?
Testing the whole system to ensure overall functionality
What is Sub-System Testing?
Testing module and unit interaction to ensure system cohesion
What is Acceptance Testing?
Testing a system to ensure it meets user needs, requirements, and business processes
What are the Types of Testing Strategies?
Validation vs Verification?
What are Common Software Errors?
What is the Objective of Testing?
To find faults
What are Test Cases?
What are Good Sources of Test Cases?
Why is Coverage of Inputs Important in Test Case selection?
To test all classes of input
Why is Coverage of Program Important in Test Case selection?
To test all functions of each computer program
What are the Steps of Bug Fixing?
What is Regression Testing?
Repeating already executed tests to check if any changes have impacted the system negatively