3. Główne wyzwania/pytaniaGłówne wyzwania/pytania
● Jak mierzyć wydajność ?
● Gdzie zmierzyć wydajność ?
● Czym zmierzyć wydajność ?
● Kto powinien przeprowadzać testy wydajności ?
● Kto powinien interpetować wyniki testów ?
● Jak skalować wyniki testów ?
5. Czas odpowiedzi Jaki jest czas odpowiedzi ?
Jak stabilny jest system ?
Jaka konfiguracja jest najlepsza ?
W jakim momencie aplikacja zaczyna
zwalniać ?
Jaki jest powód „bottlenecka” ?
Czy nowa wersja aplikacji ma wpływ
na czasy odpowiedzi ?
Jaki jest najlepszy sprzęt dla
aplikacji ?
Główne cele testówGłówne cele testów
wydajnościowychwydajnościowych
Stabilność
Konfigurację
Pojemność
Identyfikacja wąskich gardeł
Porównanie
Skalowanie sprzętu
7. TransakcjaTransakcja
● Jest to zmiana stanu aplikcji
● Jest to sekwencja kroków w przypadku
testowym
Numer kroku Krok Oczekiwany rezultat
1 W pole login wpisz login Pole zostało wypełnione
2 W pole hasło wpisz hasło Pole zostało wypełnione
3 Wcisnij Przycisk zaloguj Widzimy „Ekran powitania
zalogowanego
użytkownika”
10. Miary techniczneMiary techniczne
(Liczniki)(Liczniki)
● Zużycie zasobów systemowych
(CPU, Pamięć, Dyski, Ilość procesów oczekujących, Context Switch )
● Zużycie zasobów serwerów aplikacyjnych
(mechanizmy GC, zużycie przestrzeni pamięci w JVM, pule połączeń
do bazy danych ….)
11. Monitorowanie a ProfilowanieMonitorowanie a Profilowanie
MonitorowanieMonitorowanie
Jest metodą badania nie inwazyjną dla systemu
ProfilowanieProfilowanie
Jest metodą badania inwazyjną dla systemu
16. Środowisko do testówŚrodowisko do testów
wydajnościowychwydajnościowych
● Musi być zbliżone architekturą do środowiska
produkcyjnego
● Musi posiadać identyczne ilości danych w
bazach jak na systemie produkcyjnym
● Musi posiadać wsparcie i obsługę
administratorów
● Musi być STABILNE !!!!STABILNE !!!!
17. Architektura wzorzecArchitektura wzorzec
ProdukcjaProdukcja TestyTesty
Linux Red Hat
Sun Solaris
WebSphere
Application Server
Enterprice Service Bus
Linux Red Hat
Oracle Database 11
8 GB
4 CPU
8 GB
8 CPU
8 GB
16 CPU
Linux Red Hat
Sun Solaris
WebSphere
Application Server
Enterprice Service Bus
Linux Red Hat
Oracle Database 11
8 GB
4 CPU
8 GB
8 CPU
8 GB
16 CPU
18. Linux Red Hat
Sun Solaris
Architektura antywzorzecArchitektura antywzorzec
WebSphere
Application Server
Enterprice Service Bus
Linux Red Hat
Oracle Database 11
ProdukcjaProdukcja
Windows
JBoss
Oracle XE
TestyTesty
MockUp
8 GB
4 CPU
8 GB
8 CPU
8 GB
16 CPU
2 GB 4 CPU
19. Architektura – dobra praktykaArchitektura – dobra praktyka
Linux Red Hat
Sun Solaris
WebSphere
Application Server
Enterprice Service Bus
Linux Red Hat
Oracle Database 11
8 GB
4 CPU
8 GB
8 CPU
8 GB
16 CPU
Linux
Linux
WebSphere
Application Server
Enterprice Service Bus
Linux
Oracle Database 11
8 GB
4 CPU
4 GB
4 CPU
4 GB
4 CPU
ProdukcjaProdukcja TestyTesty
21. Stabilne środowiskoStabilne środowisko
Cechy stabilnego środowiska:
● Znamy liczbę użytkowników jaką to środowisko
jest wstanie wytrzymać
● Środowiska działa zgodnie z umową SLA
22. Jak zbadać stabilnośćJak zbadać stabilność
środowiska ?środowiska ?
Pre-Testy
Scenariusz 1 – chcemy aby przez 1 godzinę wykonało się 10000 tys. transakcji
IlośćTransakcji
Kolejne pre-Testy
1
2
3
4
5
6
300 VUserów 250 VUserów 200 VUserów 200 VUserów 180 VUserów 150 VUserów
7
150 VUserów
3
24. Testerzy
Load Generation System Under Test
Czy mam takie zasoby ?
• Ludzie
• Komputery
Jak synchronizować testerów?
Jak zbierać i analizować ?
Jak zrobić potwarzalny test?
Analiza?
123.20
Wciskamy
„Zapisz” !!
!
Dawno dawno temu …..Dawno dawno temu …..
Web server Database
server
Koordynator
25. Dobre, używane i za darmoDobre, używane i za darmo
Zalety:
1. Jest darmowy
2. Dodatkowe pluginy
3. Możliwość testowania Usług
SOAP/REST
4. Wykorzystanie XSLT do
raportów
Wady:
1. Serwisowanie skryptów
2. Zużycie pamięci
26. Bardzo dobre używane i nie zaBardzo dobre używane i nie za
darmodarmo
Zalety:
1. Obsługa wielu technologii
2. Gotowy monitoring
3. Możliwość programowanie
automatów
Wady:
1. Cena
2. System licencyjny
27. Bardzo dobre używane i nie zaBardzo dobre używane i nie za
darmodarmo
Zalety:
1. Obsługa wielu technologii
2. Gotowy monitoring
3. Obsługa usług REST/SOAP
4. Obsługa wielu języków
Wady:
1. Cena
2. System licencyjny
28. Nowy, za darmo z przyszłościąNowy, za darmo z przyszłością
Zalety:
1. Obsługa języka Scala
2. Raportowanie Wady:
1. Brak wsparcia Load
Balancerów
2. Wsparcie tylko systemów
WWW
29. Narzędzie do testów usługNarzędzie do testów usług
SOAP/RESTSOAP/REST
Zalety:
Testowanie usług REST/SOAP
Prosty interfejs
Obługa języka groovy
Łatwe zarządzanie zmianą
Wady:
Brak
32. Ilość transakcji
IlośćTransakcji
Kolejne Testy
1
2
3
4
5
6
Test referencyjny 1
01-2014
Test referencyjny 2
01-2014
Test referencyjny 3
01-2014
Trend
Test powtórkowy 1
01-2014
Test powtórkowy 2
01-2014
Test powtórkowy 3
01-2014
Przykład 1Przykład 1
Ilość transakcji
IlośćTransakcji
Kolejne Testy
1
2
3
4
5
6
Test referencyjny 1
01-2014
Test referencyjny 2
01-2014
Test referencyjny 3
01-2014
Trend
Test powtórkowy 1
01-2014
Test powtórkowy 2
01-2014
Test powtórkowy 3
01-2014
33. Zużycie CPU
[%]Zużycia
Kolejne Testy
1
2
3 4
5
6
Test referencyjny 1
01-2014
Test referencyjny 2
01-2014
Test referencyjny 3
01-2014
Trend
Test powtórkowy 1
01-2014
Test powtórkowy 2
01-2014
Test powtórkowy 3
01-2014
Przykład 2Przykład 2
37. Tester wydajnościTester wydajności
● Powinien znać bardzo dobrze narzędzia do testów
wydajnościowych
● Powinien znać bardzo dobrze architekturę systemu
● Powinien opanować sztukę monitoringu
● Powinien być w kontakcie z administratorami jak i
programistami
38. Kto powinien interpetowaćKto powinien interpetować
wyniki ?wyniki ?
Administratorzy i developerzyAdministratorzy i developerzy
Miary techniczne
BiznesBiznes
TransakcjeTransakcje