k6

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.

Get Started    Documentation

Search results for "{{ search.query }}"

No results found for "{{search.query}}". 
View All Results

Welcome to the k6 documentation! The aim of this documentation is to take you from total beginner to k6 expert.

What is k6?

k6 is a developer-centric load testing tool designed to help you, as a developer, incorporate load testing into your workflow, and ultimately get it into your automation flow. It aims to do so by:

  • Being easy to get started with; open-source, well documented and with simple command line usage
  • Scaling with you from simple unit load tests (eg. single API endpoint) to more complex scenario load tests (eg. an application using a full API)
  • Allowing you to seamlessly go from local or on-premise use to the convenience of managed cloud use

Features

Some of the features you will learn about in the documentation:

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 of 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.

Need help or want to contribute to k6?

Types of questions and where to ask:

Welcome