benefits of software testing