(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).