No results for “”

Powered byAlgolia

Welcome to the k6 documentation

This documentation will help you go from a total beginner to a seasoned k6 expert!


What is k6?

k6 is a developer-centric, free and open-source load testing tool built for making performance testing a productive and enjoyable experience.

Using k6, you'll be able to catch performance regression and problems earlier, allowing you to build resilient applications that scale.

Key features

k6 is packed with features, which you can learn all about in the documentation. Key features include:

CLI tool with developer-friendly APIs.
Scripting in JavaScript ES2015/ES6 - with support for local and remote modules
Checks and Thresholds - for goal-oriented, automation-friendly load testing

Use cases

k6 users are typically Developers, QA Engineers, SDETs, and SREs. They use k6 for testing the performance and reliability of APIs, microservices, and websites. Common k6 use cases are:

  • Load testing

    k6 is optimized for minimal resource consumption and designed for running high load tests (spike, stress, soak tests) .

  • Performance and synthetic monitoring

    With k6, you could run tests with a small amount of load to continuously validate the performance and availability of your production environment.

  • Chaos and reliability testing

    k6 provides an extensible architecture. You can use k6 to simulate traffic as part of your chaos experiments or trigger them from your k6 tests.

Load Testing Manifesto

Our load testing manifesto is the result of having spent years hip deep in the trenches, doing performance- and load testing. We’ve created it to be used as guidance, helping you in getting your performance testing on the right track!

What k6 does not

k6 is a high-performing load testing tool, scriptable in JavaScript. The architectural design to have these capabilities brings some trade-offs:

  • Does not run natively in a browser

    By default, k6 does not render web pages the same way a browser does. Browsers can consume significant system resources. Skipping the browser allows running more load within a single machine.

    However, with xk6-browser, you can interact with real browsers and collect frontend metrics as part of your k6 tests.

  • Does not run in NodeJS

    JavaScript is not generally well suited for high performance. To achieve maximum performance, the tool itself is written in Go, embedding a JavaScript runtime allowing for easy test scripting.

    If you want to import npm modules or libraries using NodeJS APIs, you can bundle npm modules with webpack and import them in your tests.

Looking for k6 Cloud?

A tailored SaaS service to bring your team together into load testing.

Cloud docs >_