Quality assurance is more than hiring someone to do an acceptance test. It starts with a well-thought-out architecture, a profound usability design and a well-organised development project. From the start the QA-professionals are involved. Like the architect they need to fully understand the business idea behind the application and they have to place themselves in the shoes of the user. They will make a test plan that describes how they will do the testing throughout the development process. In this plan you will read e.g. how we will use unit testing, integration testing or automated testing to make sure that the quality is monitored and bugs are corrected during the building process. This way the acceptance test will not hold surprises that might endanger the budget or the delivery schedule.
After the initial release there is still a role for testing. Regression testing will make sure that the application will still work as specified after making changes to the code. Performance and compatibility testing check that the application will keep on working after changes in the environment.