System Testing is a black box testing technique carried out to evaluate the complete system's compliance against the specified requirements. It includes both functional and Non-Functional testing. In System testing, the system functionalities are tested from an end-to-end perspective.
System testing relies upon making sure if the application meets the functional requirements. With the help of system testing, the application’s architecture and business requirements are tested, validated and verified. Most importantly, the system is tested in an environment that resembles the production environment where the application will be deployed in the end.
Load Testing is performed to know how a software solution will behave under real loads.
Recovery testing is performed to make sure that a software solution is reliable and trustworthy.
Functional Testing involves thinking of any possible missing functions. It will help to find out the additional functionalities that a product could have.
Integration testing focuses on the interactions between the hardware and software during system testing.