QA testing usually precedes UAT and is typically performed within the technology organization. QA testing examines the functional behavior of individual technology components and seeks to test their integrated feature-level capability. One of the constant challenges QA testing teams face is the wide variety of testing skills required to properly bridge technology testing with business testing. An effective QA test team is able to provide test at both a technical component level to enable early feedback, as well as at a scenario level to bridge with business users. One way to tackle that challenge is to develop a collaborative partnership with the business testing team that could consist of test development reviews, test data preparation, and paired test execution.
A summary of the typical differences between QA testing and UAT are as follows:
Although some say there should be strict isolation between the QA testing teams and user acceptance testing teams, more often than not this only defers important feedback and reduces the overall testing capability. When possible a collaborative testing process usually yields more defects earlier in the process, thereby giving the development team sufficient time to implement a fix and submit for retest.
The surest way to kill a project is to view testing as a "phase" that belongs at the end of a project as opposed to an integrated part of the ongoing development process. Waiting until the very end to start testing (either QA testing or user acceptance testing) will create problems for even the simplest of projects. An iterative and collaborative QA testing/user acceptance testing process can be a powerful tool for discovering issues early and providing forecasting data that helps to guide the project to a successful deployment.
This was first published in October 2008