The system test , can be considered the "third phase" of the tests, being the first unit or unit test , which tests the smallest units of the system, looking for logic errors and implementation in each module, separately. The second is the integration test , which aims to detect failures in the interaction between the units, usually the types of failures encountered are sending and receiving data. Recalling that integration with other systems is not part of this phase.
The system test aims to test the system completely. It is common to call this test black box, because the system is tested with everything connected: batch jobs, database, web services, etc. This test tests the system completely.
In practice they run under conditions similar to those that the user will use. This test checks if the components are compatible, if they interact correctly, if they transfer the right data at the right time, etc.
To answer your question "Is it even testing the system's interface?", see this #, it shows a summary of the tests:
Aswecansee,theanswertoyourquestionisYes.Itisatthisstagethatthesysteminterfaceistested.
Therearealsoacceptancetestsandregressiontests.Theacceptancetestisintendedtoverifycompliancewithbusinessanduserrequirementsinthelaststageofthedevelopmentcycle,validatingtheproductfordelivery.Theyareusuallyperformedbyarestrictedgroupofsystemendusers.Theregressiontestisappliedwhenlaunchinganewversionofthesoftwareorwhenthereisaneedtorunanewtestcycleduringthedevelopmentprocess.Itisnotconsideredatestlevel,butitisanimportantstrategyforreducingsideeffects.
Referencesandrelatedlinks: