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 systems and robust applications.

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, and DevOps. They use k6 for testing the performance of APIs, microservices, and websites. Common k6 use cases are:

  • Load Testing

    k6 is optimized for minimal consumption of system resources. It’s a high-performance tool designed for running tests with high load (spike, stress, soak tests) in pre-production and QA environments.

  • Performance monitoring

    k6 provides great primitives for performance testing automation. You could run tests with a small amount of load to continuously monitor the performance of your production environment.

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 in a browser

    As a result, k6 does not render webpages the same way a browser does. This also means that libraries relying on browser APIs won't be compatible. By skipping the browser, the consumption of system resources are dramatically decreased, making the tool significantly more performant.

    k6 can still be used for load testing websites. You can even run a test from a recorded user session.

  • 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 >_