Fundamentals of Testing Flashcards
(29 cards)
What is Testing
It is a set of activities to discover defects and evaluate the quality of software artifacts,
What is the primary objective of testing?
To detect faults or defects in the software to ensure it functions correctly.
What does “Validation” mean in software testing?
Validation checks if the software meets the user’s actual needs – “Are we building the right product?”
What does the “Verification” mean int software testing?
Verification ensures the product is built correctly according to specifications- “Are we building the product right?”
How is testing different from debugging?
Testing finds the defects, while debugging identifies the cause and fixes them.
Who typically performs testing and who performs debugging?
Testing -> Testers
Debugging -> Developers
Why is software testing necessary?
Because software is likely to have faults due to human error, tight deadlines, and incorrect assumptions
What are the 3 main terms associated with software faults?
Error : Human mistake
Fault (Defect/Bug) : Incorrect code caused by an error
Failure : When a fault causes incorrect software behavior
What is the difference between Quality Assurance (QA) and Quality Control (QC) ?
QA : process-oriented and aims to prevent defects
QC : product-oriented and aims to detect defects through testing.
What are the key goals of software testing?
How does testing contributes to a software product success?
- Improve reliability
- Ensure user satisfaction
- Prevent costly failures
- Meet requirements and standards
What’s the difference between traditional and modern views of testing?
Traditional : Prove the system works
Modern : Try to break the system to find and fix faults.
What is a software defect?
A flaw in the system caused by an error.
What is a root cause analysis in software testing?
A technique used to identify the fundamental origin of a defect to prevent recurrence in future development.
What’s “Testing shows presence of defects” mean?
testing reveal bugs but the system is not completely error-free
Why is exhaustive testing impossible?
testing all inputs is impractical. Testers must use risk-based and prioritized testing.
Why should testing start early in the software development lifecycle?
helps detect defects in requirements or design, reducing costs and efforts to fix later.
What is defect clustering in software testing?
most defects are typically found in a small number of modules. Focusing testing on high-risk areas increases efficiency.
What is the Pesticide Paradox in testing?
Running the same tests repeatedly to find new bugs.
What does “Testing is context dependent” mean?
testing methods should be tailored to its specific type and purpose.
What is the Absence-of-Errors Fallacy?
software that doesn’t meet user needs is useless.
What are the main test activities in software testing?
- Test Planning
- Test Monitoring & Control
- Test Analysis
- Test Design
- Test Implementation
- Test Execution
- Test Completion
What does the test process in context depend on?
SDLC Model, product characteristics, domain, compliance, and company processes.
What is testware?
All artifacts created during testing, like test cases, data, scripts, and tools.
Why is version control important for testware?
To manage changes, ensure consistency, and support reuse.