Performans Testi Planı

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.