Jmeter ile Yuk Testi Yapimi

Sevilay Ağıl
HardwareAndro
Published in
4 min readOct 17, 2019

Merhaba 🙋🏻 bu yazımda sizlere Blazemeter ile senaryo kaydedip jmeter Non GUI modda senaryomuzu çalıştırmayı göstermeye çalışacağım.

Jmeter java tabanlı olan uygulamalarımıza performans testi yapmamızı sağlayan açık kaynak kodlu bir uygulamadır. Jmeter ile web uygulamalarımızı gerçek kullanıcılara sunmadan önce test ederek performans çıktılarını görebiliriz. Ayrıca java tabanlı olduğundan MacOS, Windows gibi uygulamalarda da çalışma imkanı sunar.

Jmeter’ ı kısaca özetledikten sonra şimdi projemizi yapmaya başlayabiliriz.

Ben proje testini https://www.performancetestingpractice.com/ bu web sitesi üzerinden yapacağım.

1. Blazemeter ile Senaryo Kaydetme

Jmeter ile birlikte senaryolarımızı recorde ederken çok sık kullanılan Blazemeter pluginini Chrome’a ekleyelim.

Blazemeter’a Login olarak test edecek senaryomuzu recorde etmeye başlayalım.

2 .jmx Dosyasını Jmeter GUI’de Çalıştırma

İndirdiğimiz .jmx dosyasını Jmeter GUI’de açmak için terminalimizi açalım.Ve aşağıdaki komutları sırasıyla yazalım.

ls yazararak kullanıcımızın altında olan dosyalarımızı listeleyelim.

ls komutu ile birlikte jmeter uygulama klasorunun adını bulduktan sonra kopyalayarak adım adım bin klasorune gidelim.

Sırasıyla komutlar :

cd apache-jmeter-5.1.1

cd bin

Sonrasında ise GUI’yi çalıştıracak komutu yazalım. Ve çalıştıralım.

sh jmeter.sh

Yukarıdaki komuttan sonra GUI arayüzünü açıp daha önce kaydettiğimiz software-testing.jmx dosyasını açalım.

Ben testimi saniyede 10 kullanıcı için yapmak istiyorum. Bu yüzden thread gruptaki number of threads alanına saniyede 10 kullanıcıyı test edeceğimiz için 10 yazalım.

Ramp-up Time değerine ise 1 girelim.Ramp-up time değeri 10 kullanıcının test aracı tarafından kaç saniye içerisinde sisteme dahil edileceğini belirlemeye yarar. Örneğin 10 kullanıcı için ramp-up perioda 2 girseydik ilk saniye sonunda sistemde 5 ikinci saniye sonunda ise sisteme 10 kullanıcı girecekti.

Burada biz ramp-up periyoduna ise 1 yazalım. Eğer tüm kullanıcıların aynı anda sisteme girmesini isteseydik buraya 0 yazmamız gerekirdi.

Şimdi ise status code’u 200 olanları görebilmek için senaryomuza response assertion ekleyelim.Bunun için her bir http request’e sağ tıklayıp assertionlar’dan response assertion’u seçelim ve aşağıdaki gibi field to text alanında response code ve pattern matching rules alanında da equals’ ı seçerek testimizi GUI arayüzünde kaydederek kapatalım.

3. Senaryoyu Non-GUI’de Çalıştırma

Yüksek kullanıcılı test senaryolarında Non-GUI’de çalıştırmak her zaman daha stabildir. Bu yüzden biz de terminalimizi açarak senaryomuzu çalıştırıp sonucunda performans çıktılarını raporda görüntüleyelim.

Senaryoyu çalıştırmadan önce hazırlığımızı yapalım. Bunun için kaydettiğim jmx dosyasını masaüstümde bir “medium” adı altında bir klasöre attım. Klasörün içerisine de çalışma sonucunda raporların oluşacağı bir klasör tanımlayalım. Ben isimlendirmesini “htmlreport” şeklinde yaptım.

Hazırlığımızı bitirdikten sonra terminalimizi açalım ve terminalde çalıştırma komutunu yazalım. Bunun için jmeter ’ın cd adımına kadar gelip sonrasında çalıştırma komutunu yazalım. Sırasıyla aşağıdaki görseldeki gibi olacaktır.

ls

cd [jmeter klasor adı]

JVM_ARGS=”-Xms8192m -Xmx8192m” sh jmeter -n -t /Users/kullanıcı /Desktop/medium/software-testing.jmx -e -o /Users/kullanıcı/Desktop/medium/htmlreport/ -l /Users/kullanıcı/Desktop/medium/htmlreport/log.log

Ben çalıştırırken java heap space hatası aldığımdan dolayı çözüm olarak sh önüne JVM_ARGS=”-Xms8192m -Xmx8192m” şeklinde bir komut yazdım fakat siz de böyle bir sorun olmazsa yazmayabilirsiniz.

Çalıştırma komutunda yazan -n -t -e -o -t gibi ifadeler ;

-n: Dosyayı non-gui mod’da çalıştıracağımızı belirtmek içindir

-t: Jmeter test scriptinin lokasyonu içindir

-l: Çalıştırdıktan sonra oluşan log dosyasının içeriği ve konumu içindir

-e -o : Çalışma sonrasında oluşan raporun çıktı lokasyonunu belirtmek içindir.

Çalışma sonucu bittiğinde de aşağıdaki gibi bir sonuç alacaktır.

4. Jmeter Raporu

Çalışma sonrasında “htmlreport” altında oluşan rapora da göz atalım ve index.html dosyasını açalım.

Jmeter bize aşağıdaki rapor ekranında görüldüğü gibi oluşturduğumuz caselerin response time’ları ve hata oranları gibi sonuçlar için bir dashboard olanağı sunmaktadır. Buradan request’lerin sonuçlarını inceleyerek uygulamayı son kullanıcıya sunmadan hata önlemlerini alabilme gibi imkanlar yaratılabilir.

Bu yazımda Blazemeter ile test senaryosu hazırlamayı ve Jmeter’da performans testi yapmayı anlatmaya çalıştım. Başka yazılarımızda görüşmek dileğiyle.

Sevgiler 🥰

--

--