A modern load testing tool, using Go and JavaScript

"like unit testing, for performance"

k6 is a modern load testing tool, building on Load Impact's years of experience. It provides a clean, approachable JavaScript scripting API, distributed and cloud execution, and orchestration via a REST API.

Assumptions

We try to make this documentation as beginner-friendly as possible but we will assume some working knowledge of the following:

Javascript - you script your test cases with Javascript so familiarity with it is assumed.

ES2015 modules - you will better understand k6 scripting if you are comfortable with JavaScript Modules.

ES2015 syntax - k6 comes with Babel.js by default so you can take advantage of newer language features such as arrow functions, template strings, destructuring, and more. You can check the Babel.js documentation or read Understanding ECMAScript 6 online.

Reporting a problem

Typos, missing words, and code samples with errors are all considered documentation bugs. If you spot one of them, or want to otherwise improve the existing documentation, we are happy to help you help us!

There are three primary ways in which you can help us:

If you spot a bug on this documentation site (docs.k6.io), please use the "Suggest edits" button in the top right corner of each page.

If you spot a bug in one of the code samples in the k6 repository on Github, please open an issue in the issue tracker or better yet create a Pull Request to patch the bug.

If you want to discuss any topic around documentation please join our Slack team and head to the #documentation channel.