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. You can use it for running tests with a high load (spike, stress, endurance tests) in pre-production and QA environments.

  • Performance monitoring

    k6 provides great primitives for code modularization, performance thresholds, and automation. These features make it an excellent choice for performance monitoring. 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 website load testing. It even has a Session Recorder, enabling you to generate tests from a website 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 browserify or webpack and import them in your tests. Read more about npm Modules.

k6 Cloud

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

Cloud docs >_