Introduction to Software Testing Flashcards
What are 3 reasons why we test code?
- to understand the code
- to gain measurable confidence
- to get a sense of actual program behavior
What is a fault?
anomaly in code
What is an error?
runtime effect of executing a code, which may result in a failure
What is a failure?
manifestation of an error external to the program
What is the relation between fault, error and failure? Draw a diagram to illustrate
Simply put, fault and error could still lead to successful execution of program
What is a test case?
group of input values that cause programs to do something specific; often measured through the output produced
What is a test suite?
collect of test case
What is a test oracle?
mechanism for determining actual behavior of a test case
What is an example of a test oracle?
a mathematical formula
What is test effectiveness?
extent to which testing reveals fault or other objectives
What is a test plan?
document describing scope, approach, resources and schedule of intended testing activity
What’s the difference between testing and debugging?
testing reveals faults, debug remove/fix faults
What is a root-cause?
the actual fault
What is a manifestation?
observable incorrect output or crash
What is an “expected behavior”?
a constraint or an expected output value