How does testing contribute to software quality?