Awesome
<div align="center"> <a href="https://k6.io/"> <img src="assets/bert.png" alt="k6 mascot" width="300px"> </a> <!--lint disable awesome-heading-->Awesome k6
<!--lint enable awesome-heading-->A collection of resources by the community, on (testing with) <a href="https://k6.io/">k6</a>.
<!-- lint disable double-link -->Contributions are welcome! Read the contribution guidelines first.
<!-- lint enable double-link --> </div>Contents
Articles
-
k6 Learn - Explanation of the principles of load testing and practical examples for how to do it with k6.
-
k6 OSS workshop - A 2-3 hour k6 workshop with practical k6 examples using the QuickPizza demo app.
-
Beginner's guide to load testing with k6 - Introductory guide in several parts, helping you get started with k6.
-
Best practices organizing performance testing projects with k6 - Guidelines to scale your performance testing across multiple teams and projects.
- Part 2 - JavaScript tools, shared libraries, and TypeScript - Stting up your k6 performance testing suite with JavaScript tools, shared libraries, and TypeScript.
-
Distributed load testing with k6 - Thijs Feryn presents in ConFoo Montreal 2023.
-
Load Testing with k6 - Brief overview of features and capabilities of k6.
-
Test and visualize with InfluxDB, Grafana and K6 - Setting up load tests and visualizing them using grafana dashboards.
-
Open source load testing tool review 2020 - Detailed comparison of the most popular open source load testing tools.
-
Load Testing Your API with Swagger/OpenAPI and k6 - Generate k6 load test scripts from OpenAPI specifications.
-
Load Testing Your API with Postman - How to use Postman collections to load test your API.
-
Load Testing & Black Friday capacity planning - How Back Market prepared for Black Friday with k6 based load testing.
-
Load Testing SQL Databases with k6 - How to use the xk6-sql extension to test SQL databases directly.
-
Introducing TestRail in your K6 tests - Reporting k6 output to TestRail.
-
Beautiful Load Testing With K6 and Docker Compose - How to run load tests using the awesome combination of Docker Compose, K6, InfluxDB and Grafana.
-
Load Testing with Azure DevOps and k6 - How to setup Azure DevOps to perform automated load tests using k6, handleCallback, and JUnit.
-
K6 β Custom Slack Integration: Metrics are the Magic of Tests - How to send k6 output results to Slack using the handleSummary callback.
-
Load testing with k6 - Using k6 for load, soak, stress, spike and smoke testing.
-
How to write three times fewer lines of code when doing load testing - Building a k6 extension in Go to test Tarantool.
-
Performance testing with k6 - On API performance testing, with Open API and TypeScript.
-
k6 introduces browser automation and Prometheus support in k6 OSS - From the Grafana blog: feature announcements at ObservabilityCON 2021.
-
Testing shift left observability with the Grafana Stack, OpenTelemetry, and k6 - From the Grafana blog: a summary of Executive Director of Platform Engineering at JPMorgan Chase, Vinodh Ravi's talk at ObservabilityCON 2021.
-
Umbraco 9 - What a Performance! - Test the performance of Umbraco v9 on Azure against Umbraco v8 and comparing Windows vs Linux.
-
On maintaining a k6 codebase, Part 1 - Personal tips to maintain a challenging k6 load testing codebase.
-
Distributed Load Testing With K6 - Setting up distributed execution with k6-operator and Argo workflows.
-
Load testing with k6 and k8s - The Toucan DevOps team explains why they chose k6 as their load testing tool and how they deploy it on k8s.
-
CloudPosse's Load Testing Stack - Load testing stack using k6, Grafana and InfluxDB.
-
Real-time stress: AnyCable, k6, WebSockets, and Yabeda - Evil Martians adding "real-time stress" with k6 and WebSockets.
-
Scaling Confidently with the Load and Fault Team - Robinhood on load testing a Kubernetes system with k6.
-
Streamlining Performance Testing with K6 and ChatGPT - Monish Correia writes k6 tests using GitHub co-pilot.
Videos
- k6 YouTube Channel
- How to use k6 Cloud for load testing - A series of quick videos for getting started with k6 Cloud.
- Intro to load testing with k6 and Grafana (k6 data source plugin and Prometheus Remote Write)
- From Grafana ObservabilityCON: Intro to using k6 load testing with the Grafana observability stack
- From Grafana ObservabilityCON: Building performance tests into your CI pipeline with k6 and Grafana, w/ Matthew Churcher, QA Engineer at Vonage
- EveryoneCanContribute cafe: Load Performance Testing with k6
- Playlist - What others says about k6
- What is K6 & How to get started with k6 - Tutorial using k6 Extensions for Observability by "Is it Observable?"
- Website Performance + Load Testing with K6 (k6.io) in 5 MINUTES! - Introductory overview of k6, showing how to create a test from a HAR file, by the DevOps Directive.
- Performance Testing your web app with k6 - A walkthrough of the open-source load and performance regression testing tool, k6, and how to load test your APIs and websites, by Chris James.
- Application Load Testing with k6 - Daniel Knittl-Frank @TechTalk Days 2021, Intro to k6.
- Performance Testing From Zero to Hero with K6 & Azure - Jose Luis Latorre Millas at NDC Oslo 2021.
- AI-Powered K6 Testing: No Code, No Hassle, Just ChatGPT! π¦Ύπ - In this video, Karthik K.K. demonstrates how ChatGPT can create k6 tests without writing a single line of code.
Examples/Templates
- k6 examples - A list of common examples on the k6 documentation.
- k6 QuickPizza examples - Web application used for demos and workshops with multiple k6 examples.
- k6-template-es6 - Starter template using Webpack and Babel to enable ES6 features in k6 tests.
- k6-typescript-template - Starter template using Webpack bundler to write k6 tests in TypeScript.
- k6-rollup-example - Example using Rollup to bundle k6 tests.
- Jahmilli/k6-example - Starter template using Vite (Rollup) bundler to write k6 tests in TypeScript.
- tom-miseur/k6-templates - Opinionated starter templates for k6 projects.
- SwissLife-OSS/k6-multiscenario-template - Use K6 to implement a Multi Scenario template.
- agilob/multiscenario-tests - Running multiple scenarios at once.
- Im5tu/template-k6 - A K6 Performance Test Suite Template.
- mohsenny/k6-test-template - Load testing framework.
- kwidera/k6_framework - Another k6 framework example.
- Sahanipe/pet_store - Modularized scripts for the Swagger PetStore APIs.
- lreimer/continuous-k6k8s - Continuously run k6 tests in Kubernetes using cronjobs.
- luketn/docker-k6-grafana-influxdb - Demonstrates how to run load tests with containerised instances of K6, Grafana and InfluxDB.
Tools
- k6-to-junit - Tool for converting k6 output to JUnit XML for easy use with CIs.
- k6-reporter - Tool for converting k6 output to HTML reports.
- k6-html-reporter - Tool for generating k6 HTML reports.
- har-to-k6 - Tool for converting HAR recordings to k6 test scripts.
- postman-to-k6 - Tool for converting Postman collections to k6 test scripts.
- k6 generator - Tool for converting Swagger/OpenAPI specifications to k6 test scripts.
- jmeter-to-k6 - Tool for converting JMeter test cases to k6 test scripts.
- jslib.k6.io - Useful utility libs for k6 scripts.
- k6 for visual studio code - Marketplace Extension for running k6 directly from your IDE.
- k6 for IntelliJ - IntelliJ-based Plugin to run and debug [sic!] k6 tests locally or in the k6 Cloud from your IntelliJ IDE.
- k6 Testkube executor
- k6-junit - k6 JUnit summary exporter libray.
- k6-expect - k6 library that simplifies writing tests in a functional way by providing a jest-like syntax for expectations.
CI/CD
- k6 for AWS CodeBuild
- k6 for Azure Pipelines
- k6 for Bamboo
- k6 for Buddy
- k6 for CircleCI
- k6 for Flagger
- k6 for GitHub Actions
- k6 for GitLab
- k6 for Google Cloud Build
- k6 for Jenkins
- k6 for Keptn
- k6 for TeamCity
Extensions
- k6 Extensions
- GitHub Topic: xk6 - Explore k6 extensions tagged with the xk6 label.
- Extension Registry - Curated listing of k6 extensions.
Official
- xk6-client-tracing - Client for load testing distributed tracing backends.
- xk6-disruptor - Inject faults to test π£.
- xk6-exec - Run external commands.
- xk6-kubernetes - Interact with Kubernetes clusters.
- xk6-loki - Client for load testing Loki.
- xk6-notification - Create notifications.
- xk6-output-influxdb - Export results to InfluxDB v2.
- xk6-output-kafka - Export k6 results in real-time to Kafka.
- xk6-output-timescaledb - Export k6 results to TimescaleDB.
- xk6-client-prometheus-remote - Test Prometheus Remote Write performance.
- xk6-sql - Load-test SQL Servers (PostgreSQL, MySQL and SQLite3 for now).
- xk6-ssh - SSH.
Community
- xk6-cable - Test Action Cable and AnyCable functionality.
- xk6-coap - Interact with Constrained Application Protocol endpoints.
- xk6-dotenv - Load env vars from a .env file.
- xk6-ethereum - K6 extension for ethereum protocols.
- xk6-faker - Generate random fake data.
- xk6-file - Write files.
- xk6-g0 - Write k6 tests in golang.
- xk6-kafka - Load-test Apache Kafka. Includes support for Avro messages.
- xk6-kv - Share key-value data between VUs.
- xk6-mock - Mock HTTP(S) servers.
- xk6-mqtt - MQTT extension.
- xk6-nats - Provides NATS support for k6 tests.
- xk6-opentelemetry - Generate OpenTelemetry signals from within your test scripts.
- xk6-output-elasticsearch - Export results to Elasticsearch 8.x.
- xk6-output-prometheus-pushgateway - Export results to Prometheus pushgateway.
- xk6-output-statsd - Enables real-time output of test metrics to a StatsD service.
- xk6-output-timestream - Export results to AWS Timestream.
- xk6-playwright - Browser automation and end-to-end web testing using Playwright.
- xk6-prometheus - Prometheus HTTP exporter for k6.
- xk6-prompt - Support for input arguments via UI.
- xk6-sse - A k6 extension for Server-Sent Events (SSE).
- xk6-tcp - Send data to TCP port.
- xk6-top - Updating the current k6 metrics summaries on the terminal during the test run.
Related
- How They Load Test - A collection of resources on how companies around the world perform load testing.
- Load Testing Toolkit - A collection of open-source tools for debugging, benchmarking, load and stress testing your code or services.
- awesome-http-benchmark - A collection of HTTP benchmark tools, testing/debugging, & restAPI (RESTful).
Contributing
<!-- lint disable double-link -->Want to help in making this list better? Yay, that's awesome! Before you get started though, please have a look at our code of conduct and contribution guidelines.
<!-- lint enable double-link -->