System testing is testing conducted on a complete integrated system to evaluate the system’s compliance with its specified requirements.
System testing takes, as its input, all of the integrated components that have passed integration testing. The purpose of integration testing is to detect any inconsistencies between the units that are integrated together (called assemblages). System testing seeks to detect defects both within the “inter-assemblages” and also within the system as a whole. The actual result is the behavior produced or observed when a component or system is tested.
System testing is performed on the entire system in the context of either functional requirement specifications (FRS) or system requirement specification (SRS), or both. System testing tests not only the design, but also the behaviour and even the believed expectations of the customer. It is also intended to test up to and beyond the bounds defined in the software or hardware requirements specification(s).