Jmeter Test Fragment ile Modüler Test

Furkan Tunay
Vakıf Katılım Ar-Ge Merkezi
3 min readMay 13, 2024

Jmeter ile ilgili 4. yazımda Test Fragment kullanarak modüler test senaryoları oluşturmayı ele alacağız.

Test Fragment, yeniden kullanılabilir ve modüler test senaryoları oluşturmamızı sağlar. Tekrar eden, karmaşık test senaryolarını daha küçük ve yönetilebilir parçalara bölmek için kullanışlı bir Jmeter elementidir.

Test Fragment, Test plan altında oluşturulur ve başka Test Plan, Thread Grouplar içerisinde çağrılabilir.

  • Test Plan → Add → Test Fragment → Test Fragment adımlarını izleyerek ekleyebiliriz.
Test Fragment Eklenmesi

Örnek olarak bir banka uygulamasının testlerini yaptığımızı düşünelim. Para transferiyle ilgili bir çok senaryomuz olacaktır. “Login, ana sayfa, para transferi ekranlarının açılması” gibi adımlar tüm senaryolarda ortak olacaktır. Bu durumda ortak olan adımlara kadar Test Fragment kullanılıp, test modüler yapıya dönüştürülebilir.

Test Fragmente Alınacak Ortak Servislerin Belirlenmesi

Yukarıdaki jmx içerisinde 2 farklı thread group görüyoruz. Bu thread grouplar içerisinde bazı servislerin ortak olduğunu ve tekrar ettiğini varsayalım. Tekrar eden servisleri Test Fragment içerisine ekledik ve thread grouplar içerisinden kaldırdık.

Test Fragment içerisine aldığımız servisleri Thread Grouplar içerisinde çağırabilmek için Module Controller kullanacağız.

  • Thread Group → Add → Logic Controller → Module Controller adımlarını izleyerek Module Controller ekledik.

Senaryomun başarılı çalışması için Module Controller’i doğru yere konumlandırmamız gerekir. Bu nedenle thread group içerisinde ortak servislerin çalışacağı sıraya sürükledik.

Test Fragment — Module Controller eklenmiş haliyle çalıştırarak test edelim.

Test Fragment — Module Controller

Görüldüğü üzere öncelikle Module Controller ile Test Fragment içerisindeki servisler çağrıldı. Sonrasında thread grouplar içerisindeki servisler çağrıldı.

Test Fragment’in enable — disable olması modüler yapının çalışmasını etkilemez.

Module Controller’in ise mutlaka enable — aktif durumda olması gerekir. Modul Controller disable — pasif statüdeyken, Test Fragment içerisindeki servisler çağrılmaz.

Test Fragment Bize Ne Sağladı ?

Bakım & Güncelleme Kolaylığı

Test Fragment içerisindeki servislerde bakım & güncelleme yapılması gerektiğinde sadece bir noktadan bu işlemi yapmamız yeterli hale gelmiş oldu. Test Fragment kullanılmasaydı, tüm thread grouplarda tek tek bakım gerekecekti.

Gerksiz İş Yükünün Azalması

Ortak adımların belirlenip test fragmente dahil edilmesi sayesinde her thread groupta tekrar tekrar aynı servislerin yazılmasına gerek kalmadı.

Karmaşık Görüntünün Ortadan Kalkması

Özellikle çok sayıda servis içeren testlerde görüntü anlamında karmaşıklık ortaya çıkar. Tekrar eden servisleri tek bir yerde toplayarak daha sade ve okunabilir bir test elde ettik.

Bu yazımda Jmeter içerisinde Test Fragment — Module Controller kullanımından ve bize sağladığı faydalardan bahsetmiş oldum. Faydalı olması dileğiyle.

Keyifli okumalar.

--

--