k6, geliştiriciler ve QA mühendisleri için tasarlanmış modern, açık kaynaklı bir yük testi ve performans testi aracıdır. JavaScript ile test senaryoları yazılır ve yüksek performanslı Go motoru ile binlerce eş zamanlı sanal kullanıcı simüle edilir. Windows, macOS ve Linux üzerinde çalışır; AGPL lisansıyla ücretsizdir; bulut tabanlı çalıştırma için Grafana Cloud k6 ücretli katmanları mevcuttur.
Temel Özellikler
- JavaScript (ES6+) ile test senaryo yazımı
- HTTP/1.1, HTTP/2, WebSocket ve gRPC yük testleri
- Grafana ve InfluxDB ile gerçek zamanlı metrik görselleştirme
- Eşik (threshold) ve hata oranı kontrolü ile otomatik başarı/başarısızlık kararı
- CI/CD pipeline entegrasyonu (GitHub Actions, GitLab, Jenkins)
- Ramping VUs (kademeli yük artışı) ve stage desteği
- Özelleştirilebilir metrikler ve etiketleme
- Grafana Cloud’a bulut tabanlı dağıtık yük testi
k6 ile basit HTTP yük testi nasıl yazılır?
Temel bir k6 testi için JavaScript dosyası oluşturun; export default function() içinde http.get() ile hedef URL’yi çağırın ve check() ile yanıt doğrulama ekleyin. Test parametrelerini export const options nesnesiyle belirtin: kaç sanal kullanıcı, ne kadar süre ve hangi eşik değerleri kullanılacağını ayarlayın. Testi çalıştırmak için terminalde k6 run test.js komutunu kullanın. Test tamamlandığında k6, istek sayısı, hata oranı, ortalama yanıt süresi ve p95/p99 yüzdelik değerleri gibi özet metrikleri ekrana yazdırır.
k6 CI/CD pipeline’ına nasıl entegre edilir?
k6’yı GitHub Actions’a entegre etmek için workflow YAML dosyanıza k6 kurulum ve çalıştırma adımları ekleyin: resmi k6 GitHub Action’ı kullanarak test scripti çalıştırın. Eşik değerlerini aştığında k6 sıfır olmayan çıkış kodu döndürür, bu da pipeline’ın başarısız sayılmasını sağlar. Jenkins’te k6 binary’sini yükleyin ve pipeline aşaması olarak k6 komutunu çalıştırın. Test sonuçlarını Grafana Cloud’a göndererek geçmiş test verileriyle karşılaştırabilir ve regresyonları tespit edebilirsiniz. Docker imajı kullanımı kurulum adımını basitleştirir.
k6 alternatifleri
Yük testi ve performans testi araçlarına alternatifler: SoapUI, Playwright, Cypress.
- JavaScript ile kolay test yazımı
- Yüksek performanslı Go engine
- Grafana entegrasyonu
- CI/CD desteği
- Açık kaynak
- GUI yok, CLI tabanlı
- Türkçe dil desteği yok
- Öğrenme eğrisi var
İşletim Sistemi: Windows 10/11, macOS, Linux
RAM: 256 MB
Disk: 100 MB