What’s UAT Testing?
Get Start
Recently, my team is going to launch a product, and we are working on UAT Testing. For deeper understanding and applying, I do researches on the Testing and try to apply it into the process for reducing the wrong direction and errors of the product. Below is the summaries of the definition and my own thoughts for UAT, feel free to take a reference.
From Techopedia
Definition — What does User Acceptance Testing (UAT) mean?
User acceptance testing (UAT) is the last phase of the software testing process. During UAT, actual software users test the software to make sure it can handle required tasks in real-world scenarios, according to specifications.
UAT is one of the final and critical software project procedures that must occur before newly developed software is rolled out to the market.
UAT is also known as beta testing, application testing or end-user testing.
From Software Testing Class:
What is User Acceptance Testing?
User Acceptance testing is the software testing process where system tested for acceptability & validates the end to end business flow. Such type of testing executed by the client in a separate environment (similar to the production environment) & confirm whether the system meets the requirements as per requirement specification or not.
Types of UAT
Alpha Testing
Alpha testing is a type of acceptance testing; performed to identify all possible issues/bugs before releasing the product to everyday users or the public. The focus of this testing is to simulate real users by using a black box and white box techniques. The aim is to carry out the tasks that a typical user might perform. Alpha testing is carried out in a lab environment and usually, the testers are internal employees of the organization. To put it as simple as possible, this kind of testing is called alpha only because it is done early on, near the end of the development of the software, and before beta testing.
由一個用戶在開發環境下進行的測試,也可以是公司內部的用戶在模擬實際操作環境下進行的受控測試,Alpha測試不能由程序員或測試員完成。
Beta Testing
Beta Testing of a product is performed by “real users” of the software application in a “real environment” and can be considered as a form of external User Acceptance Testing.
Beta version of the software is released to a limited number of end-users of the product to obtain feedback on the product quality. Beta Testing typically uses Black Box Testing. Beta testing reduces product failure risks and provides increased quality of the product through customer validation.
It is the final test before shipping a product to the customers. Direct feedback from customers is a major advantage of Beta Testing. This testing helps to tests the product in customer’s environment.
測試是軟件的多個用戶在一個或多個用戶的實際使用環境下進行的測試。開發者通常不在測試現場,Beta測試不能由程序員或測試員完成。
The source is from:
How to do UAT Testing by the testers?
- Analysis of Business Requirements
- Creation of UAT test plan
- Identify Test Scenarios
- Create UAT Test Cases
- Preparation of Test Data(Production like Data)
- Run the Test cases
- Record the Results
- Confirm business objectives
Step 1) Analysis of Business Requirements
One of the most important activities in the UAT is to identify and develop test scenarios. These test scenarios are derived from the following documents:
- Project Charter
- Business Use Cases
- Process Flow Diagrams
- Business Requirements Document(BRD)
- System Requirements Specification(SRS)
Step 2) Creation of UAT Plan:
The UAT test plan outlines the strategy that will be used to verify and ensure an application meets its business requirements. It documents entry and exit criteria for UAT, Test scenarios and test cases approach and timelines of testing.
Step 3) Identify Test Scenarios and Test Cases:
Identify the test scenarios with respect to high-level business process and create test cases with clear test steps. Test Cases should sufficiently cover most of the UAT scenarios. Business Use cases are input for creating the test cases.
Step 4) Preparation of Test Data:
It is best advised to use live data for UAT. Data should be scrambled for privacy and security reasons. Tester should be familiar with the database flow.
Step 5) Run and record the results:
Execute test cases and report bugs if any. Re-test bugs once fixed. Test Management tools can be used for execution.
Step 6) Confirm Business Objectives met:
Business Analysts or UAT Testers needs to send a sign off mail after the UAT testing. After sign-off, the product is good to go for production. Deliverables for UAT testing are Test Plan, UAT Scenarios and Test Cases, Test Results and Defect Log
UAT Tools
There are several tools in the market used for User acceptance testing and some are listed for reference:
Fitness tool: It is a java tool used as a testing engine. It is easy to create tests and record results in a table. Users of the tool enter the formatted input and tests are created automatically. The tests are then executed and the output is returned back to the user.
Watir : It is toolkit used to automate browser-based tests during User acceptance testing. Ruby is the programming language used for inter-process communication between ruby and Internet Explorer.
UAT Checklist
Extension: Black & White Testing
What’s Black Box Testing?
Black box testing is defined as a testing technique in which functionality of the Application Under Test (AUT) is tested without looking at the internal code structure, implementation details and knowledge of internal paths of the software. This type of testing is based entirely on software requirements and specifications. — In short, Black Box Testing is to avoid the code of products reveals to external.
How about White Box Testing?
White Box Testing (Unit Testing) validates internal structure and working of your software code. — Basically, it’s for internal program validation.
Extension: Unit testing & Integration testing
What is System Integration Testing?
System Integration Testing is defined as a type of software testing carried out in an integrated hardware and software environment to verify the behavior of the complete system. It is testing conducted on a complete, integrated system to evaluate the system’s compliance with its specified requirement.
System Integration Testing (SIT) is performed to verify the interactions between the modules of a software system. It deals with the verification of the high and low-level software requirements specified in the Software Requirements Specification/Data and the Software Design Document.
It also verifies a software system’s coexistence with others and tests the interface between modules of the software application. In this type of testing, modules are first tested individually and then combined to make a system.