Introduction to Acceptance Testing
Acceptance testing is formal testing which is performed based on the user requirements and function processing. It is used to validate whether the software fulfilled the specified requirements and users requirements or not. It is performed based on the Black box testing where number of required users are involved in testing process. It is used to check the acceptability of the software.
Why We Need Acceptance Testing?
Acceptance testing is required because of the following reasons
- During development of the software, if there are changes in the requirements and it may not be communicated effectively to the development team.
- Based on the specified requirements and their own understanding developers develop the functions in the software. Developers my jot understand the requirements of the end-user
- There is maybe some minor errors which can be identified only when the system is used by the end-user in the real-time scenario. so to find these errors, Acceptance testing is required for the software.
Pre-requisites for Acceptance Testing
- User requirements must be available
- Coding for the application must be fully developed.
- Unit testing, integration testing and system testing must be done.
- Regression testing must be completed with no major defects.
- Traceability matrix for all tastings must be completed.
- Testing environment must be ready.
How to Perform Acceptance Testing?
This process involves five phases namely Requirement analysis, Test plan creation, Test case designing, test case execution and confirmation of objectives. Let’s discuss these phases in detail.
- Requirement analysis: In this phase, testing team first analyze the requirement document and based on these requirements find out the objectives of the developed software. Using requirement document, flow diagrams, business use cases. business requirement document, system requirement specification and project charter, test planning is accomplished.
- Test plan creation: It outlines the whole strategy of the testing process. This strategy is used to ensure and verify whether the software is confirming specified requirements or not.
- Test case designing: In this phase, based on the test plan document test cases are designed in such way that cases can cover most of the scenario.
- Test case execution: In this phase, using appropriate input values all the test cases are executed. Tester collects all the input values from the user and executed it to ensure that the software is working properly for appropriate scenario.
- Confirmation of objectives: After performing all the above mentioned steps, testing team confirm that software is defect or bug free and it is ready to delivered to the client.
Types of Acceptance Testing
It is categorized into the following categories
- Internal Acceptance testing: This is also known as alpha testing. It is performed by the members of the organization that developed the software but who are not Directly involved in the project. In other words, we can say that, it involved members of product management, customer support and sale department.
- External Acceptance testing: This is performed by the people who are not employees of the organization that developed the software.
- User acceptance testing; It is known for beta testing. It is performed by the end-users of the software. End users can be the customers themselves or the general public or customer’s customer.
- Customer acceptance testing: This is performed by the customer of the organization that developed the software. They are the one who asked the organization to develop the software.
Test Plan of Acceptance Testing
Test plan has the following attributes:
- Acceptance test category
- Operation environment
- Test case ID
- Test title
- Test objective
- Test procedure
- Test schedule
Test report of Acceptance testing
Test report has the following attributes
- Report identifier
- Summary of results
- Summary of to do list
- approval decision
- It improves the requirements definition as client tests requirements definition according to needs.
- Gives clear view of testing strategy.
- Increase the satisfaction of clients as they test application itself.
- Improves the understanding of the requirements of the targeted audience.
- Helps to deliver bug free software.
Acceptance Testing Tools
For testing various tools are used. Some of them are as follows
Watir: It is an open-source Ruby library used for automating the web browsers. It drives Chrome, internet explorer, Firefox, opera and safari. It is available as Ruby Gems gem. Watir consists of several projects such as watir classic, watir web Driver, and watir spec.
Fitness tool: It is used to enter the input values and generate test cases automatically. User need to input values, these entered values are then used by the fitness tool to execute the test cases and generate the appropriate output. For inter-process communication, the fitness tool uses java language. With this tool, the team can create and test cases easily. They can also record the test cases in table format.
Here in this article we have discussed the basic concepts of acceptance testing and its working process. We have also discussed its advantages and disadvantages with tools. We have covered the test plan and test reports..
This is a guide to Acceptance Testing. Here we also discuss the introduction and how to perform acceptance testing? along with advantages and types. You may also have a look at the following articles to learn more –