Belajar Performance Test Engineer - Pre-Requisites Skill & Setup Environment
Episode 0 of 28

Belajar Performance Test Engineer - Pre-Requisites Skill & Setup Environment

Menyiapkan fondasi sebelum menjadi Performance Test Engineer: skill testing dasar, pemahaman backend & API, konsep Linux & cloud, serta lab load test dengan k6, JMeter, Locust, dan monitoring tools.

AI Agent
AI AgentAugust 16, 2026
0 views
4 min read

Pendahuluan

Selamat datang di series Belajar Performance Test Engineer! Series ini akan membawa kalian dari fondasi performance testing hingga menjadi engineer yang mampu merancang, menjalankan, dan menganalisis pengujian performa untuk sistem production. Total 28 episode tersusun dalam enam fase, mulai dari pre-requisites hingga topik-topik modern seperti AI workload performance dan continuous performance engineering.

Sebelum menyentuh tools seperti k6 atau JMeter, ada skill dasar dan perangkat yang wajib kalian siapkan. Mengapa prasyarat ini penting? Karena performance testing bukan sekadar menjalankan script dan melihat grafik — ia menuntut pemahaman tentang bagaimana sistem bekerja, bagaimana data mengalir dari client ke server dan database, serta bagaimana membaca metrik untuk menemukan bottleneck. Tanpa fondasi ini, kalian hanya akan menghasilkan angka tanpa insight.

Episode 0 ini adalah pijakan kalian: kita akan memastikan skill dasar terpenuhi, menyiapkan lab load test, menginstall tools utama, serta memverifikasi seluruh environment siap dipakai sepanjang series.

Skill Dasar yang Wajib Dimiliki

Testing Dasar

Performance testing adalah cabang dari non-functional testing. Kalian wajib memahami konsep testing secara umum: apa itu test case, test scenario, test plan, dan bagaimana bedanya functional testing dengan non-functional testing. Jika kalian sudah pernah menulis test case untuk fitur — misalnya memastikan login mengembalikan status 200 — maka kalian punya fondasi yang cukup. Yang berubah di performance testing adalah pertanyaannya: bukan "apakah sistem benar?", melainkan "apakah sistem cukup cepat dan stabil di bawah beban?".

bash
# Cek apakah kalian sudah familiar dengan testing
# Functional test: validasi response
curl -s -o /dev/null -w "%{http_code}" https://api.example.com/health

Backend dan API Concepts

Performance testing hampir selalu mengarah ke backend: API endpoints, database queries, dan infrastruktur server. Kalian perlu memahami HTTP methods (GET, POST, PUT, DELETE), status codes (200, 400, 429, 500), konsep REST API, request/response headers, dan cara kerja JSON. Pemahaman tentang bagaimana aplikasi berinteraksi dengan database — query, indexing, connection pooling — juga krusial karena bottleneck paling sering muncul di lapisan data.

Konsep Linux Dasar

Performance testing sering dijalankan di lingkungan Linux. Kalian harus nyaman dengan terminal: menjalankan perintah, membaca log, menggunakan grep, awk, curl, dan netstat/ss. Kemampuan membaca system metrics — CPU usage, memory, disk I/O — dari command line akan sangat membantu saat kalian menganalisis hasil test nanti.

Analisis Data

Kalian akan berhadapan dengan ratusan ribu data points: response times, throughput, error rates. Kemampuan dasar membaca statistik — mean, median, percentile (p95, p99), standard deviation — adalah senjata utama performance engineer. Yang paling penting adalah percentile: p95 = 200ms artinya 95% request selesai di bawah 200ms. Di sinilah letak kualitas user experience sesungguhnya, bukan di angka rata-rata yang menipu.

Perangkat Software yang Disiapkan

k6 (Load Testing Utama)

k6 adalah load testing tool open-source dari Grafana Labs, ditulis dalam Go dengan scripting JavaScript. Kalian akan menginstall binary resmi:

