Skip to content

Commit

Permalink
Merge pull request #57 from osundwajeff/system-testing
Browse files Browse the repository at this point in the history
System testing
  • Loading branch information
osundwajeff authored Dec 22, 2023
2 parents 1ca54e0 + 8989efb commit 8a22aee
Showing 1 changed file with 30 additions and 7 deletions.
37 changes: 30 additions & 7 deletions docs/src/development/testing/systemtesting.md
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.

0 comments on commit 8a22aee

Please sign in to comment.