System testing is performed by testers and developers, while end-users and clients perform User Acceptance Testing. System testing is responsible for testing the interfaces between the components and interactions to various systems parts like hardware, software, and interfaces among systems. In system testing, individual units must be integrated first in separate builds; however, the whole design is examined in user acceptance testing.