
HP LoadRunner – Wprowadzenie
Pierwszy artykuł z serii poradników dla narzędzia HP LoadRunner.
HP LoadRunner to narzędzie firmy Hewlett Packard Enterprise, służące do testowania aplikacji poprzez pomiar zachowania i wydajności systemu pod zadanym obciążeniem. Projekt został zapoczątkowany przez Mercury Interactive w 1999 roku, w 2009 roku przejęty przez HP.
LoadRunner zawiera następujące komponenty:
- VuGen(Virtual User Generator) – tworzy zautomatyzowany skrypt testowy (Vuser script)
- Controller – organizuje, steruje, zarządza i nadzoruje proces testowy
- Analysis – pozwala na przeglądanie oraz analizę wyników testów
- Load Generators – jednostki, które odtwarzają wirtualnych użytkowników w celu wytworzenia obciążenia aplikacji
Narzędzie HP emuluje środowisko, w którym użytkownicy równocześnie wykonują określone czynności lub mają dostęp do systemu. Aby wykonać te zadania, pracę ręczną zastępuje się wirtualnym użytkownikiem tzw. Vuser. Działania jakie wykonuje Vuser są zwykle zapisane w skrypcie Vuser. Podstawowym narzędziem do tworzenia skryptów jest Generator wirtualnych użytkowników(VuGen).
VuGen pozwala nagrywać szeroki zakres protokołów, z których każdy dopasowany jest do konkretnego środowiska testowego oraz wyników w konkretnym typie skryptu. Rejestruje czynności, które osoba nagrywająca wykonuje podczas sesji, zapisane zostają tylko aktywność między klientem a serwerem. Przykładowo za pomocą protokołu HTTP/HTML tester ma możliwość emulować użytkowników działających poprzez przeglądarki internetowe, mobilne aplikacje połączone z internetem lub użyć FTP do emulowania sesji FTP. Poniżej przedstawiamy tabelę zawierającą listę ważniejszych dostępnych protokołów, całość do wglądu zamieszona jest pod adresem:
.NET | Obsługa nagrywania technologii klient-serwer firmy Microsoft |
Ajax | Użycie asynchronicznych żądań HTTP, bardziej dynamiczna interakcja z użytkownikiem niż w tradycyjnym modelu. |
C Vuser | Wirtualny użytkownik, który korzysta z standardowej biblioteki C. |
Citrix ICA | Zdalny dostęp do narzędzi, pozwalając użytkownikom na uruchamianie określonych aplikacji na maszynach zewnętrznych. |
COM/DCOM | Component Object Model (COM) – standard definiowania i tworzenia interfejsów programistycznych na poziomie binarnym dla komponentów oprogramowania |
DNS | Zmiana nazwy adresu mnemonicznej na adres IP |
ODBC | Protokół zapewnia wspólny interfejs umożliwiający dostęp do baz danych. |
TruClient – Mobile Web | Umożliwia nagrywanie ruchu aplikacji mobilych opartych na przeglądarkach wykorzystujących technologię TruClient. |
Web – HTTP/HTML | Emulacja komunikacji pomiędzy przeglądarką a serwerem WWW na poziomie HTTP i HTML. |
RDP | Narzędzie zdalnego dostępu korzystające z Microsoft Remote Desktop Connection, aby uruchomić aplikacje na zewnętrznych maszynach. |
SAP | Emulacja komunikacji pomiędzy przeglądarką a serwerem systemu SAP |
Web Services | Web Services to interfejs programistyczny dla aplikacji służący do komunikacji |
Po zakończeniu operacji nagrywania, VuGen udostępnia różne funkcje, za pomocą których można zdefiniować czynności wykonywanych podczas sesji nagraniowej, dostępne są one w edytorze VuGen.
VuGen umożliwia zaimplementowanie własnych funkcji do skryptu, zamiast nagrywania ich podczas rzeczywistej sesji, w tym celu wykorzystuje się API Vuser lub standardowe funkcje programowania. Skrypty tworzone są przy użyciu języków C, JavaScript, C #, VB.NET i języków programowania Java (w zależności od wybranego protokołu).
Testy obciążeniowe prowadzone za pomocą narzędzia LoadRunner zazwyczaj składają się z pięciu faz:
- Planowanie testów – określenie wymagań testów wydajnościowych, liczbę użytkowników, typowe procesy biznesowe, wymagane czasy reakcji itp.
- Utworzenie skryptów Vuser – użycie VuGen do konstrukcji automatycznych skryptów symulujących zdefiniowane działania użytkowników.
- Zdefiniowanie scenariusza – użycie kontrolera do konfiguracji środowiska testowego.
- Uruchomienie scenariusza – prowadzenie, zarządzanie i monitorowanie testów za pomocą kontrolera
- Analiza wyników – utworzenie graficznych wykresów, raportów oraz oceny wydajność systemu za pomocą narzędzia Analysis
LoadRunner posiada wiele dodatków rozszerzających funkcje narzędzia, umożliwiają one między innymi tworzenie testów w frameworku NUnit za pomocą Visual Studio lub testów jednostkowych przy użyciu Eclipse (JUnit lub Selenium) oraz wykorzystanie narzędzia ciągłej integracji jakim jest Jenkins. Mechanizm ten wykonuje zdefiniowane scenariusze Controller’a jako część zbudowanego skryptu.
VuGen integruje się również z Git Hub’em, pozwalając przesyłać skrypty z repozytorium Git’a oraz umożliwia wykonywanie typowych czynności, takich jak Pull, Push czy Track. LoadRunner jest również w pełni zintegrowany z innymi narzędziami HP:
- HP Network Virtualization – ujęcie czynników sieciowych do środowiska laboratoryjnego w celu zaprojektowania testów w różnych warunkach sieciowych, takich jak duże opóźnienia lub użytkowników mobilnych w sieci 3G z określonym nośnikiem. Te zaburzenia są implementowane do połączeń sieciowych pomiędzy aplikacją a wirtualnymi użytkownikami, co powoduje utworzenie topologii sieci wirtualnej, która emuluje sieć produkcyjną.
- HPE Service Virtualization – tworzenie wirtualnych usług. Poprzez symulację danych, wydajności oraz zachowania rzeczywistych komponentów możliwe jest rozpoczęcie wykonywania testów funkcjonalnych i wydajności w przypadku braku dostępu do oryginalnych usług lub gdy dostęp do danych jest ograniczony/ są one trudne do osiągnięcia.
LoadRunner jest jednym z najczęściej używanych narzędzi do testowania wydajności, ponieważ wykorzystuje minimalne zasoby sprzętowe i jest bardzo efektywny. Różne technologie mogą być stosowane osobno lub łączone razem, co przyczynia się do zwiększenia skuteczności testów wydajności. Jego zaletą jest elastyczny i wszechstronny silnik skryptowy dzięki któremu testowanie staje się bardziej inteligentne. Dodatkowym plusem jest obszerna dokumentacja oraz wsparcie ze strony firmy HP.
Sprawdź także: