detail description jmeter components
Jmeter Bileşenlerinin İncelenmesi (Bölüm-II):
=> Bu, JMeter eğitim serisinin bir parçasıdır. Bu serideki tüm öğreticilerin listesine buradan bakın .
Umarım hepiniz geçmiş olmalısınız JMeter Giriş ve Kurulum şimdiye kadar. Seride bir sonraki ile devam ederken, hepinizin JMeter'i kurmanız ve yan yana çalışmanız şiddetle tavsiye edilir.
Bu eğitimde okuyucular, JMeter'ın tüm bileşenleri ve bunların test planında nasıl kullanılacağı AUT'yi (Test Altındaki Uygulama) test etmek için olası tüm performans testi senaryolarını kapsayacak şekilde.
Jmeter'in unsurları bir önceki makalede listelenmişti.
Ne öğreneceksin:
- JMeter Bileşenleri
JMeter Bileşenleri
Referansınız için tekrar aşağı çekmek:
- Test planı
- ThreadGroup
- Örnekleyiciler
- Dinleyiciler
- WorkBench
- İddialar
- Yapılandırma Öğesi
- Mantık Denetleyicileri
- Zamanlayıcı
İş Parçacığı Grubu, Örnekleyiciler, Dinleyiciler ve Yapılandırma Öğeleri gibi Jmeter'in tüm ana bileşenleri makalenin ilerleyen kısımlarında ayrıntılı olarak açıklanmıştır.
Her bir bileşeni ve bunların JMeter'ın belirli modülleri ile ilişkisini anlamak için lütfen aşağıdaki akış şemasına bakın.
Şimdi, nasıl çalıştığını ve test uzmanlarının bunları testlerinde nasıl uygulayabileceklerini bilmek için Jmeter'in her bileşenine ve kullanım durumlarına dokunmaya başlayacağız. Lütfen bu makaledeki tüm Örnekleyicileri, dinleyicileri ele almayacağımızı unutmayın. En çok kullanılanlar üzerinde çalışacağız ve gerçek zamanlı Test Planlarını oluşturduğumuzda bir sonraki makalede dinleneceğiz.
Test planı
Yazılım Testindeki basit bir test planının komut dosyasını yürüten tüm adımlardan oluşması gibi, JMeter’in Test planı da aynı amaca sahiptir. Bir test planına dahil olan her şey, yukarıdan aşağıya doğru sırayla veya test planında tanımlanan sıraya göre yürütülür.
en çok oy alan ücretsiz kötü amaçlı yazılım temizleme yazılımı
Test Planı, Just ThreadGroup, Sampler ve Listener ile olabildiğince basit olabilir ve yapılandırma öğeleri, önişlemciler veya denetleyiciler gibi daha fazla öğe eklemeye başladığınız anda daha karmaşık olmaya başlar.
Hepimizin bildiği gibi, JMeter, gerçek kullanıcılar bir sunucuya istek gönderiyormuş gibi test edilen sunucuya çarpan Sanal Kullanıcılar veya İş Parçacıkları oluşturarak performansı ölçmektedir. Bu nedenle, her Test Planında sanal kullanıcılar veya JMeter'ın terimleriyle adlandırdığımız İş Parçacığı Grubu olmalıdır.
Test Planıyla İlgili Önemli Noktalar:
- Test planı çalıştırılmadan önce kaydedilmelidir
- Jmeter dosyaları veya test planları şeklinde kaydedilir. JMX uzantı dosyaları
- Ayrıca, Test Planının bölümlerini farklı seçim olarak kaydedebilirsiniz. Örneğin, HTTP İstek Örnekleyicisini Dinleyici ile kaydetmek istiyorsanız, diğer test senaryolarında da kullanılabilmesi için Test Parçası olarak kaydedebilirsiniz.
- WorkBench'in öğeleri Test Planı ile kaydedilmez
Konu Grubu
İş Parçacığı Grubu, eşzamanlı olarak veya önceden tanımlanmış bir sırayla test edilen sunucuya vuracak bir kullanıcı grubudur. Test planına sağ tıklanarak Test Planına Konu Grubu eklenebilir. JMeter, 'Sağ Tıklama' nın tamamıdır, tüm seçenekleri sağ tıklamayla alırsınız.
İş Parçacığı Grubu adını kendi başınıza yeniden adlandırabilirsiniz. Sadece adı değiştirin ve Test Planı penceresinin dışında herhangi bir yere tıklayın, adın değiştiğini göreceksiniz.
Konu Grupları eklemek için lütfen aşağıdaki ekran görüntüsüne bakın
(Not: Büyütmek için herhangi bir resme tıklayın)
İş parçacığı grubunuzu test koşullarına göre yapılandırmanız çok önemlidir.
Örneğin, 100 kullanıcı aynı anda ona ulaştığında bir web sunucusunun nasıl davrandığını test etmek istiyorsanız, İş Parçacığı Grubunu aşağıdaki gibi ayarlayabilirsiniz:
Temel olarak, gerçek yük veya sanal kullanıcılar oluşturmak için yapılandırılması gereken üç ana parametre vardır:
- Konu Sayısı (Kullanıcılar) - Sanal kullanıcı sayısını tanımlar. Test amacıyla, tek seferde büyük hacim oluşturmak, sonuçta yüksek CPU kullanımına yol açabilecek çok sayıda iş parçacığı tüketmek anlamına geleceğinden, yalnızca sınırlı miktarda yük oluşturmalıyız.
- Rampa süresi - Bu alan, yük oluşumunun kontrolünde çok önemlidir. Artış süresi, toplam yükün üretileceği süreyi tanımladı.
örnek 1:
- Bu, 10 kullanıcının tamamının, bir test çalıştırılır çalıştırılmaz aynı anda sunuculara vuracağı anlamına gelir.
Örnek 2:
- Hepiniz yukarıdaki ekran görüntüsündeki 'Zamanlayıcı' onay kutusunu fark etmiş olmalısınız. Testinizin daha sonra belirli bir zamanda çalışmasını istiyorsanız, aşağıdaki ekran görüntüsünde de görebileceğiniz gibi zamanlamaları ayarlayabilirsiniz. Bu, her 1 saniyede bir yeni bir kullanıcının sunucuya çarpacağı anlamına gelir. Yük eşzamanlı olmayacak ancak artımlı olacaktır. 10 tarafındaninciikinci olarak, tüm kullanıcılar isteği karşılamıştır.
- Döngü Sayısı - Thread Group'un kaç kez çalıştırılacağını tanımlar. Sonsuza Kadar onay kutusunu işaretlerseniz, el ile durdurmadığınız sürece testiniz sonsuza kadar çalışacaktır. Bu, 'Sunucunuz birkaç dakika boyunca sürekli yükte çökmezse' gibi bir şeyi test etmek için kullanılabilir.
Örnekleyiciler
Peki, bir Jmeter sunucuya ne tür bir istek gönderildiğini nasıl bilir ???
- Örnekleyiciler aracılığıyla. Örnekleyiciler, bir Test Planına eklemek için bir zorunluluktur, çünkü Jmeter'in hangi sunucuya hangi tür bir isteğin hangi sunucuya gitmesi gerektiğini ve önceden tanımlanmış parametrelerle gidip gitmediğini bilmesini sağlayabilir. İstekler HTTP, HTTP (s), FTP, TCP, SMTP, SOAP vb. Olabilir.
İş Parçacığı Gruplarının test edilen sunucu URL'sine istek göndermek için bir örnekleyici kullanması gerektiğinden, örnekleyiciler yalnızca İş Parçacığı Grubuna doğrudan Test Planı altında eklenebilir. Örnekleyici yola göre eklenebilir İş Parçacığı Grubu -> Örnekleyici -> HTTP İsteği.
HTTP İstekleri
Bunlar, sunuculara gönderilen en yaygın isteklerdir. Söyle, Örneğin, 100 kullanıcının vurmasını istiyoruz https://www.google.com eşzamanlı olarak, bu aşağıdaki ekran görüntüsünde açıklandığı gibi yapılabilir:
- Yol, ana web sitesi içindeki gezinmedir. Örneğin, http://www.google.com/gmail adresini tıklamak istersek, yolumuza “/ Gmail” ayarlayabiliriz ve geri kalanı aynı kalır
- Sunucu adına 'www' yazmanıza gerek yoktur
- Port Numarası, herhangi bir proxy sunucusu kullanıyorsanız kullanılır
- Zaman aşımı Bağlan ve Yanıt, sunucu bağlantı süreniz ve yanıt süreniz üzerinde bir kıyaslama yapmak istiyorsanız ayarlanabilir. Sunucunuzun yanıt göndermesi yapılandırılandan daha fazla zaman alırsa isteğiniz başarısız olur
- İsteğinizle birlikte gönderilecek parametreleri de yapılandırabilirsiniz. Örneğin: Bazı durumlarda, isteğinizle birlikte Yetkilendirme Jetonu göndermeniz gerekebilir, bu nedenle bunları aşağıdaki gibi HTTP İsteğine eklemiş olursunuz:
FTP İstekleri
Yol-> Test Planı-> İş Parçacığı Grubu-> Örnekleyici-> FTP İsteği
FTP, Dosya Aktarım Protokolü anlamına gelir ve sunucudan bir dosya yüklemek veya indirmek için kullanılır. JMeter’in iş parçacıkları, dosyaları oradan yüklemek veya indirmek için FTP sunucularına istek gönderir ve performansı ölçer.
- Yerel Dosya, indirilen dosyayı kaydetmeniz gereken konumdur
- FTP sunucusundan indiriyorsanız GET seçeneğini kullanın
- FTP sunucusuna herhangi bir dosya yüklüyorsanız, Kullanıcı POST seçeneği
Örnekleyiciler, dinleyiciler, yapılandırma öğeleri vb. İçeren bazı gerçek Test Planlarından geçerken ele alınacak çok sayıda dinleyicimiz var.
Dinleyiciler
Bu nedenle, şimdiye kadar sunucuya istek gönderen birkaç örnekleyici gördük, ancak yanıtı henüz analiz etmedik. Performans testi, sunucu yanıtlarını çeşitli biçimlerde analiz etmek ve ardından müşteriye sunmakla ilgilidir.
Dinleyiciler, test yürütme sonuçlarının görüntülenmesi için kullanılır, böylece test kullanıcıları istatistikleri öğrenirler. Jmeter'de yaklaşık 15 dinleyicimiz var ancak en çok kullanılanlar tablo, ağaç ve Grafik.
Sonuçları Tablodaki Görüntüle:
Bu, en yaygın kullanılan ve en kolay anlaşılır dinleyici biçimidir. Sonucu bazı önemli performans parametreleriyle birlikte tablo şeklinde gösterir.
Dinleyiciler doğrudan Test planının altına veya bir örnekleyicinin altına eklenebilir. Aradaki fark, bir örnekleyicinin altına dinleyici eklediğinizde, yalnızca o örnekleyicinin sonuçlarını gösterecektir. Örnekleyiciyi doğrudan test planının altına eklersek, hiyerarşideki tüm Örnekleyicinin sonucunu görüntüler.
Referans için aşağıdaki ekran görüntüsü:
Sonuçları aşağıda gösterildiği gibi görürsünüz:
- Gecikme : İlk bilgi parçasının alındığı, yani ilk veri baytının alındığı zamandır.
- Bağlantı Süresi : Sunucu ile bağlantı kurmak için geçen süredir.
- Örnek Zaman : Tam veriyi almak için geçen süredir
- Örneklem - Numune numarası dizisi
- Bayt - Alınan verilerin boyutu.
Ağaçtaki Sonuçları Görüntüle:
Bu, en sık kullanılan başka bir dinleyicidir ve istek ve yanıtla birlikte ayrıntılı bilgi sağlar. Json, XML, Text, RegEx görüntülemenin yanı sıra yanıt olarak oluşturulan HTML sayfasını da görüntüleyebilirsiniz.
Test uzmanları, testin başarılı olduğundan emin olmak için alınan yanıtla ilgili iddialarda bulunabildiğinden çok kullanışlıdır. Jmeter sonuçları, yanıt istenmese bile hala 'Geçti' gösteriyor.
Örneğin: Diyelim ki, herhangi bir web sitesinde HTTP isteğine ulaştık www.xyz.com ve yanıt olarak XYZ'yi bekliyoruz veya basit bir deyişle, bu sayfaya geldiğimizde şirketin ana sayfası adıyla açılıyor. İddia etmemişsek, Jmeter isabet sunucuya gittiğinden beri sonuçları göstermeye devam edecektir.
Sonuçların biçimini öğrenmek için lütfen aşağıya bakın:
Yanıt olarak HTML sayfasını görüntülemek için, sol bölmedeki açılır menüye tıklayın ve ardından 'HTML' öğesini seçin, Yanıt sekmesine gidin ve sunucunun yanıtı olarak döndürülen sayfayı kontrol edin.
Çalışma Tezgahı
Çalışma tezgahı, mevcut test planınızda kullanılmayan ancak daha sonra kopyalanıp yapıştırılabilen bu öğeleri saklayabileceğiniz bir yerdir. JMeter dosyasını kaydettiğinizde, çalışma tezgahında bulunan bileşenler otomatik olarak kaydedilmez. Sağ tıklayıp “Farklı Kaydet” seçeneğini seçerek bunları ayrı ayrı kaydetmelisiniz.
Hepiniz o zaman tezgahın ne işe yaradığını düşünüyor olabilirsiniz, zaten herhangi bir bileşeni doğrudan bir Jmeter'in Test Planına eklemek kolaydır.
Workbench'e sahip olmanın nedeni, kullanıcının bazı deneyler yapabilmesi ve yeni senaryolar deneyebilmesiydi. Zaten bildiğimiz gibi, çalışma tezgahındaki öğeler kaydedilmez, böylece bir kullanıcı kelimenin tam anlamıyla herhangi bir şeyi kullanabilir ve sonra atabilir. Ancak, yalnızca WorkBench'te kullanılabilen bazı 'Test Dışı Bileşenler' vardır.
Burada listelenirler:
- HTTP Yansıtma Sunucusu
- HTTP (s) Test Komut Dosyası Kaydedici
- Emlak Ekranı
HTTP (s) Test Script Recorder, JMeter'da kullanılan en önemli Test Dışı Öğedir. Test uzmanlarının komut dosyasını kaydetmesine ve ardından her işlem için yükü yapılandırmasına yardımcı olur.
Jmeter yalnızca sunucuya gönderilen isteği kaydeder. QTP / Selenium'un 'Kaydet ve Oynat' işleviyle karıştırmayın. Tüm istekler kaydedilir ve testçiler, davranışı görmek için üzerlerine istenen yükü uygulayabilir.
Bu öğe, test uzmanlarının uygulamalarından tüm isteklerin neler olduğunu bilmediği senaryolar için çok önemlidir. Test edilen uygulamayı kaydetmek için Http (s) komut dosyası kaydediciyi kullanabilirler.
JMeter proxy kurarak ve ardından mobil uygulamamızın sunucuya gönderdiği istekleri kaydederek mobil uygulamaların Performans Testi de bu şekilde yapılabilir. Mobil performans testi için adım adım prosedür sonraki makalede açıklanacaktır.
İddialar
Şimdiye kadar, JMeter'ın sunucuya nasıl ulaştığını ve yanıtların dinleyiciler aracılığıyla nasıl görüntülendiğini ele aldık. Alınan yanıtın doğru olduğundan ve beklentiye göre olduğundan emin olmak için iddialar eklememiz gerekir. İddialar, sonuçları karşılaştırmak için yanıtlara koymamız gereken doğrulamalardır.
Yaygın olarak kullanılan iddia türleri aşağıdadır:
- Tepki Onaylama
- Süre Onaylama
- Boyut Beyanı
- XML Onaylama
- HTML Onaylama
Tepki Onaylama
Response Assertion'da kendi desen dizelerimizi ekleyebilir ve bunları bir sunucudan alınan yanıtlarla karşılaştırabiliriz. Örneğin, Herhangi bir istek başarılı bir şekilde yanıt verdiğinde yanıt kodunun 200 olduğunu bilirsiniz. Öyleyse, 'Yanıt Kodu = 202' desen dizesini eklersek, test senaryosu başarısız olacaktır.
Yanıt Kodu iddiasını eklemek için lütfen aşağıdaki ekran görüntülerine bakın.
Şimdi, test çalıştığında, sonucu Kırmızı Renk ile göstererek Onaylama sonuçlarının başarısız olduğunu gösterir.
Süre Onaylama
Süre Onaylama çok önemlidir ve sunucunun belirli bir süre içinde yanıt verdiğini doğrular. Bu, 100 isteği örneklememiz ve karşılaştırmalı sınır dahilinde her yanıtın alınmasını sağlamamız gereken senaryolarda kullanılabilir.
Durum : 10 kullanıcı aynı anda 'google.com' sunucusuna giriyor ve Süre Onaylama 1000 ms olarak ayarlandı. Lütfen aşağıdaki ekran görüntülerine bakın:
XML Assertion, yanıt verisinin içinde doğru XML belgesi olup olmadığını doğrular ve HTML Assertion, bir sunucudan alınan yanıtın HTML sözdizimini doğrular.
Yapılandırma Öğeleri
Sunucuya gönderilen istekler, gerçek talepten önce yürütülen bazı yapılandırma öğeleri kullanılarak daha fazla parametreleştirilebilir. Bunun basit bir örneği, CSV Veri Kümesi Yapılandırmasının kullanıldığı bir CSV dosyasından bir değişkenin değerlerini okumak olabilir.
Aşağıda, web ve mobil uygulamaların performans testinde kullanılan önemli yapılandırma öğelerinden bazıları verilmiştir.
- CSV Veri Kümesi Yapılandırması.
- Kullanıcı Tanımlı Değişkenler
- HTTPS İstekleri Varsayılanı
- HTTPS Önbellek Yöneticisi
- HTTPS Çerez Yöneticisi
CSV Veri Kümesi Yapılandırması
CSV veri seti yapılandırması, Jmeter'in her bir istekte farklı parametreler iletmek yerine bir CSV dosyasından bazı parametrelerin değerlerini seçmesine yardımcı olur. Örneğin, Oturum açma işlevselliğini farklı bir kullanıcı ve şifre seti ile test etmemiz gerekirse, o zaman bir CSV dosyasında iki sütun oluşturabilir ve değerleri oraya girebiliriz, böylece JMeter sunucuya gönderilen her istek için bir tane seçebilir.
Aşağıda, Hindistan'daki farklı şehirler için hava durumu API'sini test etmek için yapılandırmayı ayarlayan CSV verilerini kullanma akışı verilmiştir.
- Test planına CSV veri kümesi yapılandırma öğesi ekleme
- CSV dosyası oluşturma
- Değişken istek parametresine aktarılıyor. APPID parametresi dinamik olarak oluşturulabilir: http://openweathermap.org/appid
- Testi çalıştırma ve sonuçları görüntüleme.
Kullanıcı Tanımlı Değişkenler
Jmeter'in önceden tanımlanmış bir değişkenden değer seçmesine yardımcı olur. Örneğin, Aynı URL'ye birçok HTTP isteği eklemeniz gereken bir test planı oluşturmanız gerektiğini ve müşterinin bunu daha sonra başka bir URL'ye taşımayı planladığı bir senaryo olabileceğini destekleyin. Bu nedenle, her istekte URL'yi güncellemekten kaçınmak için JMeter'a bir UDV'den (Kullanıcı Tanımlı Değişken) URL'yi seçmesini söyleyebiliriz, bu daha sonra güncellenmiş URL'ye yönelik tüm istekleri işlemek için güncellenebilir.
Bu nedenle, her istekte URL'yi güncellemekten kaçınmak için JMeter'a, daha sonra güncellenmiş URL'ye yönelik tüm istekleri işlemek için güncellenebilecek bir UDV'den (Kullanıcı Tanımlı Değişken) URL'yi seçmesini söyleyebiliriz.
HTTP İstek Varsayılanları
Bu yapılandırma öğesi, https isteklerinin varsayılan değerlerini belirtmek için çok kullanışlıdır. Size daha fazla rehberlik etmesi için, google sunucusunda 50 farklı isteği karşılamamız gereken bir örneği ele alalım.Bu senaryoda, bir HTTP İstek Varsayılanı eklersek, bir sunucu adı, yol veya bağlantı noktası numarası, bağlantı gibi diğer özellikler zaman aşımı özellikleri. HTTP İstek Varsayılanı yapılandırma öğesinde belirtilen her şey, tüm HTTP istekleri tarafından miras alınır.
Bu senaryoda, bir HTTP İstek Varsayılanı eklersek, bir sunucu adı, yol veya bağlantı noktası numarası, bağlantı zaman aşımı özellikleri gibi diğer özellikleri belirtmemize gerek yoktur. HTTP İstek Varsayılanı yapılandırma öğesinde belirtilen her şey, tüm HTTP istekleri tarafından miras alınır.
Lütfen aşağıya HTTP İstek Varsayılanının nasıl ekleneceğine bakın ve sunucu ve yol belirtin.
HTTP Önbellek Yöneticisi ve HTTP Çerez Yöneticisi JMeter'ın gerçek zamanlı bir tarayıcı gibi davranmasını sağlamak için kullanılır. HTTP Önbellek yöneticisi her istekten sonra önbelleği temizleyebilirken diğeri çerez ayarlarını yönetebilir.
Mantık Denetleyicileri ve Zamanlayıcılar
Mantık denetleyicileri ve zamanlayıcılar, Jmeter'in işlem akışını kontrol etmesine yardımcı olur. Zamanlayıcılar, herhangi bir sunucuyu test etmeniz gerektiğinde her iş parçacığındaki gecikmeyi sağlar. Örneğin, HTTP isteği tamamlandıktan sonra 5 saniye beklemek için FTP isteğine ihtiyacımız varsa, oraya zamanlayıcı ekleyebiliriz.
Mantık Denetleyicileri, sunucuya gönderilen isteklerin akışını tanımlamak için kullanılır. Ayrıca, her modül için giriş ve çıkış gibi istekleri ayrı ayrı depolamanıza izin verebilir.
Sonuç
Şimdiye kadar, hepiniz JMeter bileşenlerine aşina olmuş ve onu kullanmayı denemiş ve bazı sorunlarla karşılaşmış olmalısınız. Bir sonraki makalede, JMeter hakkında daha fazla uygulamalı bilgi edinmeniz için mobilite alanını kapsayan bazı gerçek zamanlı performans testi senaryolarını ele alacağız.
Bizi izlemeye devam edin! Sonraki makale, isteklerinizi yönetmenin yanı sıra sonuçları analiz etmenize ve performans testi kriterleriyle karşılaştırmanıza yardımcı olacaktır.
=>Bölüm-III'ü okumaya devam edin: JMeter İşlemciler ve Denetleyiciler
jar dosyalarını ne ile açıyorsun
=> JMeter Eğitimleri için buraya tıklayın: JMeter'de Tam Ücretsiz Eğitim (20+ Video)
Önerilen Kaynaklar
- Örnekle JMeter Korelasyonuna Nasıl Ulaşılır
- Jmeter Test Planı ve WorkBench
- JMeter'da FTP Talebi ile Çalışma
- En İyi 5 JMeter Eklentisi ve Nasıl Kullanılacağı (Örneklerle)
- JMeter Zamanlayıcıları: Sabit, BeanShell ve Guassian Rastgele Zamanlayıcı
- JMeter'da HTTP Talepleriyle Çalışma
- Jmeter Denetleyicileri Bölüm 1
- Jmeter Denetleyicileri Bölüm 2