k6 doesn’t offer any built-in UI for running and monitoring the tests. Instead, all the tests are executed using the CLI. This, in combination with the possibility of defining custom checks and thresholds, makes it very easy to automate k6 tests. Test output can be saved to a JSON or CSV file, or streamed to an external service such as Grafana, Prometheus, or New Relic for deeper analysis and visualization.
One of the advantages of k6 over the other performance testing tool that we used, Locust, is very detailed metrics. It measures not only the cumulative response time but also the duration of the subsequent HTTP transaction steps: e.g. the time spent handshaking a TLS session with the remote host or time to first byte.
k6 is developer-friendly and easy to integrate both in existing pipelines and with external monitoring services. We will
definitely consider using it as a performance testing tool in future projects.