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.
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.
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.
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ů.
|