# Awesome k6

A collection of resources by the community, on (testing with) k6.

## Contents

- Articles
- Videos
- Examples/Templates
- Tools
- CI/CD
- Extensions
- Related

## 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.

- Distributed load testing with k6 - Thijs Feryn presents in ConFoo Montreal 2023.

- Load Testing with k6 - Brief overview of features and capabilities of k6.

- Integrating k6 with Apache Kafka - Sending output from k6 to Apache Kafka.

- 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.

- Load Testing. k6 + TypeScript + Azure DevOps

- 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 Cloud Summit 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 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.

## 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

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.