Grafana k6 haklı olarak güçlü bir kullanıcı kitlesi edindi. Go motoru ve JavaScript betikleme kullanan açık kaynaklı bir yük testi aracıdır (AGPL-3.0, yaklaşık 31 bin GitHub yıldızı) ve CI süreçlerine temiz biçimde entegre olur. VU sayısını artırma, dayanıklılık testleri, ani yük profilleri veya Grafana Cloud ile dağıtılmış trafik üretme hedefiniz varsa k6, mevcut en güçlü seçeneklerden biridir.
Ancak birçok ekip k6'yı yoğun yük üretmek için değil, API'lerin doğru çalıştığını CI içinde kontrol etmek için kullanır. Bu kullanımda maliyet yalnızca para değildir: her istek koddur, her doğrulama elle yazılmış bir check() çağrısıdır, hata ayıklama betiği düzenle–yeniden çalıştır–terminali incele döngüsüne dönüşür. Ayrıca koleksiyon, API dokümantasyonu, sahte sunucu veya JavaScript yazmayan ekip arkadaşları için doğrudan bir çalışma alanı sunmaz.
Doğrudan cevap şu: Asıl ihtiyacınız API fonksiyonel testi ise —örneğin bir uç noktanın doğru yanıt verip vermediğini, bir akışın çalışmaya devam edip etmediğini veya günlük yükte dayanıp dayanmadığını doğrulamak— Apidog güçlü bir k6 alternatifidir. Tasarım, hata ayıklama, test, taklit ve dokümantasyonu tek uygulamada birleştirir; CI için CLI sağlar ve 100 sanal kullanıcıya kadar yerleşik performans testi sunar. Yoğun ve dağıtılmış yük üretimi gerekiyorsa k6'yı kullanmaya devam edin.
k6 neleri doğru yapıyor?
Önce k6'nın neden benimsendiğini netleştirelim:
- Kod olarak testler: Betikler Git'te tutulur, gözden geçirilir ve API koduyla birlikte sürümlenir.
- Derin yük modellemesi: Senaryolar, yürütücüler, artan VU'lar, eşikler ve özel metrikler; varış oranı ve dayanıklılık profillerini hassas biçimde tanımlamanızı sağlar. Ayrıntılar için k6 yük testi eğitimine bakın.
-
CI'da tek ikili: Eşik tabanlı başarılı/başarısız sonucu ile
k6 run script.js, ardışık düzenler için basit bir entegrasyondur. - Büyük ölçekli bulut seçeneği: Grafana Cloud k6, 20'den fazla coğrafi konumdan dağıtılmış testler çalıştırabilir ve Enterprise kapsamında 1 milyon eşzamanlı sanal kullanıcıya kadar ölçeklenebilir.
Bu liste günlük gereksinimlerinizi doğrudan karşılıyorsa mevcut k6 kurulumunuzu koruyun.
k6 iş akışının zorlandığı noktalar
Sürtünme, k6 yalnızca yük üreticisi olmaktan çıkıp ekibin genel amaçlı API test aracı haline geldiğinde ortaya çıkar.
Keşif dahil her şey kod
k6 bir istek istemcisi değildir. URL yapıştırıp başlık değiştirip isteği göndermek yerine betik yazmanız, çalıştırmanız ve terminal çıktısını incelemeniz gerekir.
Başarısız bir uç noktayı hata ayıklamak için bu döngü yavaştır. Ayrıca yanıt gövdesini JavaScript ile incelemek istemeyen ekip üyelerini süreç dışında bırakır.
Fonksiyonel doğrulamalar elle yazılır
k6'daki check() işlevi şema doğrulaması değil, boolean kontrolleri sağlar:
import http from 'k6/http';
import { check } from 'k6';
export default function () {
const response = http.get('https://api.example.com/users/42');
check(response, {
'durum kodu 200': (r) => r.status === 200,
'kullanıcı kimliği doğru': (r) => r.json('id') === 42,
'e-posta alanı var': (r) => Boolean(r.json('email')),
});
}
Bir yanıtın API sözleşmesiyle eşleştiğini doğrulamak için bu mantığı her uç nokta için yazıp sürdürmeniz gerekir. API odaklı test araçları ise bu kontrollerin bir kısmını OpenAPI belirtiminden otomatik üretebilir.
Okunabilir sonuçlar ek altyapı gerektirir
OSS CLI, test sonu özetini terminale yazdırır. Trend grafikleri, çalışma geçmişi ve paylaşılabilir panolar için iki seçeneğiniz vardır:
- Grafana ve zaman serisi veritabanı yığınını kendiniz barındırmak
- Sanal kullanıcı saati üzerinden ücretlendirilen Grafana Cloud k6 kullanmak
Grafana Cloud k6 tarafında ayda 500 VUh ücretsizdir; sonrasında Pro planda 19 USD aylık platform ücreti ve 0,15 USD/VUh ücretlendirmesi uygulanır. Bu, büyük ölçekli yük testleri için makul olabilir; ancak yalnızca duman testi veya API doğrulaması çalıştıran ekipler için gereksiz bir maliyet kalemi oluşturabilir.
API yaşam döngüsü araçları yoktur
k6; belirtim düzenleyici, sahte sunucu, yayınlanmış dokümantasyon veya paylaşılan API çalışma alanı sağlamayı hedeflemez. API'leri test eder; API tasarlama, belgeleme veya taklit etme işini çözmez.
Bu nedenle ekipler çoğu zaman k6'yı Postman, Swagger UI ve ayrı bir mock çözümüyle birlikte kullanır. Aynı parçalanma Python tabanlı yük testlerinde de görülür; örneğin Locust alternatifi makalesinde bu noktayı ele alıyoruz.
Cevap: Apidog
Apidog, 500.000'den fazla geliştirici tarafından kullanılan bir API geliştirme platformudur. Tek bir API belirtimi; istek istemcisi, otomatik testler, sahte sunucu ve dokümantasyon için kaynak görevi görür.
k6'ya kıyasla iş akışında dört temel değişiklik vardır:
Testler betik yerine görsel senaryolara dönüşür.
İstekleri zincirleyebilir, önceki adımdan değişken çıkarabilir, durum kodu/gövde/başlık doğrulaması ekleyebilir ve yanıtları şemaya göre otomatik doğrulayabilirsiniz.check()tekrarları azalır; JavaScript yazmak istemeyen ekip üyeleri de testleri düzenleyebilir.Hata ayıklama için bir istemci sunar.
İsteği gönderin, yanıtı inceleyin ve aynı isteği belgelenmiş uç nokta veya test adımı olarak kaydedin. Betik düzenle–yeniden çalıştır döngüsü, doğrudan istek üzerinde çalışmaya dönüşür.Performans testi, tanımlı sınırlar içinde yerleşiktir.
Var olan bir senaryoyu 100 sanal kullanıcıya kadar performans testi olarak çalıştırabilir; artış süresi, toplam süre ve canlı metrikleri yapılandırabilirsiniz. Metrikler; toplam istek, saniyedeki istek, ortalama/maksimum/minimum yanıt süresi ve hata oranını içerir. Ayrıntılar için Apidog performans testi belgelerine bakın.
Yük, uygulamayı çalıştıran makineden üretilir. Bu yaklaşım, “Bu uç nokta günlük eşzamanlılık düzeyine dayanıyor mu?” sorusunu cevaplar; özel ve dağıtılmış yük üreticilerinin yerini almayı amaçlamaz.
- CI iş akışı da desteklenir. Apidog CLI ile senaryolarınızı herhangi bir CI ardışık düzeninde, VU sayacı olmadan çalıştırabilirsiniz.
Aynı proje içinde akıllı sahte sunucu, yayınlanabilir etkileşimli dokümantasyon ve görsel OpenAPI düzenleyici de bulunur. Bunlar k6'nın sağlamayı hedeflemediği yeteneklerdir.
Özellik bazında geçiş nasıl görünür?
Fonksiyonel API testleri
Geçişin ana noktası budur.
Beş uç noktaya istek atan ve durum kodlarını kontrol eden bir k6 betiği, kod yazmadan oluşturulmuş beş adımlı bir test senaryosuna dönüşebilir:
- API belirtimini içe aktarın veya oluşturun.
- Uç noktaları test adımları olarak ekleyin.
- Önceki yanıttan gereken alanları değişkene çıkarın.
- Durum kodu, başlık ve gövde için doğrulamalar tanımlayın.
- Şema doğrulamasını etkinleştirin.
Şema doğrulama, elle yazılmış gövde kontrollerinin önemli bölümünü azaltır. Veri odaklı testlerde ise özel döngüler yazmak yerine her çalıştırmada veri kümesinden satır seçebilirsiniz.
Performans kontrolleri
Mevcut bir senaryoda şunları yapılandırın:
- Sanal kullanıcı sayısı: en fazla 100
- Artış süresi
- Test süresi
- Canlı metrik takibi
Bu yaklaşım, “API 50 eşzamanlı kullanıcıya dayanabiliyor mu?” türündeki günlük kontroller için yeterli olabilir. Sonuçlar çalışma alanında geçmişle birlikte tutulduğu için ayrı pano altyapısı ihtiyacını azaltır.
Ancak şu gereksinimler için k6 daha uygundur:
- Artan varış oranı modelleri
- Çok saatlik dayanıklılık testleri
- Binlerce VU
- Çok bölgeli dağıtılmış trafik
Adım adım uygulama için API performans testi eğitimine göz atın.
CI ve otomasyon
k6 run komutunu, aynı CI aşamasında Apidog CLI komutuyla değiştirebilirsiniz.
Örnek GitHub Actions adımı:
- name: API test senaryolarını çalıştır
run: apidog-cli run --project-id "$APIDOG_PROJECT_ID"
Senaryolar çalışma alanından çekildiği için geliştiricilerin düzenlediği testlerle CI'ın çalıştırdığı testler senkron kalır. Daha geniş yaklaşım için sürekli performans testi araçları rehberine bakın.
Testin ötesi
k6'nın kapsamına girmeyen işler şunlardır:
- Uç noktaları görsel arayüzden veya OpenAPI koduyla tasarlamak
- Arka uç tamamlanmadan önce ön uç ekibine şema farkındalığı olan sahte URL vermek
- Etkileşimli API dokümantasyonunu kendi alan adınızda yayınlamak
Genel bir API istemcisi geçişi de planlıyorsanız en iyi Postman alternatifi karşılaştırmasını inceleyin.
k6 ve Apidog karşılaştırması
| Özellik | Grafana k6 | Apidog |
|---|---|---|
| Biçim | CLI + JavaScript betikleri | Masaüstü uygulaması + web + CLI |
| Test yazma | Yalnızca kod | Görsel senaryolar; betikleme mevcut |
| Fonksiyonel doğrulamalar | Elle yazılmış check() çağrıları |
Kodsız doğrulamalar + otomatik şema doğrulama |
| Yük kapasitesi | Senaryolar, yürütücüler, dayanıklılık ve ani yük; bulutta 1 milyon VU'ya kadar | Çalıştırma başına 100 VU'ya kadar, artış ve canlı metrikler |
| Dağıtılmış / çok bölgeli yük | Evet, Grafana Cloud ile 20+ bölge | Hayır |
| Sonuçlar | Terminal özeti; panolar için Grafana yığını veya Cloud gerekir | Canlı grafikler + saklanan çalışma geçmişi |
| CI çalıştırmaları | Ücretsiz, tek ikili | Apidog CLI üzerinden ücretsiz |
| Bulut ölçümü | Ayda 500 VUh ücretsiz, sonra 0,15 USD/VUh + 19 USD/ay platform ücreti | Ölçülmeyen çalıştırıcı; ücretsiz plan 4 kullanıcıyı kapsar |
| API belirtim düzenleyici | Hayır | Görsel ve kod tabanlı OpenAPI düzenleyiciler |
| Sahte sunucu | Hayır | Şema farkındalığına sahip akıllı taklitler |
| API dokümantasyonu | Hayır | Yayınlanmış etkileşimli dokümantasyon, özel alan adı |
| Kodsuz kullanım | Hayır | Evet |
Maliyet matematiği, dürüstçe
k6 OSS ücretsiz ve açık kaynaktır. Terminal özeti yeterliyse doğrudan yük testi maliyetiniz yalnızca mühendislik zamanıdır.
Maliyet iki başka noktada ortaya çıkar:
- Sonuç altyapısı: Grafana ve zaman serisi veritabanını kendiniz çalıştırmanız veya Grafana Cloud k6 kullanmanız gerekir.
- Eksik yaşam döngüsü araçları: API istemcisi, mock hizmeti ve dokümantasyon barındırma için ayrıca araç kullanıyorsanız, k6'nın ücretsiz olması toplam maliyetin yalnızca bir bölümünü ifade eder.
Örneğin, 30 dakika boyunca 50 VU ile yapılan bir gece testi yaklaşık 25 VUh tüketir. Ayda 500 ücretsiz VUh kotası üç haftadan kısa sürede bitebilir; sonrasında Pro planda aylık maliyet yaklaşık 110 USD seviyesine çıkabilir.
Apidog'un ücretsiz planı, 4 kullanıcı için ölçülmeyen senaryo ve performans çalıştırmaları, taklitler ve dokümantasyon sağlar. Ücretli planlar kullanıcı başına aylık 9 USD'den başlar.
Bu nedenle 5 kişilik bir ekip için doğru soru şudur:
“Ücretsiz mi, yoksa yılda 540 USD mi?” değil;
“Yılda 540 USD mi, yoksa Grafana altyapısı ile ayrı API istemcisi, mock ve dokümantasyon araçlarının toplamı mı?”
Yoğun yük üretimi gerçek bir gereksinimse iki aracı birlikte kullanmak mantıklıdır:
- API yaşam döngüsü ve günlük API testleri için Apidog
- Büyük ölçekli yük düzeneği için k6 OSS
Daha geniş seçenek listesi için yük testi araçları derlemesine bakın.
k6'dan geçiş
k6 betikleri için tek tıklamayla içe aktarma yoktur; çünkü k6 betikleri API tanımı değil, JavaScript programlarıdır.
Uygulanabilir geçiş planı:
API tanımınızı içe aktarın.
OpenAPI/Swagger, Postman koleksiyonu veya cURL kullanın. Uç noktalar şemalar, dokümantasyon ve canlı mock'larla birlikte gelir. Belirtiminiz yoksa hata ayıklama sırasında istemcide oluşturduğunuz istekleri kaydederek belirtimi zamanla oluşturabilirsiniz.Her k6 betiğini bir test senaryosu olarak yeniden kurun.
İstek sırasını adım adım koruyun.check()çağrılarını görsel doğrulamalara dönüştürün veya uygun yerlerde şema doğrulamayla değiştirin.Veri kümelerini taşıyın.
CSV test verilerini senaryolara ekleyin. Satırları sıralı veya rastgele seçerek veri odaklı testler oluşturun.Günlük yük kontrollerini yeniden oluşturun.
Aynı senaryolarda VU sayısı, artış ve süre tanımlayın. Büyük ölçekli yük profillerini k6'da bırakın.CI adımını değiştirin.
k6 runyerine Apidog CLI kullanın.
Bir düzine betikten oluşan bir paketin geçişi genellikle bir öğleden sonra tamamlanabilir. Sonrasında senaryolar yalnızca betik yazan kişiler tarafından değil, tüm ekip tarafından düzenlenebilir.
k6'nın hâlâ anlamlı olduğu durumlar
Testinizin ürünü doğrudan yükün kendisiyse k6 kullanmaya devam edin:
- Artan varış oranları
- Çok saatlik dayanıklılık testleri
- Ani yük profilleri
- Birkaç yüz VU'nun üzerindeki testler
- Birden fazla bölgeden dağıtılmış üretim
- Özel metrik eşiklerine göre dağıtımı engelleme
- Testlerin gözden geçirilebilir kod olarak tutulmasının zorunlu olması
Apidog'un 100 VU, tek makine üzerinde çalışan performans testi bu iş için tasarlanmamıştır. Bu, Artillery ve autocannon karşılaştırmalarında da çizdiğimiz sınırdır.
Özel yük araçlarını karşılaştırıyorsanız en iyi JMeter alternatifi ve en iyi Gatling alternatifi makalelerine de bakın.
K6 betiklerinizin çoğu tek VU ile yanıt gövdelerini doğruluyorsa, aslında bir yük aracının kıyafetlerini giymiş API test paketi çalıştırıyorsunuz demektir.
Sıkça sorulan sorular
k6 ücretsiz mi?
k6 OSS, AGPL-3.0 altında ücretsiz ve açık kaynaktır. Barındırılan panolar ve 20'den fazla bölgeden dağıtılmış yük sunan Grafana Cloud k6, kullanımı sanal kullanıcı saati üzerinden ölçer: ayda 500 VUh ücretsizdir; ardından Pro planda 19 USD aylık platform ücreti ve 0,15 USD/VUh uygulanır.
Grafana yığınıyla panoları kendiniz barındırmak ücretsiz ancak operasyonel sorumluluk gerektiren orta yoldur. OSS iş akışı için k6 yük testi kılavuzuna bakın.
Apidog, yük testi için k6'nın yerini alabilir mi?
Günlük eşzamanlılık kontrolleri için evet. Mevcut test senaryolarını yeniden kullanarak, artış ve canlı metriklerle 100 sanal kullanıcıya kadar performans testi çalıştırabilirsiniz.
Binlerce VU, çok bölgeli trafik veya dayanıklılık profilleri gibi büyük ölçekli gereksinimler için hayır. Bu kullanımda k6'yı veya yük testi araçları derlemesindeki başka özel araçları kullanmaya devam edin.
k6 betiklerini Apidog'a aktarabilir miyim?
Doğrudan hayır. k6 betikleri JavaScript programlarıdır; API tanımı değildir.
Bunun yerine OpenAPI belirtiminizi veya Postman koleksiyonunuzu içe aktarın. Ardından k6 betiklerindeki akışları görsel senaryolar olarak yeniden oluşturun. Doğrulamaları kodsuz kontrollere veya otomatik şema doğrulamaya eşleyin; CSV veri kümelerini veri odaklı çalıştırmalar için senaryolara ekleyin.
Apidog, k6 gibi CI'da çalışır mı?
Evet. Apidog CLI, test senaryolarını GitHub Actions, GitLab CI veya Jenkins gibi ardışık düzenlerde geçiş/başarısızlık çıkış kodlarıyla çalıştırır. Kullanım sayacı olmadan ücretsizdir.
Senaryolar paylaşılan çalışma alanında tutulduğu için CI, ekibin en son düzenlediği sürümü çalıştırır.
k6'da olup Apidog'da olmayan nedir?
k6'nın öne çıktığı alanlar şunlardır:
- Senaryolar ve yürütücülerle derin yük modellemesi
- Artan varış oranları
- Özel metrik eşikleri
- Tarayıcı tabanlı performans testleri
- 1 milyon VU'ya kadar bulut tabanlı dağıtılmış üretim
Gereksinimleriniz bunlarsa doğru araç k6'dır; Apidog'a geçiş uygun olmayabilir.
API kontrollerinizi betiklemeyi bırakın
k6 betiklerinizin büyük kısmı uç noktaların doğru davrandığını doğruluyorsa, bu kontrolleri API fonksiyonel testi için tasarlanmış bir ortama taşıyın:
- Görsel test senaryoları
- Otomatik şema doğrulama
- Ölçülmeyen test çalıştırıcı
- 100 VU'ya kadar yerleşik performans kontrolleri
- Aynı belirtimden mock ve dokümantasyon üretimi
Apidog'u indirin veya tarayıcıdan başlayın. Dört kişilik ekip ücretsiz planda çalışabilir; içe aktardığınız ilk belirtimle testler, taklitler ve dokümantasyon aynı projede kullanılabilir.

Top comments (0)