Belajar load testing dan performance testing modern dengan k6 dari dasar hingga siap produksi: pre-requisites & setup environment, sejarah k6 dari Load Impact hingga Grafana Labs, konsep VU & lifecycle test, menulis script k6 pertama, HTTP API load testing, dynamic data & cookies, modularisasi script, konfigurasi load test & environment variables, data-driven testing, skenario kompleks multi-endpoint, jaringan & TLS & WebSocket, otentikasi OAuth2 & JWT, keamanan testing, analisis performansi & optimasi, observability dengan Grafana/InfluxDB/Prometheus, resilience & failure analysis, k6 di CI/CD, distributed & cloud load testing, hingga production readiness dengan xk6 extensions dengan total 19 episode.
Menyiapkan tiga fondasi sebelum belajar k6: konsep load testing dan performance testing, protokol modern seperti HTTP, WebSocket, dan GraphQL, serta dasar JavaScript ES6. Lalu memasang binary k6 di Linux, macOS, atau Windows, lengkap dengan verifikasi instalasi.

Menelusuri asal-usul k6 dari proyek Load Impact tahun 2017 hingga menjadi tool andalan Grafana Labs, lalu membandingkannya secara jujur dengan JMeter, Gatling, dan Locust untuk memahami kapan dan mengapa k6 adalah pilihan yang tepat.

Membongkar cara kerja k6 di balik layar: engine Go dengan goja, model eksekusi virtual users dan iterasi, lifecycle test dari init hingga teardown, serta komponen inti seperti modul http, checks, thresholds, metrics, dan opsi eksekusi seperti stages.

Menulis skrip k6 pertama secara utuh: struktur dasar dengan import, options, dan export default function, menjalankan request HTTP GET dan POST, memvalidasi respons dengan check, memecah skenario dengan group, lalu membaca output k6 run di terminal.

Menerapkan load testing pada API HTTP sungguhan: header autentikasi dan bearer token, cookies, parameterisasi request dengan data dinamis dan payload JSON, serta gabungan assertion fungsional dan performa dengan check() dan r.json().

Mengekstrak nilai dinamis dari respons seperti token akses dan CSRF token, mengelola cookie jar dan state sesi per virtual user, serta memakai http.batch untuk request paralel yang efisien.

Memecah skrip load test menjadi beberapa file dengan ECMAScript modules, membangun fungsi helper untuk HTTP request dan autentikasi, serta merancang fungsi skenario yang bisa dipakai ulang agar test tetap terawat saat tumbuh besar.

Merancang konfigurasi load test yang matang: stages ramping, threshold lanjutan, area ext, dan environment variables lewat __ENV agar skrip yang sama berjalan berbeda untuk lingkungan local, staging, dan menyerupai produksi.

Menyuplai data uji dari CSV dan JSON dengan SharedArray dan papaparse, merandomisasi input lewat randomItem, mengorelasikan data antar request, dan menjaga kebersihan data agar load test selalu bisa diulang.

Menyusun campuran workload average, spike, dan soak dalam satu skrip dengan scenarios executor, memisahkan trafik per endpoint lewat group, dan mengukur hal spesifik dengan custom metrics Trend dan Rate dari k6/metrics.
