What is system testing?
System testing is performed to check the behavior of the system based on the requirement specification document. The behavior of the system tested may include test based on risks, business processes, use cases, system interaction with operating system and system resources. System testing is carried out by independent test team. System testing is carried out to find as many defects as possible, as this is often the final test in development. So it basically ensures that the system meets all the requirements specified.![]() |
| System testing |
Why we need system testing?
System testing is usually carried out after integration testing. Here the integrated system is tested as a whole. At this stage both functional and non functional requirements are tested. Example of non functional requirements are performance and reliability.
Let me give you an example from real life.
Consider the construction of a house. Initially it starts with the basic requirements like, selecting a suitable place, design of the house plan (done by architects), building materials(brick, sand, stone), electrical materials, plumbing materials etc. The quality of these materials are made available based on the budget planned. The house is now built part by part, starting from laying the foundation, building the walls, roofs, interiors, installing the essentials etc. Finally all the building and installing works are completed.
The next stage is the most important one, that is checking everything is working appropriately. This is where the overall system is checked(System testing). For example, check for faulty wiring, faulty plumbing, poor drainage, bad gutters, cracks in foundation etc. So this final walk through/inspection of the newly built house is critical.Approach to system testing?
System testing uses a black box testing approach. In black box testing, the testers doesn't need any knowledge on internal details like design and structure of the code. While in white box testing, the internal working or code of the system is tested. In this approach the system is tested by verifying through every possible input to get desired output.System testing is usually carried out in a controlled test environment which is very similar to production environment to minimize environment specific failures during testing.
Types of system testing :
1. Functionality testing :
It is checking the system meets all the functionalities that it is expected to perform as per the requirements specified.
2. Usability testing :
It is checking the system from user's perspective. The purpose of usability testing is to check the user's ease to handling/using the application/system.
3. Performance testing :
Performance testing checks the system parameters like scalability, responsiveness, stability, reliability etc. under different work loads. This determines the overall performance of the system under test.
4. Recovery testing :
In recovery testing, the ability of the system to recover from different failure situations are examined.
5. Interoperability testing :
Interoperability testing is checking the compatibility of the system with other system, components or a third party product.
6. Scalability testing :
Scalability testing ensures that the system can be scalable in terms of number of concurrent users, system resources etc. It is used to address scalability related issues.
7. Reliability testing :
Reliability testing is checking whether the software is operable for a specified longer period of time without any failures.
8. Regression testing :
Regression testing ensures that, addition of new functionality in the software or modification of existing software has not caused any new bugs in the system.
9. Security testing :
Security testing ensures confidentiality and integrity of the system by making sure there is no unauthorized use of data and resources.
10. Documentation testing :
Documentation testing is to make sure that all the user guides/document artifacts prepared before or during the test phase are correct and usable.
11. Installation testing :
Installation testing is the first testing carried out. Here testing is done to verify the successful installation of the software without any errors.
Hence, system testing follows an end to end testing scenario.
Hence, system testing follows an end to end testing scenario.

Comments
Post a Comment