Wydajność i niezawodność aplikacji internetowych to nie tylko klucz do sukcesu na rynku aplikacji, ale i konieczny odzew wobec oczekiwań współczesnych użytkowników. Martwicie się, że testowanie wydajności aplikacji to spore nakłady na fachowców i niezbędną infrastrukturę? Szkolenie „Testowanie wydajności aplikacji internetowych” to odpowiedź na wszystkie Wasze obawy i wątpliwości. Rozpoczynamy od wprowadzenia w metodykę testów wydajnościowych. Wskażemy Wam nie tylko sposoby identyfikacji celów wydajności aplikacji, ale także (równie ważnych) celów biznesowych. Wspólnie prześledzimy proces testowania wydajności, przeanalizujemy wymagania i ustalimy cele poszczególnych testów.
„Testowanie wydajności aplikacji internetowych” to szkolenie, które poprowadzi Was krok po kroku: od projektowania testów wydajnościowych i odpowiedniego przygotowania środowiska, przez wykonywanie testów, po zbieranie wyników i ich analizę. Podczas szkolenia zapoznacie się z problematyką automatyzacji testów wydajnościowych oraz zarządzaniem i rozwojem scenariuszy testowych. Poznacie niezbędne narzędzia do generowania danych i projektowania testów. Sami też, choć pod okiem trenera, przeprowadzicie serię symulacji.
- Wprowadzenie do metodyki testów wydajnościowych
- Identyfikacja celów wydajności i celów biznesowych
- Typy testów wydajnościowych
- Proces testowania wydajności
- Zrozumienie sposobu testowania wydajności
- Podejścia do procesu testowania wydajności
- Zbieranie wymagań i ustalenie celów testów
- Wybieranie sposobów pomiaru i kryteriów akceptacji
- Określenie profilu ruchu
- Projektowanie testów wydajnościowych i przygotowywanie środowiska
- Platforma docelowa vs platforma testowa, najczęściej popełniane błędy
- Przygotowanie scenariuszy i danych do testów
- Narzędzia do generowania danych do testów wydajności na przykładzie Databene Benerator
- Konfigurowanie infrastruktury na potrzeby testów wydajnościowych
- Projektowanie testów z wykorzystaniem JMeter oraz SOAPUI
- Projektowanie testów z wykorzystaniem narzędzi skryptowych, Funkload, locust.io oraz Grinder
- Definiowanie obciążenia i profilu ruchu
- Wykonywanie testów wydajnościowych
- Symulowanie transakcji, wykorzystanie narzędzi nagrywających ruch
- Symulacja obciążenia z wykorzystaniem testów rozproszonych na przykładzie JMeter i locust.io,
- Symulacja obciążenia systemu, z wykorzystaniem narzędzi Unix (m.in. stress)
- Analiza czynników wpływających na obciążenie systemu
- Zbieranie i analiza wyników testów wydajnościowych
- Monitorowanie wykorzystania zasobów systemu (IO,CPU,RAM) z wykorzystaniem narzędzi Unix
- Monitorowanie JVM z wykorzystaniem VisualVM i dostępnych rozszerzeń
- Monitorowanie zachowania serwera aplikacyjnego z wykorzystaniem JavaMelody
- Analiza zachowania systemu, typowe scenariusze (IO, CPU, RAM, aktywność GC, „lock contention”)
- Analiza tzw. „wąskich gardeł” z wykorzystaniem narzędzi dostępnych w Java SDK a także profilerów i Eclipse Memory Analyzer Tool
- Agregacja wyników testów oraz parametrów systemu z wykorzystanie Graphite
- Automatyzacja testów wydajnościowych
- Zarządzanie i rozwój scenariuszy testowych