chapter 8 Flashcards
why does software fail?
wrong reqs missing reqs impossible reqs faulty design faulty code bad implementation
what is the objective of testing?
discover faults and fixing them.
what is fault identification?
determining what fault caused a failure.
what is fault correction?
making changes to remove faults.
Name the seven types of faults.
- algorithmic fault.
- precision fault (formula implementation is wrong)
- documentation fault. (docs incorrectly describe prog)
- capacity or boundary. (system performance)
- timing or coordination faults. idk
- performance faults. (not operating at prescribed speed.)
- standard and procedure faults.
What is an algorithmic fault?
algorithm does not produce desired results.
page 8.
idk
What are the different types of test (in order).
- unit testing.
- integration testing.
- functional testing.
- performance testing.
- acceptance testing.
- installation testing.
What is egoless programming?
there is not individual tie or ownership to any program.
Who performs the tests?
independent test team.
What is closed or black-box testing?
assertion testing with a wide rage of inputs.
advantage: free of internal constraints.
disadvantage: cannot test all inputs.
What is clear or white-box testing?
test cases that execute all statements or all control paths.
What factors to consider when choosing tests?
Number of possible logical paths.
Nature of the input.
Amount of computation.
Complexity of algorithms.
What is code walkthrough (code review)?
present code and documentation to review team for comments.
informal process.
What is code inspection (code review)?
more formal process than code walkthrough.
preparation and meeting times…
fault discovery rate.
page 18. take the L if its on the test.
page 19. sigh.
What is test thoroughness?
- statement testing
- all statements in component are executed at least once. - branch testing
each branch is tested at least once. - path testing
each distinct path is tested at least once. - definition-use testing
declared variable usage testing. - all-uses testing
no dead paths. all defined paths are reachable. - all-predicate-uses
test all uses of each variable. - all-computational-uses
test all computational use of every variable.
What are the 6 methods for integration testing?
- bottom-up
- top-down
- big-bang
- sandwich testing
- modified top-down
- modified sandwich
what is component driver (integration testing)?
a routine that calls a particular component and passes a test case to it.
mocha “users create” test a particular portion of a unit.
what is stub (integration testing)?
special-purpose program that simulates activities of missing components.
what is bottom up testing (integration testing)?
when a system is decomposed.
test from the lowest level to the highest level.
what is top down testing (integration testing)?
when a system is decomposed.
test from the highest level to the lowest level.
what is modified top-down (integration testing)?
from the top.
each component is unit tested before merging.
after merging, test again.
what is big-bang (integration testing)?
uses stubs and drivers to test individual components.
then everything is combined and tested again.
what is sandwich testing (integration testing)?
bottom-up wannabe
what is modified sandwich testing (integration testing)?
allows upper level components to be tested without merging with lower level ones.