337 lines
16 KiB
HTML
337 lines
16 KiB
HTML
<div data-align="center">
|
||
<p><a href="https://k6.io/">
|
||
<img src="assets/bert.png" alt="k6 mascot" width="300px"> </a></p>
|
||
<!--lint disable awesome-heading-->
|
||
<h1 id="awesome-k6-awesome">Awesome k6 <a href="https://awesome.re"><img
|
||
src="https://awesome.re/badge.svg" alt="Awesome" /></a></h1>
|
||
<!--lint enable awesome-heading-->
|
||
<p>A collection of resources by the community, on (testing with)
|
||
<a href="https://k6.io/">k6</a>.</p>
|
||
</div>
|
||
<h2 id="contents">Contents</h2>
|
||
<ul>
|
||
<li><a href="#articles">Articles</a></li>
|
||
<li><a href="#videos">Videos</a></li>
|
||
<li><a href="#examplestemplates">Examples/Templates</a></li>
|
||
<li><a href="#tools">Tools</a></li>
|
||
<li><a href="#cicd">CI/CD</a></li>
|
||
<li><a href="#extensions">Extensions</a></li>
|
||
<li><a href="#related">Related</a></li>
|
||
</ul>
|
||
<h2 id="articles">Articles</h2>
|
||
<ul>
|
||
<li><p><a href="https://github.com/grafana/k6-learn">k6 Learn</a> -
|
||
Explanation of the principles of load testing and practical examples for
|
||
how to do it with k6.</p></li>
|
||
<li><p><a href="https://github.com/grafana/k6-oss-workshop">k6 OSS
|
||
workshop</a> - A 2-3 hour k6 workshop with practical k6 examples using
|
||
the QuickPizza demo app.</p></li>
|
||
<li><p><a href="https://link.medium.com/npI9sjDyyjb">Beginner’s guide to
|
||
load testing with k6</a> - Introductory guide in several parts, helping
|
||
you get started with k6.</p></li>
|
||
<li><p><a
|
||
href="https://feryn.eu/speaking/distributed-load-testing-k6-confoo23/">Distributed
|
||
load testing with k6</a> - Thijs Feryn presents in ConFoo Montreal
|
||
2023.</p></li>
|
||
<li><p><a
|
||
href="https://medium.com/@dan.ryan.emmons/qa-load-testing-with-k6-io-c11c2afced04">Load
|
||
Testing with k6</a> - Brief overview of features and capabilities of
|
||
k6.</p></li>
|
||
<li><p><a
|
||
href="https://k6.io/blog/integrating-k6-with-apache-kafka">Integrating
|
||
k6 with Apache Kafka</a> - Sending output from k6 to Apache
|
||
Kafka.</p></li>
|
||
<li><p><a
|
||
href="https://medium.com/@naoko.reeves/load-test-with-k6-and-visualize-with-influxdb-and-grafana-c6097a6f6d0a">Test
|
||
and visualize with InfluxDB, Grafana and K6</a> - Setting up load tests
|
||
and visualizing them using grafana dashboards.</p></li>
|
||
<li><p><a
|
||
href="https://k6.io/blog/comparing-best-open-source-load-testing-tools">Open
|
||
source load testing tool review 2020</a> - Detailed comparison of the
|
||
most popular open source load testing tools.</p></li>
|
||
<li><p><a
|
||
href="https://k6.io/blog/load-testing-your-api-with-swagger-openapi-and-k6">Load
|
||
Testing Your API with Swagger/OpenAPI and k6</a> - Generate k6 load test
|
||
scripts from OpenAPI specifications.</p></li>
|
||
<li><p><a
|
||
href="https://k6.io/blog/load-testing-with-postman-collections/">Load
|
||
Testing Your API with Postman</a> - How to use Postman collections to
|
||
load test your API.</p></li>
|
||
<li><p><a
|
||
href="https://medium.com/back-market-engineering/how-back-market-sres-prepared-for-black-friday-5f017f343408">Load
|
||
Testing & Black Friday capacity planning</a> - How Back Market
|
||
prepared for Black Friday with k6 based load testing.</p></li>
|
||
<li><p><a
|
||
href="https://k6.io/blog/load-testing-sql-databases-with-k6/">Load
|
||
Testing SQL Databases with k6</a> - How to use the xk6-sql extension to
|
||
test SQL databases directly.</p></li>
|
||
<li><p><a
|
||
href="https://dev.to/kwidera/introducing-testrail-in-you-k6-tests-eck">Introducing
|
||
TestRail in your K6 tests</a> - Reporting k6 output to
|
||
TestRail.</p></li>
|
||
<li><p><a
|
||
href="https://medium.com/swlh/beautiful-load-testing-with-k6-and-docker-compose-4454edb3a2e3">Beautiful
|
||
Load Testing With K6 and Docker Compose</a> - How to run load tests
|
||
using the awesome combination of Docker Compose, K6, InfluxDB and
|
||
Grafana.</p></li>
|
||
<li><p><a
|
||
href="https://medium.com/microsoftazure/load-testing-with-azure-devops-and-k6-839be039b68a">Load
|
||
Testing with Azure DevOps and k6</a> - How to setup Azure DevOps to
|
||
perform automated load tests using k6, handleCallback, and
|
||
JUnit.</p></li>
|
||
<li><p><a
|
||
href="https://medium.com/geekculture/k6-custom-slack-integration-metrics-are-the-magic-of-tests-527aaf613595">K6
|
||
— Custom Slack Integration: Metrics are the Magic of Tests</a> - How to
|
||
send k6 output results to Slack using the handleSummary
|
||
callback.</p></li>
|
||
<li><p><a
|
||
href="https://levelup.gitconnected.com/load-testing-with-k6-48488c7946bb">Load
|
||
testing with k6</a> - Using k6 for load, soak, stress, spike and smoke
|
||
testing.</p></li>
|
||
<li><p><a
|
||
href="https://dev.to/tarantool/how-to-write-three-times-fewer-lines-of-code-when-doing-load-testing-9lb">How
|
||
to write three times fewer lines of code when doing load testing</a> -
|
||
Building a k6 extension in Go to test Tarantool.</p></li>
|
||
<li><p><a
|
||
href="https://alex-klaus.com/load-test-k6-typescript-azure/">Load
|
||
Testing. k6 + TypeScript + Azure DevOps</a></p></li>
|
||
<li><p><a
|
||
href="https://blog.shanelee.name/2021/12/15/performance-testing-with-k6/">Performance
|
||
testing with k6</a> - On API performance testing, with Open API and
|
||
TypeScript.</p></li>
|
||
<li><p><a
|
||
href="https://grafana.com/blog/2021/11/24/k6-introduces-browser-automation-and-prometheus-support-in-k6-oss/">k6
|
||
introduces browser automation and Prometheus support in k6 OSS</a> -
|
||
From the Grafana blog: feature announcements at ObservabilityCON
|
||
2021.</p></li>
|
||
<li><p><a
|
||
href="https://grafana.com/blog/2021/12/06/testing-shift-left-observability-with-the-grafana-stack-opentelemetry-and-k6/">Testing
|
||
shift left observability with the Grafana Stack, OpenTelemetry, and
|
||
k6</a> - From the Grafana blog: a summary of Executive Director of
|
||
Platform Engineering at JPMorgan Chase, Vinodh Ravi’s talk at
|
||
ObservabilityCON 2021.</p></li>
|
||
<li><p><a
|
||
href="https://moriyama.co.uk/about-us/news/blog-umbraco-9-what-a-performance/">Umbraco
|
||
9 - What a Performance!</a> - Test the performance of Umbraco v9 on
|
||
Azure against Umbraco v8 and comparing Windows vs Linux.</p></li>
|
||
<li><p><a href="https://filfreire.com/posts/k6_tricks_ep1">On
|
||
maintaining a k6 codebase, Part 1</a> - Personal tips to maintain a
|
||
challenging k6 load testing codebase.</p></li>
|
||
<li><p><a
|
||
href="https://engineering.empathy.co/distributed-load-testing-with-k6/">Distributed
|
||
Load Testing With K6</a> - Setting up distributed execution with
|
||
k6-operator and Argo workflows.</p></li>
|
||
<li><p><a
|
||
href="https://www.toucantoco.com/en/tech-blog/tech-blog/load-testing-with-k6-and-k8s">Load
|
||
testing with k6 and k8s</a> - The Toucan DevOps team explains why they
|
||
chose k6 as their load testing tool and how they deploy it on
|
||
k8s.</p></li>
|
||
<li><p><a href="https://github.com/cloudposse/load-testing">CloudPosse’s
|
||
Load Testing Stack</a> - Load testing stack using k6, Grafana and
|
||
InfluxDB.</p></li>
|
||
<li><p><a
|
||
href="https://evilmartians.com/chronicles/real-time-stress-anycable-k6-websockets-and-yabeda">Real-time
|
||
stress: AnyCable, k6, WebSockets, and Yabeda</a> - Evil Martians adding
|
||
“real-time stress” with k6 and WebSockets.</p></li>
|
||
<li><p><a
|
||
href="https://robinhood.engineering/scaling-confidently-with-the-load-and-fault-team-122978333d9">Scaling
|
||
Confidently with the Load and Fault Team</a> - Robinhood on load testing
|
||
a Kubernetes system with k6.</p></li>
|
||
<li><p><a
|
||
href="https://medium.com/@monish.correia/streamlining-performance-testing-with-k6-and-chatgpt-206c6c7db82b">Streamlining
|
||
Performance Testing with K6 and ChatGPT</a> - Monish Correia writes k6
|
||
tests using GitHub co-pilot.</p></li>
|
||
</ul>
|
||
<h2 id="videos">Videos</h2>
|
||
<ul>
|
||
<li><a href="https://www.youtube.com/c/k6test">k6 YouTube
|
||
Channel</a></li>
|
||
<li><a
|
||
href="https://www.youtube.com/watch?v=ncxCIuo5tUU&list=PLJdv3RhAQXNGkRCp7Q0k77n5jif4qjz2o">How
|
||
to use k6 Cloud for load testing</a> - A series of quick videos for
|
||
getting started with k6 Cloud.</li>
|
||
<li><a href="https://www.youtube.com/watch?v=tFsIgbqXbxM">Intro to load
|
||
testing with k6 and Grafana (k6 data source plugin and Prometheus Remote
|
||
Write)</a></li>
|
||
<li><a
|
||
href="https://grafana.com/go/observabilitycon/2021/k6-load-testing/">From
|
||
Grafana ObservabilityCON: Intro to using k6 load testing with the
|
||
Grafana observability stack</a></li>
|
||
<li><a
|
||
href="https://grafana.com/go/observabilitycon/2021/performance-testing-vonage/">From
|
||
Grafana ObservabilityCON: Building performance tests into your CI
|
||
pipeline with k6 and Grafana, w/ Matthew Churcher, QA Engineer at
|
||
Vonage</a></li>
|
||
<li><a href="https://youtu.be/_ty40gSaaw8">EveryoneCanContribute cafe:
|
||
Load Performance Testing with k6</a></li>
|
||
<li><a
|
||
href="https://www.youtube.com/playlist?list=PLJdv3RhAQXNExTjuYN9ukawFHB7ucuejp">Playlist
|
||
- What others says about k6</a>
|
||
<ul>
|
||
<li><a href="https://www.youtube.com/watch?v=ZAq87eZ1w2U">What is K6
|
||
& How to get started with k6</a> - Tutorial using k6 Extensions for
|
||
Observability by “Is it Observable?”</li>
|
||
<li><a href="https://www.youtube.com/watch?v=brasMBAezJY">Website
|
||
Performance + Load Testing with K6 (k6.io) in 5 MINUTES!</a> -
|
||
Introductory overview of k6, showing how to create a test from a HAR
|
||
file, by the DevOps Directive.</li>
|
||
<li><a href="https://www.youtube.com/watch?v=Hu1K2ZGJ_K4">Performance
|
||
Testing your web app with k6</a> - 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.</li>
|
||
<li><a href="https://www.youtube.com/watch?v=iQmItkazLOk">Application
|
||
Load Testing with k6</a> - Daniel Knittl-Frank <span class="citation"
|
||
data-cites="TechTalk">@TechTalk</span> Days 2021, Intro to k6.</li>
|
||
<li><a href="https://www.youtube.com/watch?v=5G6zYLX9qvM">Performance
|
||
testing: from zero to hero with k6 & Azure</a> - Jose Luis Latorre
|
||
Millas at Cloud Summit 2021.</li>
|
||
<li><a href="https://www.youtube.com/watch?v=RYyPduBqGM4">AI-Powered K6
|
||
Testing: No Code, No Hassle, Just ChatGPT! 🦾🚀</a> - In this video,
|
||
Karthik K.K. demonstrates how ChatGPT can create k6 tests without
|
||
writing a single line of code.</li>
|
||
</ul></li>
|
||
</ul>
|
||
<h2 id="examplestemplates">Examples/Templates</h2>
|
||
<ul>
|
||
<li><a href="https://k6.io/docs/examples/">k6 examples</a> - A list of
|
||
common examples on the k6 documentation.</li>
|
||
<li><a href="https://github.com/grafana/quickpizza">k6 QuickPizza
|
||
examples</a> - Web application used for demos and workshops with
|
||
multiple k6 examples.</li>
|
||
<li><a
|
||
href="https://github.com/grafana/k6-template-es6">k6-template-es6</a> -
|
||
Starter template using Webpack and Babel to enable ES6 features in k6
|
||
tests.</li>
|
||
<li><a
|
||
href="https://github.com/grafana/k6-template-typescript">k6-typescript-template</a>
|
||
- Starter template using Webpack bundler to write k6 tests in
|
||
TypeScript.</li>
|
||
<li><a
|
||
href="https://github.com/grafana/k6-rollup-example">k6-rollup-example</a>
|
||
- Example using Rollup to bundle k6 tests.</li>
|
||
<li><a
|
||
href="https://github.com/Jahmilli/k6-example">Jahmilli/k6-example</a> -
|
||
Starter template using Vite (Rollup) bundler to write k6 tests in
|
||
TypeScript.</li>
|
||
<li><a
|
||
href="https://github.com/tom-miseur/k6-templates/">tom-miseur/k6-templates</a>
|
||
- Opinionated starter templates for k6 projects.</li>
|
||
<li><a
|
||
href="https://github.com/SwissLife-OSS/K6-MultiScenario-template">SwissLife-OSS/k6-multiscenario-template</a>
|
||
- Use K6 to implement a Multi Scenario template.</li>
|
||
<li><a
|
||
href="https://b.agilob.net/programming/k6/multiscenario-tests/">agilob/multiscenario-tests</a>
|
||
- Running multiple scenarios at once.</li>
|
||
<li><a href="https://github.com/Im5tu/template-k6">Im5tu/template-k6</a>
|
||
- A K6 Performance Test Suite Template.</li>
|
||
<li><a
|
||
href="https://github.com/mohsenny/k6-test-template">mohsenny/k6-test-template</a>
|
||
- Load testing framework.</li>
|
||
<li><a
|
||
href="https://github.com/kwidera/k6_framework">kwidera/k6_framework</a>
|
||
- Another k6 framework example.</li>
|
||
<li><a
|
||
href="https://github.com/Sahanipe/pet_store">Sahanipe/pet_store</a> -
|
||
Modularized scripts for the Swagger PetStore APIs.</li>
|
||
<li><a
|
||
href="https://github.com/lreimer/continuous-k6k8s">lreimer/continuous-k6k8s</a>
|
||
- Continuously run k6 tests in Kubernetes using cronjobs.</li>
|
||
<li><a
|
||
href="https://github.com/luketn/docker-k6-grafana-influxdb">luketn/docker-k6-grafana-influxdb</a>
|
||
- Demonstrates how to run load tests with containerised instances of K6,
|
||
Grafana and InfluxDB.</li>
|
||
</ul>
|
||
<h2 id="tools">Tools</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/Mattihew/k6-to-junit">k6-to-junit</a> -
|
||
Tool for converting k6 output to JUnit XML for easy use with CIs.</li>
|
||
<li><a href="https://github.com/benc-uk/k6-reporter">k6-reporter</a> -
|
||
Tool for converting k6 output to HTML reports.</li>
|
||
<li><a
|
||
href="https://github.com/szboynono/k6-html-reporter">k6-html-reporter</a>
|
||
- Tool for generating k6 HTML reports.</li>
|
||
<li><a href="https://github.com/grafana/har-to-k6">har-to-k6</a> - Tool
|
||
for converting HAR recordings to k6 test scripts.</li>
|
||
<li><a href="https://github.com/grafana/postman-to-k6">postman-to-k6</a>
|
||
- Tool for converting Postman collections to k6 test scripts.</li>
|
||
<li><a href="https://github.com/OpenAPITools/openapi-generator">k6
|
||
generator</a> - Tool for converting Swagger/OpenAPI specifications to k6
|
||
test scripts.</li>
|
||
<li><a href="https://github.com/grafana/jmeter-to-k6">jmeter-to-k6</a> -
|
||
Tool for converting JMeter test cases to k6 test scripts.</li>
|
||
<li><a href="https://jslib.k6.io/">jslib.k6.io</a> - Useful utility libs
|
||
for k6 scripts.</li>
|
||
<li><a
|
||
href="https://marketplace.visualstudio.com/items?itemName=k6.k6&ssr=false#overview">k6
|
||
for visual studio code</a> - Marketplace Extension for running k6
|
||
directly from your IDE.</li>
|
||
<li><a href="https://plugins.jetbrains.com/plugin/16141-k6">k6 for
|
||
IntelliJ</a> - IntelliJ-based Plugin to run k6 tests locally or in the
|
||
<a href="https://app.k6.io/">k6 Cloud</a> from your IntelliJ IDE.</li>
|
||
<li><a href="https://kubeshop.github.io/testkube/executor-k6/">k6
|
||
Testkube executor</a></li>
|
||
<li><a href="https://github.com/simbadltd/k6-junit">k6-junit</a> - k6
|
||
JUnit summary exporter libray.</li>
|
||
<li><a href="https://github.com/simbadltd/k6-expect">k6-expect</a> - k6
|
||
library that simplifies writing tests in a functional way by providing a
|
||
jest-like syntax for expectations.</li>
|
||
</ul>
|
||
<h2 id="cicd">CI/CD</h2>
|
||
<ul>
|
||
<li><a href="https://k6.io/blog/integrating-k6-with-aws-codebuild/">k6
|
||
for AWS CodeBuild</a></li>
|
||
<li><a
|
||
href="https://k6.io/blog/integrating-load-testing-with-azure-pipelines/">k6
|
||
for Azure Pipelines</a></li>
|
||
<li><a href="https://k6.io/blog/integrating-k6-with-bamboo/">k6 for
|
||
Bamboo</a></li>
|
||
<li><a href="https://k6.io/blog/integrating-k6-with-buddy-devops/">k6
|
||
for Buddy</a></li>
|
||
<li><a
|
||
href="https://k6.io/blog/integrating-load-testing-with-circleci/">k6 for
|
||
CircleCI</a></li>
|
||
<li><a
|
||
href="https://grafana.com/blog/2022/04/28/deployment-time-testing-with-grafana-k6-and-flagger/">k6
|
||
for Flagger</a></li>
|
||
<li><a href="https://k6.io/blog/load-testing-using-github-actions/">k6
|
||
for GitHub Actions</a></li>
|
||
<li><a
|
||
href="https://k6.io/blog/integrating-load-testing-with-gitlab/">k6 for
|
||
GitLab</a></li>
|
||
<li><a
|
||
href="https://k6.io/blog/integrating-k6-with-google-cloud-build/">k6 for
|
||
Google Cloud Build</a></li>
|
||
<li><a
|
||
href="https://k6.io/blog/integrating-load-testing-with-jenkins/">k6 for
|
||
Jenkins</a></li>
|
||
<li><a
|
||
href="https://k6.io/blog/performance-testing-in-keptn-using-k6/">k6 for
|
||
Keptn</a></li>
|
||
<li><a href="https://k6.io/blog/load-testing-using-teamcity-and-k6/">k6
|
||
for TeamCity</a></li>
|
||
</ul>
|
||
<h2 id="extensions">Extensions</h2>
|
||
<ul>
|
||
<li><a href="https://k6.io/docs/extensions/">k6 Extensions</a></li>
|
||
<li><a href="https://github.com/topics/xk6">GitHub Topic: xk6</a> -
|
||
Explore k6 extensions tagged with the xk6 label.</li>
|
||
</ul>
|
||
<h2 id="related">Related</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/aliesbelik/how-they-load">How They Load
|
||
Test</a> - A collection of resources on how companies around the world
|
||
perform load testing.</li>
|
||
<li><a href="https://github.com/aliesbelik/load-testing-toolkit">Load
|
||
Testing Toolkit</a> - A collection of open-source tools for debugging,
|
||
benchmarking, load and stress testing your code or services.</li>
|
||
<li><a
|
||
href="https://github.com/denji/awesome-http-benchmark">awesome-http-benchmark</a>
|
||
- A collection of HTTP benchmark tools, testing/debugging, & restAPI
|
||
(RESTful).</li>
|
||
</ul>
|
||
<h2 id="contributing">Contributing</h2>
|
||
<p>Want to help in making this list better? Yay, that’s awesome! Before
|
||
you get started though, please have a look at our <a
|
||
href="code_of_conduct.md">code of conduct</a> and <a
|
||
href="contributing.md">contribution guidelines</a>.</p>
|