📚 Temel Kavramlar ve İlk Testini Oluşturma

Temel Kavramlar ve İlk Testini Oluşturma: Bir JMeter test planını katı bir üç-rol hiyerarşisine sahip tiyatro yapımı gibi düşün.

Bir JMeter test planını katı bir üç-rol hiyerarşisine sahip tiyatro yapımı gibi düşün. Thread Group, cast direktörüdür — sahneye kaç aktörün (sanal kullanıcı) çıkacağını ve ne hızla yürüyerek gireceğini (ramp-up) tam olarak o belirler. Her Sampler, aktörlerin izlediği senaryo satırıdır: /api/login'e bir HTTP isteği, /api/checkout'a bir POST, her çağrıda tek bir belirli eylem. Listener ise arkadaki kamera ekibidir; performansın kendisini hiç bozmadan her yanıt süresini, her durum kodunu ve her aktarılan byte'ı yakalar. Ama şu daha derin soruyu düşün: Thread Group 500 kullanıcı içeriyorsa ve Sampler tek bir endpoint'e gidiyorsa, bileşenlerin ağaçtaki sırası neden gerçekten önemlidir? Çünkü JMeter ağacı yukarıdan aşağıya katı bir ebeveyn-çocuk ilişkisiyle değerlendirir — Thread Group'un içine yerleştirilen bir Config Element yalnızca o grubun Sampler'larına uygulanırken, aynı eleman Test Plan kökünde küresel olarak geçerlidir. Java'daki değişken kapsam kurallarıyla birebir aynıdır: bir method bloğu içinde tanımlanan alan ile sınıf düzeyinde tanımlanan alan. Bu durumun yarattığı QA riski şudur: bir geliştirici CSV Data Set Config'i yanlış ağaç düzeyine ekler, her sanal kullanıcı farklı satır yerine aynı kimlik bilgileri satırını okur ve 500 kullanıcılık testin aslında tek bir paylaşımlı oturumla sunucuya çarpmaya devam eder — production'da patlayacak olan satır kilitleme ve oturum yarışması hatalarını tamamen gizler.

JMeter testleri bir hiyerarşide düzenlenir. Bu hiyerarşiyi anlamak her şeyin temelidir.

Test Planı Hiyerarşisi

Ağaçtaki Sıralama Neden Bir Config Element'in Kapsamını Belirler?

Test Plan KÖK kapsayıcıdır…

`Test Plan` en üstteki KÖK kapsayıcıdır — altındaki HER ŞEY (Thread Group, sampler, listener) bu ağacın bir DALIDIR.

Thread Group SANAL kullanıcıları TEMSİL eder…

`Thread Group`, kaç sanal kullanıcının çalışacağını TANIMLAR — altındaki HER sampler, o kullanıcı sayısı kadar TEKRARLANIR.

CSV Data Set Config KONUMUNA göre kapsam alır…

`CSV Data Set Config` bir Thread Group İÇİNE konursa SADECE o grubun sampler'larını etkiler; Test Plan KÖKÜNE konursa TÜM gruplara global olarak UYGULANIR.

Bu, Java'daki değişken SCOPE'una BENZER…

Bu tam olarak Java'da bir metot İÇİNDE tanımlanan değişkenle sınıf SEVİYESİNDE tanımlanan değişken arasındaki FARKTIR — konum, görünürlüğü BELİRLER.

1. Thread Group — Sanal Kullanıcılar

Thread Group parametreleri: