Testing is complete when the required level of confidence has been achieved (option B). This is the ISTQB principle: you test enough to meet the quality criteria and risk assessment. Option A (time runs out) is pragmatic but not ideal. Option C is impossible - you can never find all faults. Option D is unrealistic - users will always find some faults. The key is testing sufficiently to meet quality standards within constraints.