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