-
Notifications
You must be signed in to change notification settings - Fork 33
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #57 from osundwajeff/system-testing
System testing
- Loading branch information
Showing
1 changed file
with
30 additions
and
7 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,34 @@ | ||
# System testing | ||
|
||
It is also referred to as system-level testing/ system integration testing. Some describe it as black-box testing. | ||
This type of testing evaluates the system as a whole rather than individual components. | ||
The primary goal is to verify that the software system functions correctly and meets its intended requirements and objectives. | ||
|
||
- It evaluates the overall functionality and performance of a complete system. | ||
- It tests if the system meets the specified requirements and if it is ideal to be deployed for end users. | ||
- It is done after integration testing and before acceptance testing. | ||
- For more: https://www.geeksforgeeks.org/system-testing/ | ||
It evaluates the overall functionality and performance of a complete system. | ||
|
||
For tools used in software testing, it is dependent on the software. | ||
- Selenium is a common one, mostly used for python web development projects. | ||
It tests if the system meets the specified requirements and if it is ideal to be deployed for end users. | ||
|
||
It is done after integration testing and before acceptance testing. | ||
|
||
For more: Look at [system testing](https://www.geeksforgeeks.org/system-testing/). | ||
|
||
## Key aspects | ||
|
||
- `Functional Testing`: Verifying that the system functions according to the specified requirements. This involves testing all the features and capabilities of the system. | ||
|
||
- `Performance Testing`: Evaluating the system's performance characteristics, such as responsiveness, scalability, and stability under varying conditions. This may include load testing, stress testing, and scalability testing. | ||
|
||
- `Security Testing`: Ensuring that the system is secure and that sensitive data is protected. This involves testing for vulnerabilities, access controls, and encryption mechanisms. | ||
|
||
- `Usability Testing`: Assessing the user-friendliness and overall user experience of the system. This includes evaluating the system's interface, navigation, and overall ease of use. | ||
|
||
- `Compatibility Testing`: Verifying that the system works correctly on different platforms, browsers, and devices. This is particularly important in today's diverse technology landscape. | ||
|
||
- `Regression Testing`: Checking whether new changes introduced during development have adversely affected existing functionalities. This helps ensure that new features do not introduce unexpected issues. | ||
|
||
- `System Integration Testing`: Confirming that different components of the system work together seamlessly. This involves testing interactions between modules or subsystems to identify and resolve integration issues. | ||
|
||
- `Data Integrity Testing`: Ensuring that data is accurately and consistently stored, retrieved, and processed by the system. | ||
|
||
- `Installation Testing`: Verifying that the installation process of the software is smooth and that the software can be successfully installed and uninstalled without issues. | ||
|
||
- `Recovery Testing`: Evaluating the system's ability to recover from failures, such as crashes or hardware failures, and ensuring data integrity after recovery. |