Performans Testi Planı
Amaç
Bu test planının amacı, uygulamanın farklı işlevlerini paralel olarak test etmek ve kullanıcı işlemleri sırasında sistemin performansını değerlendirmektir. Kullanıcı giriş-çıkış işlemleri, acil durum başvuruları, kullanıcı yönetimi, şifre işlemleri gibi yoğun kullanılan servisler eşzamanlı olarak simüle edilecek ve sistemin bu süreçlerdeki başarısı ölçülecektir. Testin genel amacı, gerçek hayat senaryoları altında uygulamanın performansını gözlemlemektir.
Test Plan
Öncelikle AYS_PERMISSION
tablosundaki IS_SUPER
alanı false olan bütün permission’lara sahip 5 farklı kurumdan 20'şer kullanıcı oluşturulmalı ve csv dosyasına kullanıcı bilgileri eklenmelidir.
Toplam Kullanıcı Sayısı:
İlk test için 50 (Kurum A için 10 kullanıcı, Kurum B için 10 kullanıcı, Kurum C için 10 kullanıcı, Kurum D için 10 kullanıcı, Kurum E için 10 kullanıcı)
50, 100, 250, 1000, 5000 ve 20000 kullanıcı aynı anda işlem yapacak şekilde farklı test senaryoları oluşturulacaktır.
Kullanıcılar, kurum sayısına göre eşit olarak dağıtılacaktır.
Test Süresi: Kullanıcılar aynı anda işlemlerini gerçekleştirecekler.
Thread Group: 5 adet Thread Group olacak:
Login ve Logout işlemleri için bir Thread Group
Acil Durum Tahliye Başvurusu Oluşturma için bir Thread Group
Acil Durum Tahliye Başvurusu işlemleri için bir Thread Group
Kullanıcı Yönetimi işlemleri için bir Thread Group
Şifre İşlemleri için bir Thread Group
Test Plan Yapısı (Detaylı Konfigürasyon)
CSV Data Set Config (Kullanıcı Bilgilerini Çekmek için)
Test Plan altında, Thread Group'lardan önce bir CSV Data Set Config eklenmelidir.
CSV Data Set Config'in ayarları:
File Name:
path_to_your_csv_file.csv
(CSV dosyasının tam yolu)Variable Names:
emailAddress,password,sourcePage
(CSV dosyasındaki başlıklarla uyumlu olmalı)Delimiter:
,
(CSV dosyasındaki ayırıcı karakter)Recycle on EOF:
True
(CSV dosyasındaki veriler bittiğinde tekrar başa dönmesini sağlamak için)Stop thread on EOF:
False
(CSV verileri bitse bile thread'in çalışmasına devam etmesini sağlamak için)
Thread Groups
Thread Group 1: Login ve Logout İşlemleri
Number of Threads (Users): Kurumlara göre eşit olacak şekilde belirlenen kullanıcı sayısı
Ramp-Up Period: 10 saniye (Kullanıcıların yavaşça başlatılması)
Loop Count: 1 (Her kullanıcı sadece bir kez login/logout yapacak) (Senaryoya göre değişebilir)
Samplers (HTTP Request'ler):
Login Request:
Method:
POST
URL:
Login url
Parameters: csv dosyasından çekilecek şekilde ayarlanmalıdır.
- emailAddress: ${emailAddress}
- password: ${password}
- sourcePage: ${sourcePage}
Logout Request:
Method:
POST
URL:
Logout url
Parameters:
refreshToken
Thread Group 2: Acil Durum Tahliye Başvurusu Oluşturma
Number of Threads (Users): Kurumlara göre eşit olacak şekilde belirlenen kullanıcı sayısı
Ramp-Up Period: 10 saniye (Kullanıcı sayısına göre değişir)
Loop Count: 1 (Her kullanıcı sadece bir kez başvuru yapacak) (Senaryoya göre değişebilir)
Samplers (HTTP Request'ler):
Acil Durum Başvuru Oluşturma Request
Thread Group 3: Acil Durum Tahliye Başvurusu İşlemi
Number of Threads (Users): Kurumlara göre eşit olacak şekilde belirlenen kullanıcı sayısı
Ramp-Up Period: 10 saniye (Kullanıcı sayısına göre değişir)
Loop Count: 1 (Her kullanıcı sadece bir kez başvuru yapacak) (Senaryoya göre değişebilir)
Samplers (HTTP Request'ler):
Acil Durum Başvuru Listeleme Request
Acil Durum Başvuru Oluşturma Request
Acil Durum Başvuru Güncelleme Request
Acil Durum Başvuru Detayı Request
Thread Group 4: Kullanıcı Yönetimi İşlemleri
Number of Threads (Users): Kurumlara göre eşit olacak şekilde belirlenen kullanıcı sayısı
Ramp-Up Period: 10 saniye (Kullanıcı sayısına göre değişir)
Loop Count: 1 (Her kullanıcı sadece bir kez kullanıcı yönetim işlemi gerçekleştirecek) (Senaryoya göre değişebilir)
Samplers (HTTP Request'ler):
Kullanıcı Listeleme Request
Kullanıcı Oluşturma Request
Kullanıcı Güncelleme Request
Kullanıcı Detayı Request
Thread Group 5: Şifre İşlemleri
Number of Threads (Users): Kurumlara göre eşit olacak şekilde belirlenen kullanıcı sayısı
Ramp-Up Period: 10 saniye (Kullanıcı sayısına göre değişir)
Loop Count: 1 (Her kullanıcı sadece bir kez kullanıcı yönetim işlemi gerçekleştirecek) (Senaryoya göre değişebilir)
Samplers (HTTP Request'ler):
Şifremi Unuttum Request
Ekstra Konfigürasyonlar
Listeners: Test sonuçlarını izlemek için eklenecektir.
View Results Tree: Detaylı sonuçları görmek için.
Summary Report: Genel bir özet raporu oluşturmak için.
Aggregate Report: Tüm verileri toplamak için.
Her işlem grubu, kullanıcıların aynı anda gerçekleştirdiği işlemlerle paralel olarak çalışacak ve her grup bağımsız olarak yapılandırılacak.