System testing, a.k.a. end-to-end (E2E) testing, is testing conducted on a complete software system.
System testing describes testing at the system level to contrast to testing at the system integration, integration or unit level.
System testing often serves the purpose of evaluating the system's compliance with its specified requirements – often from a functional requirement specification (FRS), a system requirement specification (SRS), another type of specification or multiple.
System testing can detect defects in the system as a whole.
System testing can verify the design, the behavior and even the believed expectations of the customer. It is also intended to test up to and beyond the bounds of specified software and hardware requirements.