(Microsoft PowerPoint - Testowanie wydajno\234ciowe aplikacji

Transkrypt

(Microsoft PowerPoint - Testowanie wydajno\234ciowe aplikacji
Artur Opala, Euro Bank S.A.
Testowanie
wydajnościowe
aplikacji
•
•
•
•
•
Testowanie wydajnościowe aplikacji internetowych
Wstępne, analityczne, badawcze
Deweloperskie
WdroŜeniowe
Ratunkowe (debug)
Okresowe, kontrolne
Typy testów wydajnościowych
Testowanie wydajnościowe aplikacji internetowych
• Wybór technologii bazowych dla aplikacji
na etapie projektowania.
• Tworzenie zaleceń wydajnościowych dla
środowisk docelowych.
• Określanie wartości granicznych
wydajności, wzajemnych zaleŜności
parametrów, charakterystyk, itp.
• Prewencja
Wstępne, analityczne, badawcze
Testowanie wydajnościowe aplikacji internetowych
• Weryfikacja załoŜeń wydajnościowych dla
tworzonych aplikacji, modułów,
komponentów
• Testy jednostkowe kodu uruchamiane z
pomiarem wydajności.
Deweloperskie
Testowanie wydajnościowe aplikacji internetowych
• Weryfikacja załoŜeń wydajnościowych
aplikacji dla środowiska docelowego
• Weryfikacja poprawności funkcjonalnej w
środowisku docelowym.
• Weryfikacja konfiguracji środowiska
docelowego
WdroŜeniowe
Testowanie wydajnościowe aplikacji internetowych
• Symulacja środowiska i obciąŜenia
produkcyjnego w celu identyfikacji źródeł
występujących błędów.
• MoŜliwość manipulowania parametrami
obciąŜenia/konfiguracji w celu wywołania
(powtórzenia) błędów.
Ratunkowe (debug)
Testowanie wydajnościowe aplikacji internetowych
• Weryfikacja załoŜeń wydajnościowych
związana z cyklem wdroŜeń nowych wersji
aplikacji – testy przedwdroŜeniowe.
Okresowe, kontrolne
•
•
•
•
•
•
•
Testowanie wydajnościowe aplikacji internetowych
Metoda
Środowisko
Aplikacja
ObciąŜenie
Narzędzia obciąŜające
Narzędzia monitorujące
Raport (wyniki)
Komponenty testu.
•
•
•
•
•
Testowanie wydajnościowe aplikacji internetowych
Izolacja problemu, pomiaru
Aplikacja vs. Środowisko
Co mierzymy?
Podejścia: całościowe, punktowe
Zoom
Metoda.
Testowanie wydajnościowe aplikacji internetowych
• AranŜacja środowiska testowego –
modelowanie środowiska docelowego:
znane/nieznane, kopia/uproszczenie,
warianty korzystne/niekorzystne,
parametryzacja rzeczywista/graniczna.
• Problemy ze skalowaniem wyników.
Środowisko.
Testowanie wydajnościowe aplikacji internetowych
• Konfiguracja i parametryzacja aplikacji
odpowiednia do wybranej metody
• Optymalizacje on/off
Aplikacja.
Testowanie wydajnościowe aplikacji internetowych
• Zapewnienie odpowiednich danych testowych
pokrywających testowane procesy.
• Kontrola relacji procesów wykonanych do
załoŜonych.
• Strategie: jednostajne/progresywne/losowe
– procesy kluczowe, reguła 20/80
– procesy marginalne, ale istotne dla całości aplikacji
• Dobór ścieŜek testowych:
ObciąŜenie.
Testowanie wydajnościowe aplikacji internetowych
• Dobór odpowiedniego narzędzia do testu
• Kwestie wydajności generatora
(przekłamania na wejściu)
• JUnity, JMeter
Narzędzia obciąŜające.
•
•
•
•
•
•
Testowanie wydajnościowe aplikacji internetowych
Log własny aplikacji
JMX
SNMP
JVM PI / DI / TI
Instrumentacja kodu
Kwestie wydajności i ziarna narzędzia
monitorującego (przekłamania na wyjściu)
Narzędzia monitorujące.
•
•
•
•
– Przepustowość
– Czas odpowiedzi
– ZuŜycie zasobów
– Inne
Izolacja pomiaru
Szumy
Metody statystyczne
Mierzone parametry:
Pomiar.
Testowanie wydajnościowe aplikacji internetowych
Testowanie wydajnościowe aplikacji internetowych
• Istotne szczegóły metody, środowiska,
aplikacji, uŜyte narzędzia.
• Otrzymane wartości w formie tabel,
wykresów.
• Korelacja uzyskanych danych.
• Pojedyńcze wartości podsumowujące
umoŜliwiające porównywanie wyników
• Interpretacja wyników w kontekście
przebiegu testu
Raport (wyniki).