System Testing is a level of the software testing where a complete and integrated software is tested. It’s evaluate the system’s compliance with the specified requirements and verifies that it meets up.Black Box Testing method is used.
System Testing is performed after Integration Testing and before Acceptance Testing and by independent testers.
This is also called End to End testing because it includes testing external peripherals in order to check how components interact with one another and with the system as a whole.It Verifies complete testing of every input in the application and for desired outputs.It also tests user’s experience with the application.
Different Types of System Testing
Usability Testing – Usability testing mainly focuses on the user’s ease to use the application,flexibility in handling controls and ability of the system to meet its objectives.
Load Testing – Load testing is performed to determine a system’s behavior under both normal and anticipated peak load conditions.
Regression Testing- Regression testing verifies that software which was previously developed and tested, still performs correctly after it was changed or interfaced with other software. Changes may include software enhancements, patches, configuration changes, etc.
Recovery Testing – Recovery testing is a type of non-functional testing technique performed in order to determine how quickly the system can recover after it has gone through system crash or hardware failure. Recovery testing is the forced failure of the software to verify if the recovery is successful.
Migration Testing – Migration testing is to ensure that the software can be moved from older system infrastructures to current system infrastructures without any issues.
Functional Testing – Also known as functional completeness testing,involves thinking of any possible missing functions. Testers make a list of additional functionalities that a product could have to improve it during functional testing.
Hardware/Software Testing – Tester focuses on the interactions between the hardware and software during system testing.
Acceptance Testing – It is a Formal testing conducted to determine whether an application or system satisfies its given acceptance criteria and helps the customer to accept the system or not. This testing process is usually performed by customers.
Alpha Testing – Alpha testing is performed at the developer’s site to test an application. This testing process is performed by an end user.
Beta Testing – Beta Testing is the final testing done before the application is released for commercial purpose.
Black box Testing – Testers perform the black box testing. To perform black box testing, there is no need of knowledge of testing tool or an application code or internal structure. It verifies the functionality of an application based on requirements.
Load Testing – Load testing is a testing technique that puts load on a system or device and measures its output results.
White box Testing – It is a testing technique based on knowledge of the internal logic or structure of an application’s code and includes tests like coverage of code statements, branches, paths, conditions. White box testing process is performed by software developers.
Smoke Testing –Smoke testing examines all the basic components of a software system to make sure that they work properly. Smoke testing is performed by the testing team after a software build is made.