Friday, June 08, 2007

The difference between the UAT and the Project Test plan

# A Test Plan covers all the identifiable test cases for all the components in a system.
# Here we don't limit only to the functionalities required by the customer and include all the important boundary conditions and exceptional cases
# The Test Plan should include the important back end features that are not exposed to the customer


# The UAT is only a subset of the Test Plan that consists of the most important test cases in the viewpoint of the customer
# Normally the UAT may not contain a lot of exceptional test cases and back end features not relevant to the customer

Following is extract from CSTE CBOK and will be useful


Difference between Acceptance Test and System Test
Acceptance testing is performed by user personnel and may include assistance by software testers.System testing is performed by developers and/or software testers. The objective of both types of testing is to assure that when the software is complete it will be acceptable to the user.


System test should be performed before acceptance testing. There is a logical sequence for testing, and an important reason for the logical steps of the different levels of testing. Unless each level of testing fulfills its objective, the following level of testing will have to compensate weaknesses in testing at the previous level.

In most organization units, integration and system testing will focus on determining whether or not the software specifications have been implemented as specified. In conducting testing to meet this objective it is unimportant whether or not the software specifications are those needed by the user. The specifications should be the agreed upon specifications for the software system.



The system specifications tend to focus on the software specifications. They rarely address the processing concerns over input to the software, nor do they address the concerns over the ability of user personnel to effectively use the system in performing their day-to-day business activities. Acceptance testing should focus on input processing, use of the software in the user organization, and whether or not the specifications meet the true processing needs of the user. Sometimes these
user needs are not included in the specifications; sometimes these user needs are incorrectly specified in the software specifications; and sometimes the user was unaware that without certain attributes of the system, the system was not acceptable to the user.

Examples include users not specifying the skill level of the people who will be using the system; processing may be specified but turnaround time not specified, and the user may not know that they have to specify the maintainability attributes of the software.


Effective software testers will focus on all three reasons why the software specified may not meet the user’s true needs. For example they may recommend developmental reviews with users involved. Testers may ask users if the quality factors are important to them in the operational software. Testers may work with users to define acceptance criteria early in a development process so that the developers are aware and can address those acceptance criteria.

No comments: