In software testing, 'enough testing' is determined by achieving the required level of confidence in the software quality, not by arbitrary constraints. Option A (time runs out) is a practical but not ideal criterion. Option C (no more faults found) is unrealistic as complex systems can always have undiscovered faults. Option D (users won't find faults) is speculative. Option B correctly states that testing is complete when the predefined confidence level - based on risk, requirements, and quality standards - is achieved.