Usługa: Testowanie wydajności oprogramowania testerzy.pl przeprowadzają kompleksowe testowanie wydajności różnych systemów informatycznych. Testowanie wydajności to próba obciążenia serwera, bazy danych oraz samej aplikacji w oparciu o przygotowane scenariusze użycia (np. wyszukiwanie, zakładanie konta, korzystanie z forum, itd.) oraz wygenerowanych wirtualnych użytkowników, którzy dane scenariusze wykonują. Wynikiem testu jest raport o niewydajnych elementach i rekomendacje odnośnie modyfikacji. Wskazujemy krytyczne punkty systemu, negatywnie wpływające na wydajność końcowego produktu.
W ramach realizacji projektu dostarczamy następujące usługi oraz produkty: wykonanie testów w oparciu o proces testowy oprogramowanie potrzebne do wykonania testów scenariusze testowe raport z wykonania testów. Aby osiągnąć zakładane cele wymagana jest współpraca twórcy oprogramowania (Klienta) oraz dostarczenie jak najpełniejszej dokumentacji systemu i wymagań (o ile zostały sprecyzowane). Proces testowy Testy wydajności wykonywane są w oparciu o zdefiniowany proces testowy: Planowanie testów planowanie testów odbywa się wraz z Klientem w oparciu o dostarczone wymagania. Definiowane są cele testów oraz określany jest zakres i czynności wymagane do osiągnięcia zakładanych celów. W oparciu o dostarczone wymagania analizowane są podstawy testów, przedmiot testów jest oceniany pod względem testowalności. Elementem wyjściowym z fazy planowania są zidentyfikowane przypadki testowe z odpowiednio nadanymi priorytetami oraz wyznaczone obszary do testów. Projektowanie testów projektowanie testów ma na celu przygotowanie skryptów, które uzyskają planowane pokrycie testowe oraz zapewnią zakładaną efektywność testów. W oparciu o analizę z poprzedniej fazy przygotowywane są skrypty testowe oraz dane testowe. W oparciu o przygotowane skrypty testowe budowane są scenariusze realizujące wyznaczone założenia dla oprogramowania. Wykonanie testów wykonanie testów odbywa się według ustaleń Klienta. Testy wykonywane są w oparciu o przygotowane wcześniej skrypty testowe. Wykonanie testów odbywa się według ustalonego harmonogramu wykonania testów. Rejestracja wyników testów rejestracja wyników wydajności wykonywana jest przez nasz zespół oraz Klienta podczas wykonania testów. Nasz zespół rejestruje wszystkie dane wydajności od strony testowanego oprogramowania. Klient jest zobowiązany rejestrować wszystkie dane wydajności (np. zapisy monitorów systemowych) od strony serwera aplikacji. Raportowanie testów wyniki wykonania testów są analizowane, przygotowywany jest szczegółowy raport. Zakończenie testów (stop) prezentowane są wyniki uzyskane podczas testów, omawiany jest raport wykonania testów oraz analizowane jest kryterium zakończenia testów.
Testowane technologie Testy wydajności mogą być wykonywane dla różnych typów aplikacji i technologii, w jakiej dany system został stworzony. Wykonujemy testy aplikacji webowych i desktopowych w technologiach (przykłady): PHP JAVA.NET / ASP / C# C++/C JS / AngularJS / AJAX SOAP / REST inne. Wykorzystane technologie Podczas wykonywania testów wydajności możemy wykorzystywać różne technologie i narzędzia. Odpowiednie narzędzie i technologię dobieramy po zapoznaniu się z systemem oraz oczekiwaniami Klienta. Najczęściej korzystamy z narzędzi: JMeter umożliwia generowanie obciążenia do wykonania testów wydajnościowych SoapUI narzędzie umożliwiające wykonywanie testów wydajnościowych usług sieciowych HP LoadRunner rozbudowane narzędzie do wykonywania testów wydajności Gatlink rozwiązanie umożliwiające wykonywanie testów wydajności w oparciu o skrypty testowe
Java platforma umożliwiająca tworzenie oprogramowania w oparciu o język programowania Java SVN narzędzie kontroli wersji. Architektura testowanego systemu Wykonanie testów możliwe jest w dla różnych typów dostępu do architektury odpowiedzialnej za działania aplikacji: Publiczna aplikacja jest dostępna z zewnętrznej sieci, możliwe jest korzystanie z aplikacji w sieci publicznej. Do testów wykorzystywane są narzędzia i sprzęt dostarczone w ramach wykonania testów. Prywatna (autoryzacja dostępu) aplikacja jest dostępna z zewnętrznej sieci przy wykorzystaniu sieci wewnętrznej (np. VPN). Do testów wykorzystywane są narzędzia i sprzęt dostarczone w ramach wykonania testów. Prywatna aplikacja dostępna jest tylko w sieci wewnętrznej, wymagana praca u Klienta. Do testów wykorzystywane są narzędzia dostarczone w ramach wykonania testów. Sprzęt potrzebny do generowania obciążenia jest dostarczony przez Klienta. W przypadku rozbudowanej architektury Klient zobowiązany jest do dostarczenia specyfikacji technicznej umożliwiającej przeprowadzenie analizy wykorzystywanej architektury. Architektura testującego systemu Architektura systemu wykorzystywanego do testów musi być odpowiednio rozbudowana, aby można było sprostać wymaganiom odnośnie wygenerowanej liczby wirtualnych użytkowników. W zależności od narzędzi wykorzystywanych podczas testów sprzęt wchodzący w skład architektury może składać się z: MASTER (zarządca) maszyna zarządzająca wykonaniem testów SLAVE (generator obciążenia) maszyny umożliwiające generowanie zakładanego obciążenia, pracują pod kontrolą maszyny zarządzającej. Budowa skryptów Skrypty budowane są w narzędziach wykorzystywanych do wykonania testów. Wsparciem dla narzędzi jest platforma Java, umożliwiająca integrację z dodatkowymi narzędziami. W przypadku potrzeby rozbudowania narzędzi o dodatkowe możliwości lub optymalizację skryptów testowych wykorzystujemy dedykowane temu rozwiązania. Możliwe jest zastosowanie innych narzędzi lub technologii. Skrypty tworzone są w oparciu o przygotowane przez Klienta scenariusze i przypadki testowe.
Skrypty testowe tworzone są automatycznie poprzez nagranie ruchu w sieci oraz manualnie w przypadku braku możliwości nagrania ruchu. Parametryzacja skryptów odbywa się w oparciu o dostarczone przez Klienta dane testowe lub wygenerowane przez narzędzia dane testowe. Skrypty testowe po wykonaniu testów dostarczane są Klientowi wraz z raportem wykonania testów. Zespół projektowy Projekty realizowane są przez zespół specjalistów składający się z: lidera projektu specjalisty ds. wydajności specjalisty ds. technicznych. Korzyści Testy wydajności w naszej firmie prowadzone są przez najlepszych ekspertów w branży. Dysponują oni wieloletnim doświadczeniem i praktyką zarówno w wielkich, jak i mniejszych projektach informatycznych. Wszystkie metody i wykonywane prace testowe są dostosowane do wykorzystywanego procesu wytwarzania i testowania oprogramowania. Kluczowym elementem naszej oferty jest elastyczność względem Klienta, jego metodyk, standardów i wykorzystywanych praktyk.
Oferujemy elastyczny model rozliczeń, gdzie płacą Państwo jedynie za realnie przepracowane godziny i użyty sprzęt. Pracujemy dla projektów ograniczonych czasowo, budżetowo lub funkcjonalnie, stosując techniki bazujące na ryzyku i doświadczeniu. Czas trwania projektu Czas trwania projektu jest szacowany indywidualnie z Klientem w oparciu o dostarczone wymagania oraz dokumentację systemu. W oparciu o posiadane doświadczenie nasi specjaliści wykonują wstępne szacunki pracochłonności wykonania projektu. W przypadku niedostępności aplikacji lub problemów z architekturą testowanego systemu czas trwania projektu może zostać wydłużony. Koszty Koszty wykonania usługi szacowane są indywidualnie w oparciu o dostarczone wymagania i dokumentację systemu. W oparciu o dostarczone informacje wykonujemy wstępne szacunki kosztowności wykonania usługi. W przypadku niedostępności aplikacji lub problemów z architekturą testowanego systemu koszt wykonania usługi może zostać zmieniony. Dostawa Klienta Klient zobowiązuje się do dostarczenia aplikacji lub adresu internetowego, pod którym znajduje się aplikacja. W przypadku aplikacji pracującej w sieci wewnętrznej Klient zapewnia również pełen dostęp do aplikacji i jej zasobów. Wraz z systemem dostarczana powinna zostać dokumentacja użytkownika (jeśli istnieje) i wymagania (jeśli sprecyzowane), aby można było lepiej przygotować testy. Dostawa po testach Po zakończeniu testów dostarczymy raport z testów. Podstawowym celem testów jest identyfikacja jak największej liczby obszarów, które wpływają na stabilność aplikacji i architektury sprzętowej. W końcowym raporcie zawieramy analizę jakości testowanej aplikacji, listę uwag oraz listę obszarów, które potencjalnie mogą wpływać negatywnie na poprawność działania całego systemu. Dodatkowo dostarczane są skrypty, które były wykorzystywane podczas testów wydajności.
Referencje