GitLab CI is a web application with an API that stores its state in a database. It manages projects/builds and provides a nice user interface. It uses the GitLab application API to authenticate its users.
GitLab Runner is an application which processes builds. It can be deployed separately and works with GitLab CI through an API.
In order to run tests, you need at least 1 GitLab CI instance and 1 GitLab Runner. However, for running several builds at the same time, you may want to set up more than one GitLab Runner. Multiple runners will also allow you to run the tests for one commit in parallel so it finishes sooner. Runners can be installed on the same machine as GitLab CI or on other machines; we recommend to install them on other machines.
To perform the actual build, you need to install GitLab Runner.
Tests can be run on Unix, Windows, OSX, the JVM and more. The tests are performed with GitLab Runner, see that section for all the options.