Complete Course

Performance Testing with k6

Find the breaking point before your users do: write k6 scripts against a real API, set thresholds that fail a build, read p95 instead of averages, and turn load testing into a routine part of your pipeline.

~4 hours of content

View Lessons

Course Content

9 comprehensive lessons covering everything you need to know

Introduction

Introduction
Course Structure
Learn how the course is organized and make the most of the content.
Introduction
Prerequisites
Systems and knowledge required to complete the course, including how to install k6.
Introduction
Getting to know the application under test
Meet the Express API you will load test, its five endpoints, and the performance problems hiding in it.
Lesson
Lesson 1
Fork and clone the project
Fork, clone, install, start the API, explore it by hand, and run the smoke script once.

Your first load tests

Lesson
Lesson 2
Your first k6 script
Write a script with the default function, http.get(), and sleep(), run it, and read the summary metrics.
Lesson
Lesson 3
Checks and thresholds
Record what happened with check(), then fail the run with thresholds, and learn why only one of the two can break a build.
Lesson
Lesson 4
Virtual users, stages, and ramping
Shape your load with vus and duration, ramp through stages, and choose between VU-based and arrival-rate executors.

Testing like the real world

Lesson
Lesson 5
Load profiles: smoke, load, stress, spike, and soak
Run the same scenario under five different profiles and see why each one answers a different question.
Lesson
Lesson 6
Scripting real user flows
Use group(), parameterized test data, token correlation, and honest think time to model a real journey.
Lesson
Lesson 7
Reading the results
Why the average lies, how to read p95 against p99, and how to walk from a red threshold to the actual bottleneck.

Making it part of your workflow

Lesson
Lesson 8
Performance tests in continuous integration
Turn thresholds into a build gate, set a performance budget per endpoint, and keep the job from failing on noise.
Lesson
Lesson 9
Beyond HTTP
A tour of the k6 browser module and Core Web Vitals, and where frontend performance differs from API performance.

Bonus & Conclusion

Bonus
Bonus: choosing a performance testing tool
k6 versus JMeter, Gatling, and Locust, honestly, including where k6 is the wrong choice.
Conclusion
Congratulations!
You've completed the Performance Testing with k6 course!