Top Banner
Analiza wydajności następnej generacji – przykłady Gliwice, 31.05.2014
32

Analiza wydajności następnej generacji - przykłady.

Jun 23, 2015

Download

Technology

Prezentacja Karola Mioduszewskiego z III edycji konferencji Quality Excites.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Analiza wydajności następnej generacji - przykłady.

Analiza wydajności następnej

generacji – przykłady

Gliwice, 31.05.2014

Page 2: Analiza wydajności następnej generacji - przykłady.

Wprowadzenie

Podstawowe informacje o testach wydajnościowych

OpenSource vs NeoLoad – z doświadczenia

Podsumowanie

Agenda

Page 3: Analiza wydajności następnej generacji - przykłady.

Soflab Technology

Page 4: Analiza wydajności następnej generacji - przykłady.

Soflab Technology jest spółką realizującą od ponad 5 lat usługi niezależnego testowania oprogramowania

Główne obszary działania firmy to:

Zarządzanie i realizacja testów

Zarządzanie jakością i ryzykiem w projektach IT

Wdrażanie narzędzi wsparcia testów

Naszym doświadczeniem wspieramy firmy posiadające rozbudowaną infrastrukturę IT w korzystaniu z usług dostawców oprogramowania

Naszym głównym celem jest dostarczanie usług i informacji, dzięki którym nasi Klienci mogą podejmować właściwe decyzje i egzekwować od dostawców IT wartości, które są istotne zarówno dla poszczególnych projektów informatycznych, jak i całej organizacji

Soflab Technology Podstawowe informacje o firmie

Page 5: Analiza wydajności następnej generacji - przykłady.

Soflab Technology Fakty i liczby

Aktualnie jesteśmy obecni w Warszawie, Łodzi, Krakowie, Wrocławiu, Trójmieście i Katowicach, realizujemy także projekty za granicą

Zespół Soflab liczy ponad 200 osób

Dotychczas zrealizowaliśmy ponad 750 projektów

Realizujemy projekty dla Klientów z takich branż jak: telekomunikacja, bankowość, media, ubezpieczenia, energetyka, jak również dla administracji publicznej

Mamy status Preferowanego Partnera firmy HP oraz jesteśmy jedynym w Polsce partnerem takich wiodących producentów narzędzi do testowania i zapewnienia jakości oprogramowania jak Neotys, Exact Solutions i Inflectra

Posiadamy ponad 100 certyfikatów ISTQB Certified Tester Foundation Level, 20 certyfikatów ISTQB Certified Tester Advanced Level oraz kilkadziesiąt innych certyfikatów IT (Prince2, PMI, ITIL, Professional Scrum Master itd.)

Page 6: Analiza wydajności następnej generacji - przykłady.

Testy Wydajnościowe

Page 7: Analiza wydajności następnej generacji - przykłady.

Testy Wydajnościowe Główne cele testów wydajnościowych

Weryfikacja spełnienia wymagań wydajnościowych

Wczesna identyfikacja problemów wydajnościowych

Poprawa wydajności systemu

Identyfikacja problemów niezwiązanych z wydajnością

Ewaluacja sprzętu/oprogramowania/konfiguracji (strojenie)

Inne

Cele

Testów Wydajnościowych

Page 8: Analiza wydajności następnej generacji - przykłady.

Testy Wydajnościowe Rodzaje testów wydajnościowych

Testy wydajnościowe

Weryfikacja czasów odpowiedzi krytycznych z punktu biznesowego funkcjonalności systemu

Weryfikacja czy przy zakładanym obciążeniu systemu poszczególne akcje są wykonywane w akceptowalnym (założonym) czasie

* Podział i definicje z ISO/IEC 29119

Stress testing

Load testing

Capacity testing

Endurance testing

Volume testing

Testy przeciążeniowe

Weryfikacja zachowania testowanego środowiska w sytuacji awaryjnej (zbyt wielu użytkowników, malejące zasoby systemowe etc.)

