-
Notifications
You must be signed in to change notification settings - Fork 127
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: add redis docs & glossary terms && pr template (#448)
* fix: installation in docker with linux/wsl Signed-off-by: Animesh Pathak <[email protected]> * feat: add redis Signed-off-by: Animesh Pathak <[email protected]> * feat: add redis Signed-off-by: Animesh Pathak <[email protected]> --------- Signed-off-by: Animesh Pathak <[email protected]>
- Loading branch information
Showing
10 changed files
with
150 additions
and
64 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
98 changes: 75 additions & 23 deletions
98
versioned_docs/version-2.0.0/concepts/reference/glossary/acceptance-testing.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,40 +1,92 @@ | ||
--- | ||
id: acceptance-testing | ||
title: Acceptance Testing | ||
title: Comprehensive Guide to Software Acceptance Testing | ||
sidebar_label: Acceptance Testing | ||
description: This glossary has an explanation of all the terminologies that beginners find difficult to understand at first glance. | ||
description: Learn about Software Acceptance Testing, its types, benefits, and best practices. Discover how this final phase in the testing lifecycle ensures your software meets all user requirements before release. | ||
tags: | ||
- explanation | ||
- glossary | ||
keywords: | ||
- API | ||
- software testing | ||
- UAT | ||
- user acceptance testing | ||
- software acceptance testing | ||
--- | ||
|
||
### What is Acceptance Testing? | ||
## What is Acceptance Testing? | ||
|
||
Acceptance testing (AT) is a formal testing process that is conducted to determine whether a software system meets the | ||
requirements of the customer or end user. AT is the last phase of software testing, and it is conducted after all other | ||
levels of testing have been completed. | ||
Acceptance testing (AT) is the final phase in the software testing life cycle, where the software is tested in a real-world environment by the customer or end user. The main objective is to ensure that the system meets all specified requirements and is ready for deployment. This stage is critical as it validates that the software is not only functional but also aligns with the user's needs and expectations. | ||
|
||
The purpose of AT is to ensure that the software system is acceptable to the customer or end user. This means that the | ||
system must meet the customer's or end user's needs and expectations. AT also helps to identify any defects or problems | ||
with the software system that may have been missed during earlier phases of testing. | ||
## Why is it important? | ||
|
||
### Acceptance Testing Types: | ||
Acceptance testing serves as a safety net before the software reaches the end users, minimizing the risk of post-release defects that could lead to costly fixes and user dissatisfaction. | ||
|
||
- **User acceptance testing (UAT)**: This is the most common type of AT. It involves the customer or end user using the | ||
software system in a way that simulates how they will use it in the real world. | ||
- **Systematic testing**: This involves using a set of predetermined test cases to test the software system. | ||
- **Acceptance test-driven development (ATDD)**: This is a technique that combines AT with test-driven development (TDD) | ||
. TDD is a software development process that involves writing unit tests before the code is written. ATDD extends TDD | ||
by adding acceptance tests to the mix. | ||
## What Types of Acceptance Testing are there ? | ||
|
||
### Benefits of Acceptance Testing: | ||
There are several types of acceptance testing, each serving a unique purpose: | ||
|
||
- It helps to ensure that the software system meets the needs and expectations of the customer or end user. | ||
- It helps to identify any defects or problems with the software system that may have been missed during earlier phases of testing. | ||
- It helps to improve the overall quality of the software system. | ||
- It helps to reduce the risk of defects and problems with the software system. | ||
- It helps to ensure that the software system is ready for release. | ||
### User Acceptance Testing (UAT): | ||
|
||
Acceptance testing is vital in ensuring software meets stakeholder demands and quality standards. | ||
UAT is the most common form of acceptance testing, where real users test the software in an environment that mimics the production environment. The goal is to validate the software's functionality and usability from the end user's perspective. | ||
|
||
Example: A financial institution might perform UAT on a new online banking system to ensure it meets user expectations before going live. | ||
|
||
### Systematic Acceptance Testing: | ||
|
||
This type involves using predefined test cases that cover all aspects of the system. It ensures that the software behaves as expected under various conditions. | ||
|
||
Example: Systematic testing might involve running a series of transactions through an e-commerce platform to ensure it can handle different payment methods. | ||
|
||
### Acceptance Test-Driven Development (ATDD): | ||
|
||
ATDD combines acceptance testing with test-driven development (TDD). It involves writing acceptance tests before the actual development begins, ensuring that the final product meets the predefined acceptance criteria. | ||
|
||
Example: A team developing a new feature for a mobile app might write acceptance tests first to ensure the feature will function correctly when completed. | ||
|
||
## What are the Benefits of Acceptance Testing? | ||
|
||
Acceptance testing offers numerous benefits that contribute to the overall success of a software project: | ||
|
||
- Validates Requirements: Ensures that the software meets the agreed-upon requirements and expectations. | ||
- Identifies Issues Early: Helps uncover defects that may have been missed during earlier testing phases, reducing the risk of post-release problems. | ||
- Enhances Quality: Improves the overall quality of the software by ensuring it functions as intended. | ||
- Reduces Risks: Minimizes the risk of releasing a flawed product, which can save time, money, and resources. | ||
- Ensures Readiness: Confirms that the software is ready for deployment and will perform well in a production environment. | ||
- Real-World Example: A major retailer might perform acceptance testing on its new inventory management system to ensure it can handle peak shopping seasons without issues. | ||
|
||
## What are the Best Practices for Effective Testing ? | ||
|
||
To ensure the effectiveness of acceptance testing, consider the following best practices: | ||
|
||
- Involve Stakeholders Early: Engage key stakeholders early in the process to ensure their requirements are clearly understood and documented. | ||
- Define Clear Acceptance Criteria: Establish clear and measurable acceptance criteria before testing begins to avoid ambiguity. | ||
- Use Realistic Test Data: Use data that closely resembles real-world scenarios to better assess the software's performance. | ||
- Automate Where Possible: While manual testing is crucial, automating repetitive tasks can save time and reduce human error. | ||
- Iterate and Refine: Continuously refine the acceptance testing process based on feedback and testing outcomes. | ||
|
||
## Conclusion | ||
|
||
Acceptance testing is a critical step in the software development process, ensuring that the product is ready for deployment and meets the user's needs. By following best practices and involving key stakeholders, organizations can deliver high-quality software that satisfies customer expectations. | ||
|
||
## FAQs | ||
|
||
### What is the difference between UAT and Systematic Testing? | ||
|
||
UAT focuses on testing the software from the end user's perspective, while systematic testing involves using predefined test cases to validate the software's functionality. | ||
|
||
### Can acceptance testing be automated? | ||
|
||
Yes, certain aspects of acceptance testing, such as repetitive test cases, can be automated to improve efficiency. However, manual testing is often necessary for user-centric tests. | ||
|
||
### How does ATDD differ from traditional testing methods? | ||
|
||
ATDD involves writing acceptance tests before development begins, ensuring that the software is built to meet specific acceptance criteria from the start. | ||
|
||
### What role do stakeholders play in acceptance testing? | ||
|
||
Stakeholders are involved in defining acceptance criteria and often participate in UAT to validate that the software meets their needs. | ||
|
||
### How does acceptance testing fit into the overall testing process? | ||
|
||
Acceptance testing is the final phase in the testing process, occurring after unit, integration, and system testing have been completed. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.