From 8989efb3f009081fda9b44abde6740578b72963f Mon Sep 17 00:00:00 2001 From: Jeff Osundwa Date: Fri, 22 Dec 2023 16:09:44 +0300 Subject: [PATCH] updated details on system testing --- docs/src/development/testing/systemtesting.md | 37 +++++++++++++++---- 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/docs/src/development/testing/systemtesting.md b/docs/src/development/testing/systemtesting.md index c391b775..9ebc0253 100644 --- a/docs/src/development/testing/systemtesting.md +++ b/docs/src/development/testing/systemtesting.md @@ -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. \ No newline at end of file +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.