IKM Software Quality Assurance Methodologies 2 — Questions and Answers
Question 1: What is the difference between verification and validation?
- Verification tests functionality; validation tests performance
- Verification checks if built correctly; validation checks if correct product is built (Correct answer)
- Verification is manual; validation is automated
- They are identical
Correct answer: Verification checks if built correctly; validation checks if correct product is built
Verification: building it right. Validation: building the right thing.
Verification includes reviews, inspections, and static analysis. Validation includes functional testing, UAT, and beta testing. Both are essential.
Question 2: What is regression testing?
- Testing new features only
- Re-running tests to ensure changes have not broken existing functionality (Correct answer)
- Testing under load
- Testing backward compatibility
Correct answer: Re-running tests to ensure changes have not broken existing functionality
Regression testing re-executes previous tests after changes to verify nothing is broken.
Triggered by code changes or bug fixes. Prime candidate for automation. Strategies include retest-all, selective, and test case prioritization.
Question 3: What is boundary value analysis?
- Testing middle values only
- Testing at edges of input ranges where defects are most likely (Correct answer)
- Testing with random values
- Testing module boundaries
Correct answer: Testing at edges of input ranges where defects are most likely
BVA focuses on testing at and near boundaries where defects commonly cluster.
For range 1-100, test: 0, 1, 2, 99, 100, 101. Based on the observation that errors cluster at boundaries due to off-by-one errors. Complements equivalence partitioning.
Question 4: What is a test case?
- Programming language for tests
- Documented conditions, inputs, and expected results for verifying functionality (Correct answer)
- Automated testing tool
- Post-test report
Correct answer: Documented conditions, inputs, and expected results for verifying functionality
A test case specifies preconditions, inputs, steps, and expected results.
Includes ID, title, preconditions, steps, test data, expected/actual results, and pass/fail. Should be independent, repeatable, and traceable to requirements.
Question 5: What is code coverage analysis?
- Measuring code speed
- Measuring what percentage of code is exercised by tests (Correct answer)
- Detecting vulnerabilities
- Optimizing compilation
Correct answer: Measuring what percentage of code is exercised by tests
Code coverage measures the percentage of code executed during testing.
Types: statement, branch, condition, path, function coverage. 100% coverage does not guarantee correctness. 80% is a common target. Tools: JaCoCo, Istanbul, coverage.py.
Question 6: What is exploratory testing?
- Script-based testing
- Simultaneous test design, execution, and learning (Correct answer)
- Production-only testing
- End user testing
Correct answer: Simultaneous test design, execution, and learning
Exploratory testing simultaneously designs and executes tests using creativity and domain knowledge.
Time-boxed sessions (60-90 min) with a charter. Effective for finding usability issues and edge cases that scripted tests miss. Session-based test management provides structure.
What is the difference between verification and validation?