Welcome to the k6 documentation
This documentation will help you go from a total beginner to a seasoned k6 expert!
🏎💨 Running k6
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.
k6 is packed with features, which you can learn all about in the documentation. Key features include:
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:
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.
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 ManifestoOur 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
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
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.