- Test development: test analysis (what to test: test conditions) → test design (how: test cases) → test implementation (procedures, scripts, schedule).
- Knight Capital (2012): dead "zombie" code reactivated during a deployment lost $440M in 45 minutes: missing regression and deployment testing.
- Black-box (specification-based) vs. white-box (structure-based) vs. experience-based techniques.
- Equivalence partitioning: divide inputs into classes expected to behave the same; one test per class (valid and invalid).
🎯 How this can come up · 1 question
A field accepts integers 1–100. The equivalence classes are:
Correct: < 1, 1–100, > 100.
- Boundary value analysis: errors cluster at edges: test min, max and just outside/inside them.
🎯 How this can come up · 1 question
For a valid range 18–65, two-value BVA tests:
Correct: 17, 18, 65, 66.
- Decision tables: combinations of conditions → actions; each rule (column) is a test case; collapse rules whose outcome doesn’t depend on a condition.
🎯 How this can come up · 1 question
Four independent binary conditions give at most how many rules?
Correct: 16.
- State transition testing: states, events, transitions and actions; cover every valid transition and try invalid (null) ones.
🎯 How this can come up · 1 question
Testing an ATM that locks the card after 3 wrong PINs is best done with:
Correct: State transition testing.
- Use-case testing: one test per main and alternative flow; good for acceptance and system tests.
- Non-functional: performance (response time), load (expected volume), stress (beyond the limits), security, usability, recovery, compatibility.
🎯 How this can come up · 1 question
Pushing a system beyond its normal capacity to see how it fails is:
Correct: Stress testing.
- Error guessing: use experience to anticipate likely mistakes (empty inputs, zero, nulls).
- Exploratory testing: simultaneous learning, test design and execution, often time-boxed.
No slides match this filter.
































































![Slide 66: • Numeric values are often entered as strings which are then converted to numbers internally [int x = atoi(str);]](figures/slide-66.jpg)

















