Testy obciążeniowe

Weryfikacja zachowania testowanego środowiska przy zwiększającym się obciążeniu.

Badanie zachowania środowiska przy minimalnym, standardowym i w tzw. „peak”-ach

Testy przepustowości

Weryfikacja poziomu na którym zwiększone obciążenie (użytkowników, transakcji, danych) powoduje brak utrzymania wymagań wydajnościowych

Testy wytrzymałościowe

Weryfikacja czy testowane środowisko jest w stanie stabilnie pracować przy ciągłym wymaganym obciążeniu w wymaganym przedziale czasowym

Testy objętościowe

Weryfikacja działania testowego środowiska pod kątem przetworzenia wyspecyfikowanego wolumenu danych w różnych aspektach

Performance testing

Page 9: Analiza wydajności następnej generacji - przykłady.

Testy Wydajnościowe Następnej generacji

Obecnie nie wystarczają już same testy przeprowadzenie lokalnie z użyciem niewielkich wolumenów obciążenia.

Wykonywanie realistycznych testów:

WWW, aplikacje Mobilne (native, hybrid, secured)

Symulowanie właściwości sieci

Symulowanie przeglądarek oraz ich możliwości

Symulowanie równoległych połączeń

Testy z lokalizacji z całego świata o wolumenie rzędu 1M VU

– takie obciążenie było kiedyś nieosiągalne

Gotowość do pracy w kilka minut

Praca w zamiennym środowisku np. Agile

Monitoring produkcji

Time to market

Page 10: Analiza wydajności następnej generacji - przykłady.

Testy Wydajnościowe Określenie zakresu

Profil Ruchu

VU

Środowisko Testowe i jego parametry

Dane testowe, generowanie, modyfikacja,

re-używalność, walidacje

Zaślepki

Wsparcie administracyjne i biznesowe

Page 11: Analiza wydajności następnej generacji - przykłady.

Koncepcja testów wydajnościowych Metodyka testów wydajnościowych

• Określenie sposobu osiągnięcia celu, wstępne określenie ram czasowych Projektu. Planowanie

• Analiza wymagań;

• Ocena systemu i architektury Analiza

• Określenie rodzaju testów wydajnościowych i profilu ruchu.

• Opracowanie skryptów w oparciu o cele, wymagania, architekturę; Projektowanie

• Przygotowanie środowiska, danych testowych, monitoringu. Implementacja

• Uruchomienie testów w oparciu o cele, wymagania, architekturę. Wykonanie

• Analiza w oparciu o cele – opracowanie zwięzłego podsumowania wyników zebranych w czasie uruchomienia testów;

• Przedstawienie w formie raportu wyników prac.

Analiza wyników i raportowanie

Page 12: Analiza wydajności następnej generacji - przykłady.

OpenSource vs NeoLoad –

z doświadczenia

Page 13: Analiza wydajności następnej generacji - przykłady.

JMeter – OpenSource

JMeter jest jednym z najpopularniejszych narzędzi przeznaczonym do przeprowadzania

testów wydajnościowych.

Page 14: Analiza wydajności następnej generacji - przykłady.

Narzędzie Neoload Neotys – profil firmy

Producent narzędzi do testów wydajnościowych:

Rok założenia: 2005;

Produkt: NeoLoad. FRANCE

• HQ;

• R&D;

• Technical Support;

• Operations.

USA

• Technical Support;

• Operations.

Germany

• Operations.

Page 15: Analiza wydajności następnej generacji - przykłady.

Neotys NeoLoad Architektura rozwiązania

Page 16: Analiza wydajności następnej generacji - przykłady.

Neotys NeoLoad Architektura rozwiązania

Page 17: Analiza wydajności następnej generacji - przykłady.

Neotys NeoLoad Badanie wydajność aplikacji mobilnych

Neload w pełni adresuje potrzeby następnej generacji. W kontekście testów wydajnościowych aplikacji umożliwia:

