Jak zorganizować testy wydajnościowe

Transkrypt

Jak zorganizować testy wydajnościowe
Jak zorganizować
testy wydajnościowe
JA N SA BA K
JA N . SABA K@ AMBERTEAM. PL
2 3 . 10. 2014
Agenda
kontekst
planowanie
projektowanie
implementacja
wykonanie
raportowanie
zamknięcie testów
Kontekst
Przychodzi konsultant do klienta …
◦ konsultant jest z zewnątrz projektu lub organizacji
◦ nie projektował i wykonywał testów w tym projekcie
◦ jest ekspertem od automatyzacji testów wydajnościowych
Planowanie
zaczynaj z wizją końca
◦ planowanie naturalne – wyobraź sobie rezultat jaki chcesz uzyskać
zasada Pareto
◦ automatyzujemy 80% ruchu na aplikacji
◦ zwykle to jest 20% funkcji
jak wyszacować testy wydajnościowe?
◦ przygotowanie skryptów
◦ 1 – 2 dni na przygotowanie pierwszego skryptu
◦ do 4h na następne skrypty
◦ wykonanie i raportowanie
◦ UWAGA: potrzebny jest czas na poprawianie skryptów
Wymagania wydajnościowe - postać
Ja jako klient banku chcę, żeby 90% moich pobrań wyciągów
wykonywała się szybciej niż w 1s (przy 3500 równolegle pracujących
użytkownikach)
W peaku w ciągu godziny webservice pobierania danych klienta jest
wywoływany 5000 razy i w 90% ma odpowiedzieć w czasie krótszym
niż 400ms
Wymagania wydajnościowe
- źródła
z produkcji
◦ logi z serwerów i aplikacji
od biznesu
◦ czas trwania procesów biznesowych
◦ wrażliwe punkty powmiarowe
od infrastruktury
◦ częstotliwość wywołań serwisów
z głowy testera
◦ doświadczenie
◦ zgadywanie
◦ żeby mieć coś na początek – później można dospecyfikować
Rozkład normalny
𝜇 = 10𝑠 𝜎 = 1s
Projektowanie testu
kroki testu
◦ test powinien być projektowany przez testera z projektu
◦ przekazany w formie ustnej
◦ nagrany jako film
dane testowe
◦ wymagania na dane testowe powinny przyjść z projektu
◦ słowniki z bazy
◦ zakresy losowania
◦ część danych powinna być zahardkodowana w skrypcie, bo wynika z kroków
◦ część generatorów danych powtarza się pomiędzy projektami
Implementacja
nagraj skrypt
podziel skrypt na moduły
dodaj generatory danych testowych
utwardź skrypt
sprawdź na jednym VU zapętlonym
sprawdź na 10 VU zapętlonych
Wykonanie
dobre rady:
◦ sesja testowa powinna trwać:
◦ nie krócej niż 30min
◦ najlepiej około 2h
◦ zapisuj i przechowuj wyniki wszystkich testów do późniejszej analizy
◦ w pliku JTL dla Jmetera
◦ w Excelu
◦ przekazuj niezwłocznie
wyniki testów
Raportowanie
zawartość raportu
◦ ogólny opis dla kierownictwa i ogólne wnioski
◦ opis środowiska i generatorów ruchu
◦ warunki testów
◦ ilość VU
◦ think time’y
◦ szczegółowe wyniki
◦ linia 90% + zderzenie z wymaganiami/SLA
Zamknięcie testów