Testy wydajności z Gatlingiem

Tytuł: Testy wydajności z Gatlingiem
Kod: craft-test-gat
Kategoria: Testowanie automatyczne
Forma: 25% wykłady / 75% warsztaty
Czas trwania: 2 dni
Odbiorcy: developerzy, testerzy
Zapisy: Indywidualne zamówienie i dopasowanie dla grupy.
Logistyka: W siedzibie klienta lub w innym dowolnym miejscu.

Podczas szkolenia uczestnicy poznają praktyczne techniki testowania wydajności systemów z wykorzystaniem Gatlinga. Warsztaty skupiają się głównie na praktycznym podejściu do testowania wydajności - pracujemy z realną aplikacją webową, którą należy przetestować pod kątem wydajności i przeanalizować gdzie są problemy z jej wydajnością.

Między praktycznymi zadaniami poruszamy teoretyczne podstawy testowania wydajności oraz pokazujemy najczęstsze błędy oraz jak ich uniknąć.

Gatling jest jednym z najbardziej popularnych narzędzi do testowania wydajności. Umożliwia tworzenie bardzo czytelnych, reużywalnych i komponowalnych testów wydajności, a niektóre z funkcji nie są możliwe do osiągnięcia w innych narzędziach.

W przeciwieństwie do rozwiązań opartych na UI (JMeter), do modyfikacji i rozwijania testów można użyć wszystkich ulubionych technik refaktoryzacji i rozwijania oprogramowania.

Wymaga dużo mniej zasobów do wygenerowania oczekiwane obciążenia, a dodatkowo umożliwia rozproszone testowanie z wielu maszyn jednocześnie, co jest szczególnie istotne w przypadku systemów opartych na rozwiązaniach chmurowych. Szkolenie możliwe jest do przeprowadzenia w Javie lub Scali.

Wyróżniki szkolenia

  • Czytelne i utrzymywalne testy wydajności jako kod.
  • Ćwiczenia praktyczne i dużo kodowania.

Program Szkolenia

Program jest ramą w jakiej możemy się poruszać merytorycznie - program dla konkretnego szkolenia dedykowanego ustalamy z grupą na podstawie analizy przed-szkoleniowej.

  1. Podstawy testowania wydajności
    1. przygotowanie środowiska testowego
    2. obserwowalność środowiska
      1. metryki
      2. logowanie
      3. profilowanie
  2. Metryki w testach wydajności
    1. jak nie dać oszukać się wartościom statystycznym
    2. porównywanie testów wydajności
  3. Błędy w narzędziach do testowania wydajności
    1. sposoby liczenia percentyli
    2. Coordinated Omission problem
  4. Podstawy Gatlinga
    1. architektura
    2. porównanie z innymi narzędziami do testowania wydajności
    3. utworzenie i uruchomienie pierwszego scenariusza testowego
  5. Zaawansowane funkcje Gatlinga
    1. walidacje odpowiedzi
    2. pętle
    3. wyrażenie warunkowe
    4. losowość danych
    5. wirtualna sesja użytkownika
    6. obsługa błędów w odpowiedziach
  6. Jakość testów
    1. poprawa modularności, reużywalności, kompozycji testów
    2. zapewnienie utrzymywalności testów i gotowość na zmiany
  7. Symulacja ruchu produkcyjnego
    1. zaawansowanie sterowanie ruchem generowanym przez Gatlinga
    2. generowanie danych testowych
  8. Wyniki testów wydajności
    1. throughput a latency
    2. generowanie raportów HTML
    3. globalne i jednostkowe metryki oraz wykresy
  9. Testy rozproszone
    1. generowanie maksymalnego obciążenia z wielu maszyn jednocześnie
    2. zbierania i przetwarzanie wyników
  10. Testy asynchroniczne
    1. problemy z testami asynchronicznymi
    2. testy WebSocketów lub JMS