1. Fundamentals Of Testing Flashcards
What is the definition of testing?
The process consisting of all lifecycle activities (both static and dynamic) that deal with the planning, preparation, and evaluation of a software product.
What is the goal of testing?
Ensure that software meets all specified requirements, that it fulfils its purpose, and to find any defect conditions.
What is the difference between testing and debugging?
Testing by testers, shows error effects
Debugging by Devs, finds analyzes and fixes error conditions in code
What is the difference between verification and validation?
Verification checks that a software meets its specifications (requirement doc). Non/functional requirements
Validation ensures a software meets customer expectations, as spec may not reflect user needs
What is quality control?
A product-oriented, corrective approach. Focus on achieving appropriate levels of quality. Testing is a form of QC. Test results fix defects.
What is quality assurance?
Process-oriented, preventive.
Focus on process implementation and improvement. Everyone’s responsible.
Applies development and testing processes.
Test results provide feedback on performance of said processes
What is an error?
Errors are mistakes made by people. Causes include time pressure, lack of training, complexity of subject
What is a defect?
Errors produce defects, which are faults or bugs. Defects are found in documentation.
What is a failure?
Unintended behaviour in software caused by defects or environmental conditions
What is root cause analysis?
Finding the fundamental reason for a problem, in order to prevent/reduce the frequency of similar defects & failures
Testing Principle 1. Testing shows…
Testing shows the presence, not the absence of defects.
Testing principle 2. Exhaustive testing…
Exhaustive testing is impossible. (Prioritize to focus test efforts)
Testing principle 3. Early testing saves…
Early testing saves time and money (shift left)
Testing principle 4. Defects…
Defects cluster together (~Pareto principle of 80/20)
Testing principle 5. Tests…
Tests wear out. (updates vital, except in automated regression testing)