advantages of acceptance testing in software engineering