Symulacje wielu urządzeń mobilnych (Android, iOS, Blackberry) - możliwe jest odtworzenie ruchu zgodnego z produkcyjnym - np. 30% użytkowników korzysta z Samsunga z Android 4.x , 20% użytkowników korzysta z iPhone 5, etc

Symulowanie opóźnienia wynikającego z technologii wykorzystywanych do transmisji danych na urządzenia mobilne - LTE, 4G, 3G, EDGE etc.

Wykonywanie testów kompleksowych dla systemów posiadających kanał mobilny i www podczas uruchomienia

Page 18: Analiza wydajności następnej generacji - przykłady.

Neotys NeoLoad Cloud Nagrywanie dowolnej aplikacji na dowolnych urządzeniach

Page 19: Analiza wydajności następnej generacji - przykłady.

Narzędzie Neoload Neoload – Wspierane technologie

Wspierane technologie dla nagrywania skryptów:

Page 20: Analiza wydajności następnej generacji - przykłady.

Narzędzie Neoload Neoload – Wspierane technologie c.d.

Urządzenia mobilne:

Moduły monitorujące:

Możliwość integracji:

Page 21: Analiza wydajności następnej generacji - przykłady.

Narzędzie Neoload Neoload – architektura cd.

Kontroler (The Controller)

Dostarcza graficzny interfejs z poziomu którego użytkownik może nagrywać i odtwarzać skrypty, uruchamiać testy oraz dokonywać analizy wyników testów.

Monitoruje poszczególne komponenty infrastruktury testowanego środowiska

Generator ruchu (The Load Generator)

Symuluje działania użytkowników;

Zbiera informacje dotyczące zachowania aplikacji;

Może zostać zainstalowany na dowolnej ilości maszyn;

Page 22: Analiza wydajności następnej generacji - przykłady.

NeoLoad

Cloud Delivery • Amazon EC2

• HP Cloud

• Rackspace

APM • dynaTrace

• CA APM

• AppDynamics

Mobile • Integrated WAN Emulation

• Shunra

Test Management • Inflectra SpiraTeam

• HP Quality Center

• CloudSigma • Glesys • Joyent

Narzędzie Neoload Możliwości integracji

Page 23: Analiza wydajności następnej generacji - przykłady.

• Narzędzie posiada wiele wbudowanych funkcjonalności jednakże niektóre operacje wymagają dodatkowych pluginów lub/i kodowania,

• Nagrywanie i parametryzacja oraz konfiguracja dużego wolumenu obciążenia są czasochłonne,

• Niektóre funkcję nie są przyjazne użytkownikowi.

• Główne funkcjonalności narzędzia dostępne po zaledwie kilku kliknięciach,

• Interfejs przyjazny użytkownikowi,

• Narzędzie bardzo szybko gotowe do pracy.

• Możliwość modyfikacji liczby VU w trakcie wykonywania testu,

• 99% pracy możliwe do wykonania poprzez GUI (Scripting, Data),

• Zaawansowane raporty oraz SLA.

JMeter vs. NeoLoad – w praktyce Łatwość użycia

Page 24: Analiza wydajności następnej generacji - przykłady.

• Narzędzie wspiera HTTP/S oraz SOAP.

• Z pudełka dostępnych jest wiele protokołów: HTTP/S, AJAX Push, Web Socket, Flex, Forms, GWT, JAVA, RTMP, SOAP, Siebel…

JMeter vs. NeoLoad – w praktyce WEB Protocols

Page 25: Analiza wydajności następnej generacji - przykłady.

• Narzędzie nie posiada wbudowanego monitoringu.

• Wbudowany monitoring,

• Możliwość monitorowania wielu elementów architektury,

• Integracja z dynaTrace, CA APM, oraz AppDynamics,

• Możliwość pobrania danych z zewnętrznych źródeł oraz auto korelacja z wynikami oraz przebiegiem testów,

