Test Driven Development Flashcards
What is a Software Fault?
A static defect in the software.
What is a software failure?
An External incorrect behavior with respect to the requirements.
What is an Error State?
Incorrect internal state that is the manifestation of some fault
What are the four conditions to observe a software failure?
- Reachability: Location of the fault must be reached
- Infection: State of program must be incorrect
- Propogation: Infected state must cause output / final state to be incorrect
- Reveal: Tester must observe part of the incorrect portion of program state
What is the RIRP model?
Tests reach Faults that are infecting the program state and propogating to the final state.
Why is the term “Bug” too informal?
It can mean fault, error, or failure depending on context
What is Validation per IEEE?
Process of evaluation of Software at the end to ensure it works as intended
What is Verification per IEEE?
Determining if the product at a given development phase meets the expectations set in the previous phase.
What are some examples of coverage criteria metrics?
- Date-criterion (ship date)
- written objectives / requirements
- Code coverage levels
What is Unit Testing?
Testing each unit (method) individually.
What is Module Testing?
Testing each class, file, module, component
What is integration testing?
Test how modules interact with eachother
What is system testing?
Testing the overall functionality of the program.
What is Acceptance Testing?
Testing if the software is acceptable to the user.
How do newer testing paradigms differ from the old view?
Defined in terms of structures and criteria.
What are the four ways to model a structure?
- Input Domain / Characterization (sets)
- Graphs
- Logical Expressions
- Syntactic Structures (grammars)
What are the benefits of coverage criteria?
- Makes it more systematic, thorough, efficient, and traceable
- Make regression tasting easier
- Gives testers a “stopping rule”