System Testing is a type of software testing that is performed on a complete integrated system to evaluate the compliance of the system with the corresponding requirements.
In system testing, integration testing passed components are taken as input. The goal of integration testing is to detect any irregularity between the units that are integrated together. System testing detects defects within both the integrated units and the whole system. The result of system testing is the observed behavior of a component or a system when it is tested.
System Testing is carried out on the whole system in the context of either system requirement specifications or functional requirement specifications or in contest of both. System testing tests the design and behavior of the system and also the expectations of the customer. It is performed to test the system beyond the bounds mentioned in the software requirements specification (SRS).
System Testing is basically performed by testing team that is independent of the development team that helps to test the quality of the system impartial. It has both functional and non-functional testing.
System Testing is a black-box testing.
System Testing is performed after the integration testing and before the acceptance testing.
System Testing Process:
System Testing is performed in the following steps:
- Test Environment Setup:
Create testing environment for the better quality testing.
- Create Test Case:
Generate test case for the testing process.
- Create Test Data:
Generate the data that is to be tested.
- Execute Test Case:
After the generation of the test case and the test data, test cases are executed.
- Defect Reporting:
Defects in the system are detected.
- Regression Testing:
It is carried out to test the side effects of the testing process.
- Log Defects:
Defects are fixed in this step.
If the test is not successful then again test is performed.
Types of System Testing:
- Performance Testing:
Performance Testing is a type of software testing that is carried out to test the speed, scalability, stability and reliability of the software product or application.
- Load Testing:
Load Testing is a type of software Testing which is carried out to determine the behavior of a system or software product under extreme load.
- Stress Testing:
Stress Testing is a type of software testing performed to check the robustness of the system under the varying loads.
- Scalability Testing:
Scalability Testing is a type of software testing which is carried out to check the performance of a software application or system in terms of its capability to scale up or scale down the number of user request load.
- Types of Software Testing
- Software Testing | Basics
- Beta Testing | Software Testing
- Pairwise Software Testing
- Software Engineering | System configuration management
- Software Engineering | Black box testing
- Software Engineering | Differences between Sanity Testing and Smoke Testing
- Localization Testing
- Software Engineering | Testing Guidelines
- Software Engineering | White box Testing
- Software Engineering | Seven Principles of software testing
- Software Testing | Endurance Testing
- Difference between Frontend Testing and Backend Testing
- Software Testing | Dynamic Testing
- Software Engineering | Information System Life Cycle