Guideline: Vytvoření zátěžového testu
Vytvoření zátěžového testu
Main Description

SoapUI umožňuje vytvářet zátěžové testy z již vytvořených funkčních testů. Zátěžové testy se v SoapUI vytváří na úrovni testovacího případu. Pro tvorbu testu je potřeba mít vytvořenou testovací sadu a testovací případ, který obsahuje alespoň jeden dotaz na testovanou webovou službu.  Nový zátěžový test se vytvoří volbou New LoadTest nebo stisknutím klávesové zkratky CTRL + N, viz obrázek níže.

Vytvoření bezpečnostního testu v SoapUI (Zdroj: autor)

Po založení nového zátěžového testu je zobrazeno okno, které umožňuje vytvářet, spouštět a spravovat zátěžové testy pro jednotlivé dotazy na webovou službu viz obrázek níže.

Okno zátěžového testu v SoapUI (Zdroj: autor)

SoapUI automaticky vygeneruje zátěžový test, který je možné upravit parametry v horní části okna.

Přednastaven je limit běhu zátěžového testu na 60 vteřin. Místo vteřin je možné použít počet opakování nebo počet běhu na jedno vlákno. V případě zvolení počtu opakování budě každý krok opakován právě N krát.

V další části okna je možná nastavit počet vláken (Threads). Vlákno zde reprezentuje jednoho virtuálního uživatele, který vykonává jednotlivé kroky zátěžového testu. Počet vláken 5 tedy znamená, že je simulována situace, kdy pět uživatelů (každý sám za sebe) provádí definovaný set kroků.

Další volba umožňuje nastavit strategii zátěžového test. Na výběr jsou následující volby:

  • Burst – jedná se o strategii, kdy je ve stanovených intervalech generována krátkodobá vysoká zátěž. Interval se definuje v poli Burst Delay a délka generování zátěže se definuje v poli Burst Duration. Pro tento typ testů je vhodné nastavit vyšší počet vláken a kratší dobu zátěže.

V případě ukázky níže bude po dobu pěti minut, každých 60 vteřin generována zátěž sta uživatelů po dobu deseti vteřin.

Ukázka nastavení strategie Burst

Limit: 300 Seconds
Threads: 100
Strategy: Burst
Burst Delay: 60
Burst duration: 10

  • Simple – jedná se o přednastavenou strategii v SoapUI při vytvoření zátěžového testu. V rámci této strategie dochází k provedení testu s definovaným zpožděním mezi každou iterací. Zpoždění se definuje v poli Test Delay (ms). Zpoždění lze také pomocí pole Random upravit tak, aby zpoždění nebylo konstantní, ale aby obsahovalo určitou míru nahodilosti.

V případě ukázky níže bude po dobu 1 minuty test prováděn pěti virtuálními uživateli s jednovteřinovým zpožděním mezi každým provedením testu.

Ukázka nastavení strategie Simple

Limit: 60 Seconds
Threads: 5
Strategy: Simple
Test Delay: 1000
Random: 0

  • Thread – simuluje narůstající zátěž na webovou službu. V případě této strategie se definuje v poli Start Threads počáteční počet virtuálních uživatelů a v End Threads  konečný počet virtuálních uživatelů. Zátěž narůstá pozvolna (lineárně).

V ukázce níže je definováno, že bude po dobu 1 minuty narůstat počet virtuálních uživatelů, kteří provádějí test, od jednoho uživatele až po 60 uživatelů. Nárůst je jeden uživatel každou jednu vteřinu.

Ukázka nastavení strategie Simple

Limit: 60 Seconds
Threads: 60
Strategy: Threads
Start Threads: 1
End Threads: 60

  • Variance – cílem této strategie je simulovat zátěž, která v průběhu testu kolísá. V poli Interval se definuje interval, po kterém dojde ke změně počtu virtuálních uživatelů. V poli Variance se definuje, k jak velké změně v počtu virtuálních uživatelů dojde.

Ukázka níže uvádí test, který bude probíhat 5 minut a každou minutu dojde ke snížení nebo navýšení počtu virtuálních uživatelů o 5.

Ukázka nastavení strategie Simple

Limit: 300 Seconds
Threads: 10
Strategy: Threads
Interval: 60
Variance: 0.5

Po nadefinování testu je možné zátěžový test spustit tlačítkem . Po jeho spuštění je okamžitě vidět průběh testu se sledovanými parametry viz obrázek níže.

puštění zátěžového testu v SoapUI (Zdroj: autor) 

 Mezi sledované parametry zátěžového testu patří (Kankanamge, 2012):

  • min – minimální naměřená doba odpovědi testovacího kroku (v ms),
  • max – maximální naměřená doba odpovědi testovacího kroku (v ms),
  • avg – průměrná naměřená doba odpovědi testovacího kroku (v ms),
  • last – průměrná naměřená doba odpovědi posledního běhu (v ms),
  • cnt – kolikrát byl daný testovací krok proveden,
  • tps – počet transakcí za vteřinu,
  • bytes – kolik bytů bylo přesunuto,
  • bps – počet bytů za vteřinu,
  • err – počet chyb, které se běh testu objevily,
  • rat – procento neúspěšných dotazů.

More Information
Guidelines