System Testing
System testing evaluates a fully integrated application as a complete, whole system — verifying it meets its specified requirements end to end, in an environment resembling production. It's the level between integration testing (pieces working together) and acceptance testing (does it satisfy the actual business need).
By the time software reaches system testing, individual modules and their integrations have already been verified — system testing isn't re-checking that pieces connect, it's checking that the assembled whole actually delivers the complete functionality the requirements describe, under conditions close to how it'll actually run in production.
Both functional and non-functional testing typically happen at this level: system testing covers feature correctness as well as performance, security, and usability checks against the fully built system, before it moves on to acceptance testing with real stakeholders or users.