• Prekonfigurowane progi alertów.

JMeter vs. NeoLoad – w praktyce Monitoring

Page 26: Analiza wydajności następnej generacji - przykłady.

• Do 50% mniej wirtualnych użytkowników na jedną maszynę generująca ruch niż w przypadku NeoLoad,

• Dedykowane serwisy np. BlazeMeter umożliwiają wygenerowanie obciążenia maksymalnie do 100 000 jednoczesnych wirtualnych użytkowników.

• „Nieskończenie” skalowalne,

• Możliwość skorzystania z platformy NeotysCloud w celu generowania obciążenia.

JMeter vs. NeoLoad – w praktyce Skalowaloność

Page 27: Analiza wydajności następnej generacji - przykłady.

• Brak możliwości emulowania przepustowości.

• Możliwe bezpośrednie nagrywanie z urządzenia mobilnego,

• Emulowanie przeglądarki mobilnej w czasie nagrywania lub w trakcie testu,

• Generowanie realistycznego ruchu na serwerze poprzez emulowanie sieci WAN (przepustowość, opóźnienie, packet loss).

JMeter vs. NeoLoad – w praktyce Mobile

Page 28: Analiza wydajności następnej generacji - przykłady.

Podsumowanie

Page 29: Analiza wydajności następnej generacji - przykłady.

Podsumowanie Kiedy JMeter jest najlepszym wyborem?

Apache JMeter jest oprogramowaniem typu OpenSource

zaprojektowanym do testów obciążeniowych aplikacji

oraz do mierzenia wydajności. Zawsze najważniejszym

czynnikiem wyboru jest użycie odpowiedniego narzędzia

do wykonania odpowiedniej pracy. JMeter to najlepszy

wybór gdy:

- Architektura testowanej aplikacji nie jest

skomplikowana,

- Generowane obciążenie jest niewielkie,

- Nie ma presji czasu.

Page 30: Analiza wydajności następnej generacji - przykłady.

Podsumowanie Kiedy NeoLoad jest najlepszym wyborem?

NeoLoad jest narzędziem następnej generacji testów

wydajnościowych zaprojektowanym do testów aplikacji

mobilnych oraz webowych. Użycie NeoLoad pomaga

zwiększyć produktywność, testować więcej, szybciej .oraz

maksymalizując wydajność badanych aplikacji. Organizacje

powinny rozważyć wybór NeoLoad gdy:

- Badaniu podlegać mają aplikacje webowe oraz mobilne,

- SOA,

- Jest potrzeba odwzorowania rzeczywistego obciążenia,

- Niezbędne jest dynamiczne zwiększanie obciążenia,

- Projekt prowadzony jest metodyką Agile,

- Presja czasu.

Page 31: Analiza wydajności następnej generacji - przykłady.

Podsumowanie NeoLoad – narzędzie następnej generacji

Testy wydajnościowe systemów nowej generacji są w pełni wspierane przez Neotys Neoload. Wyzwania jakim należy sprostać to przede wszystkim:

Wielość urządzeń, systemów operacyjnych, na których używany może być system (realistyczne testy).

Innowacyjność - TTM (Time to Market) jest kluczowe,

Weryfikacja wydajnościowa systemu na środowisku docelowym (pre-produkcja, produkcja) z maksymalnym odwzorowaniem ruchu produkcyjnego. Neload Cloud daje możliwość symulowania nawet 1 miliona użytkowników, z wielu lokalizacji, w ciągu zaledwie kilku minut,

UX – doświadczenie użytkowników końcowych bez względu na ich lokalizację bez względu na urządzenie oraz technologię,

Monitoring środowisk produkcyjnych,

Page 32: Analiza wydajności następnej generacji - przykłady.

Dziękuję za uwagę

Soflab Technology Sp. z o.o.

ul. Ligocka 103

40-568 Katowice

tel.: +48 32 353 31 25

fax: +48 32 353 31 26

www.soflab.pl