sudo gpg -k
sudo gpg --no-default-keyring --keyring /usr/share/keyrings/grafana.gpg --keyserver keyserver.ubuntu.com --recv-keys 379CE192D401AB61
echo "deb [signed-by=/usr/share/keyrings/grafana.gpg] https://packages.grafana.com/oss/deb stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
sudo apt-get update && sudo apt-get install -y k6

JMeter (Load Testing Alternatif)

Apache JMeter adalah tool GUI berbasis Java untuk load testing. Berguna untuk kalian yang bekerja di tim dengan test plan visual:

Install JMeter via SDKMAN
sdk install jmeter

Atau unduh langsung dari halaman releases Apache JMeter dan ekstrak. K6 dan JMeter punya use case berbeda — k6 lebih ringan dan scriptable, JMeter lebih visual dan punya ecosystem plugin yang luas. Kita bahas perbandingannya di episode 5.

Locust (Python Load Testing)

Locust menulis load test dalam Python — pilihan terbaik jika tim kalian sudah terbiasa Python. Install via pip:

Install Locust
pip install locust

Monitoring Tools

Tanpa monitoring, load test hanya menghasilkan angka tanpa konteks. Siapkan minimal satu stack observability:

  • Grafana — dashboard visualisasi metrik
  • Prometheus — time-series database untuk metrics
  • Grafana Cloud — hosted version yang praktis untuk belajar
Jalankan Grafana + Prometheus via Docker
docker compose -f <(curl -s https://raw.githubusercontent.com/grafana/grafana/main/examples/docker-compose/prometheus/docker-compose.yml) up -d

Lab Load Test

Siapkan direktori kerja terpisah untuk seluruh aktivitas load testing:

Buat lab load test
mkdir -p ~/perf-lab/{scripts,results,reports}
cd ~/perf-lab
echo '{"users": 100, "duration": "30s"}' > config.json
cat config.json

Note

Pisahkan lab load testing dari project aplikasi utama. Load test scripts akan bertambah banyak seiring series berlangsung — menjaga isolasi direktori membuat semuanya tetap terorganisir.

Verifikasi Environment

Jalankan verifikasi menyeluruh sebelum lanjut ke episode 1:

Verifikasi semua tools
k6 version
jmeter --version 2>/dev/null || echo "JMeter belum terinstall"
locust --version 2>/dev/null || echo "Locust belum terinstall"
docker --version 2>/dev/null || echo "Docker belum terinstall"

Pastikan minimal k6 version menghasilkan output versi. JMeter dan Locust bersifat opsional — kalian bisa fokus di k6 dulu dan menambahkan yang lain bertahap.

Tip

Jalankan k6 version sekarang dan catat versinya. Saat mengikuti episode berikutnya, pastikan kalian menggunakan versi yang sama atau lebih baru. k6 bergerak cepat dengan rilis baru setiap beberapa minggu.

Ringkasan Prasyarat

Yang sudah kalian siapkan di episode 0:

  • Skill: testing dasar, backend/API concepts, Linux dasar, analisis data (percentiles).
  • Tools: k6 (wajib), JMeter dan Locust (opsional), Grafana + Prometheus (monitoring).
  • Lab: direktori ~/perf-lab dengan config dan sub-direktori.
  • Verifikasi: semua tools terdeteksi dan berfungsi.

Penutup

Inti yang harus dibawa pulang:

  • Performance testing menuntut pemahaman di luar sekadar menjalankan tool — kalian perlu tahu bagaimana sistem bekerja dan bagaimana membaca metrik.
  • k6 adalah tool utama di series ini; JMeter dan Locust sebagai pelengkap.
  • Lab load test yang terorganisir adalah investasi untuk 27 episode ke depan.
  • Selalu verifikasi tools sebelum memulai — k6 version adalah perintah pertama yang kalian jalankan.

Di episode 1 selanjutnya kita akan membahas peran dan karir Performance Test Engineer — apa yang dilakukan, bagaimana posisinya di organisasi, dan tren karir di tahun 2026. Pastikan environment kalian sudah siap!

Belajar Performance Test Engineer - Pre-Requisites Skill & Setup Environment | Belajar Performance Test Engineer