In software development, the application developed is tested
by different teams. Developers perform Unit testing and Integration testing
before passing the product to QA for their validations. QA Performs System
Testing, SIT and regression testing on the product. Once the QA certifies the
product, the Product is passed on to the client/UAT Team for User Acceptance Testi
Client/UAT Team before passing the product to the end users needs
to verify if the product delivered to him is the same as requested or a different
product is developed. The basis for testing is the requirements of client and
product is developed as expected in the requirement. The product is passed on to client
once the exit criteria between client and supplier is met which includes
conditions of no major issues in the developed product by supplier.
Client on receiving the developed product tests the product
internally if it is as per expectation and then passes the same to a subset of
end users (beta users) to validate the product from end user point of view.
Once it passes both internal customers testing and external customer testing (by
beta users and can be called as beta testing), it is released to market to be
used by customers or end users.
Entry Criteria for UAT testing is usually the exit criteria
for System Testing Phase. Entry criteria for UAT testing includes in general:
- No Major open defects in the product
- Test Execution completed and sign off
communication provided by System Testing team
- List of Known issue provided.
- Environment for UAT deployed.
Once Entry Criteria for UAT is met, the UAT team starts
testing on the product. UAT can happen in two stages. In First stage, the testing
is done by the UAT Team of the client. The focus or key aspect of testing is to
validate the product is developed as per the requirement agreed between the
stakeholders. To Test the requirements, business scenario needs to be
identified and testing should focus on business scenario validations. Once UAT
Team feels the product is as per agreed in requirements and there are no major
defects in the product, the product can be provided to subset of targeted end
users to know their views and feedback on the usability of the products before
releasing it officially to the end users. It is important to know either of the
two stages i.e. testing by UAT Team of client or subset of targeted end users
can be skipped based on the product.
To understand this, beta testing by subset of the end users is very important for a shopping or social networking website. As it is very
critical to know the actual end user needs and before releasing it to market.
While if the application is an internal tool to be used by client itself, he
can skip the beta testing.
Next Question is who the UAT testers are. UAT Testers are
usually the subject matter expert with good in-depth knowledge of domain. UAT
testers usually focus on real life scenario that can happen. For e.g. for a
banking Lending application, it is important to have someone with prior
experience in banking and specifically in Lending domain to drive the UAT
testing and preparing plan for execution.
Once the UAT team completes User Acceptance testing on the
product, it provides sign-off for the product to be released to
production/Go-Live. And then it’s party time for all stakeholders involved in
the application with finger-crossed for no defect identified in production.
Signing off this post and publishing to end users of this blog. Feedback/suggestion
must welcome.