to elaborate on the 3rd,
- use test methodologies
- use risk based testing. Always think "If A works, what are the chances B can fail?" . If the answer is "Low", then apply @risk-based-testing. In other words, there is a cost to quality; do not over-test and try to get away with minimal testing that gives enough release confidence.