Files
awesome-awesomeness/html/k6.html
2024-04-20 19:22:54 +02:00

337 lines
16 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<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">Beginners 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 &amp; 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 Ravis 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">CloudPosses
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&amp;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
&amp; 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 &amp; 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&amp;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, &amp; restAPI
(RESTful).</li>
</ul>
<h2 id="contributing">Contributing</h2>
<p>Want to help in making this list better? Yay, thats 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>