INF 115 Midterm Review Questions With Verified Correct Answers
When do quality activities happen in software development? How has our view of this changed over time? - Answer Quality activities (validation & verification) happen iteratively throughout the software development process over time, more regular and constant checks of the software were encouraged. for example, the trash waterfall model didn't really allow for quality activities throughout the process but only really the end. the opposite of this would be a processes like spiral and agile validation vs verification - Answer - Validation: "Are we building the right product?" - Verification: "Are we building the product right?" tip: a comes before e, validation comes before verification. you check to see if you're building the right product first, before checking if you're building the product right fault vs error vs failure - Answer - fault: static flaw in a program (a "bug") - error: a bad program state that results from a fault (not every fault produces an error) - failure: an observable incorrect behavior of a program a program as a result of an error (not every error ever becomes visible) how to expose a fault with testing (remember: rip) - Answer - reachability: the test much *reach* the fault - infection: the fault must actually *corrupt* the program state and cause an error - propagation: the error must persist and cause an incorrect output (a failure) differential testing - Answer comparing the output of the software with existing software with the same or similar functionality test case - Answer One execution of the program, that may expose a bug test suite - Answer a set of executions (test cases) of a program, grouped together oracle - Answer a mechanism for deciding whether a test case execution succeeds or fails - dictionary, calculator, another human, etc.; difficult to automate in some cases test plan - Answer how to approach testing this problem (will you use partitions, differential testing, etc? -- how to decide how to test) black box v white box testing - Answer - black box: cant see code, dont take it into account; focuses more on higher level; tends to be more manual; *functional* - white box: can see code, structural testing (coverage criteria); focuses on the small details, easier to automate; *structural* Why not exhaustively test, or fully prove for correctness? - Answer in some cases testing every possible output is impossible also Dijkstra quote - "Program testing can be used to show the presence of bugs, but never to show their absence!"; we cant ever fully prove anything to be bug-free types of testing - Answer manual, automatic, whitebox(structural), blackbox(functional); can obviously overlap
Document information
- Uploaded on
- October 24, 2023
- Number of pages
- 9
- Written in
- 2023/2024
- Type
- Exam (elaborations)
- Contains
- Questions & answers