complete performance testing guide with examples
Co to jest testowanie wydajności?
Testy wydajnościowe, znane również jako „testy wydajności”, to rodzaj testów wykonywanych w celu sprawdzenia, jak aplikacja lub oprogramowanie działa pod obciążeniem pod względem szybkości reakcji i stabilności. Celem testu wydajności jest identyfikacja i usuwanie wąskich gardeł wydajności z aplikacji.
Ten test jest wykonywany głównie w celu sprawdzenia, czy oprogramowanie spełnia oczekiwane wymagania dotyczące szybkości, skalowalności i stabilności aplikacji.
jak pisać przypadki testowe w testowaniu ręcznym
W tej serii samouczków omówimy od podstaw wszystkie szczegóły, takie jak - typy testów wydajności, proces i pisanie dokumentu strategii testów wydajnościowych.
To jest szczegółowa seria samouczków, którą możesz dodać do zakładek!
Odkryjmy!
Lista WSZYSTKICH samouczków dotyczących testowania wydajności w tej serii:
Samouczek nr 1: Kompletny przewodnik po testach wydajnościowych (Ten samouczek)
Samouczek nr 2: Różnica między testami wydajności, obciążenia i obciążenia
Samouczek nr 3: Testowanie funkcjonalne a testowanie wydajności
Samouczek nr 4: Plan testów wydajnościowych i strategia testów
Samouczek nr 5: Sposoby usprawnienia testów wydajności
Samouczek nr 6: Przewodnik po testowaniu wydajności chmury
Samouczek nr 7: Przewodnik po testowaniu wydajności aplikacji mobilnych
Samouczek nr 8: Jak przeprowadzić ręczne testy wydajności
Samouczek nr 9: Samouczek dotyczący testowania wydajności witryny
Samouczek nr 10: Firmy testujące wydajność
Samouczek nr 11: Testowanie wydajności za pomocą LoadRunner (Seria)
Przybory:
Samouczek nr 12: Najlepsze narzędzia do testowania wydajności
Samouczek nr 13: Samouczek dotyczący testu wydajności Neoload
Samouczek nr 14: Samouczek BlazeMeter Mobile Performance Test
Samouczek nr 15: Samouczek testu obciążenia, obciążenia i wydajności WAPT
Samouczek nr 16: Samouczek dotyczący testowania wydajności witryny SmartMeter.io
Czego się nauczysz:
- Rodzaje testów wydajności
- Proces testowania wydajności
- Jak napisać dokument dotyczący strategii testów wydajności?
- Przykładowy szablon strategii testu wydajności
- #1. Wstęp
- # 2) Zakres
- # 3) Podejdź
- # 4) Dane testowe
- # 5) Kryteria wejścia i wyjścia
- # 6) Zarządzanie defektami
- # 7) Narzędzia i techniki testowania
- # 8) Kryteria zawieszenia i wznowienia
- # 9) Testowanie produktów
- # 10) Role i obowiązki
- 11) Potencjalne ryzyko i plan łagodzenia
- # 12) Założenia
- # 13) Zależności
- # 14) Skróty
- Najlepsze praktyki w zakresie realistycznego testowania wydajności
Rodzaje testów wydajności
Testowanie obciążenia
Testowanie obciążenia to rodzaj testu wydajności, w ramach którego aplikacja jest testowana pod kątem wydajności podczas normalnego i szczytowego użytkowania. Wydajność aplikacji jest sprawdzana pod kątem jej odpowiedzi na żądanie użytkownika i jej zdolności do spójnego odpowiadania w ramach przyjętej tolerancji na różne obciążenia użytkowników.
Kluczowe kwestie to:
- Jakie jest maksymalne obciążenie, jakie aplikacja jest w stanie utrzymać, zanim aplikacja zacznie nieoczekiwanie działać?
- Ile danych jest w stanie obsłużyć baza danych, zanim nastąpi spowolnienie systemu lub awaria?
- Czy są jakieś problemy związane z siecią, którymi należy się zająć?
Test naprężeń
Testowanie warunków skrajnych służy do znalezienia sposobów na złamanie systemu. Test podaje również zakres maksymalnego obciążenia, jakie może wytrzymać system.
Ogólnie rzecz biorąc, testy warunków skrajnych mają podejście przyrostowe, w którym obciążenie jest zwiększane stopniowo. Test jest uruchamiany z obciążeniem, dla którego aplikacja została już przetestowana. Następnie powoli dodaje się więcej obciążenia, aby obciążać system. Punkt, w którym zaczynamy widzieć, że serwery nie odpowiadają na żądania, jest uważany za punkt krytyczny.
Należy odpowiedzieć na następujące pytania:
- Jakie jest maksymalne obciążenie, jakie system może wytrzymać, zanim się zepsuje?
- Jak się psuje system?
- Czy system jest w stanie odtworzyć po awarii?
- Na ile sposobów system może się zepsuć i które są słabym węzłem podczas obsługi nieoczekiwanego obciążenia?
Testowanie objętości
Testowanie zbiorcze ma na celu sprawdzenie, czy na wydajność aplikacji nie ma wpływu ilość danych obsługiwanych przez aplikację. W celu wykonania testu wolumenu do bazy danych wprowadzana jest ogromna ilość danych. Ten test może być testem przyrostowym lub stałym. W teście przyrostowym ilość danych jest stopniowo zwiększana.
Ogólnie rzecz biorąc, wraz z użyciem aplikacji, rozmiar bazy danych rośnie i konieczne jest przetestowanie aplikacji pod kątem ciężkiej bazy danych. Dobrym tego przykładem może być strona internetowa nowej szkoły lub uczelni, która początkowo ma niewielkie ilości danych do przechowywania, ale po 5-10 latach magazynów danych w bazie danych witryny jest znacznie więcej.
Testowanie wydajności
=> Czy aplikacja jest w stanie sprostać wymaganiom biznesowym zarówno w warunkach normalnego, jak i szczytowego obciążenia?
Testowanie wydajności jest zwykle wykonywane dla przyszłych klientów. Testy wydajności dotyczą następujących kwestii:
- Czy aplikacja będzie w stanie obsłużyć przyszłe ładowanie?
- Czy środowisko jest w stanie wytrzymać nadchodzące zwiększone obciążenie?
- Jakie dodatkowe zasoby są wymagane, aby środowisko było wystarczająco wydajne?
Testowanie wydajności służy do określenia liczby użytkowników i / lub transakcji, które dana aplikacja internetowa będzie obsługiwać i nadal będzie spełniała wymagania dotyczące wydajności. Podczas tego testowania zasoby, takie jak pojemność procesora, przepustowość sieci, użycie pamięci, pojemność dysku itp., Są brane pod uwagę i zmieniane, aby osiągnąć cel.
Bankowość internetowa jest doskonałym przykładem tego, gdzie testowanie zdolności może odgrywać główną rolę.
Niezawodność / odzyskiwanie Testowanie
Testowanie niezawodności lub test przywracania - służy do sprawdzenia, czy aplikacja jest w stanie powrócić do normalnego stanu po awarii lub nietypowym zachowaniu i jak długo to trwa (innymi słowy, oszacowanie czasu).
Jeśli w serwisie handlowym online wystąpi awaria, w wyniku której użytkownicy nie będą w stanie kupować / sprzedawać akcji w określonym momencie dnia (w godzinach szczytu), ale są w stanie to zrobić po godzinie lub dwóch, możemy powiedzieć, że aplikacja jest niezawodna lub wyzdrowiał z nienormalnego zachowania.
Proces testowania wydajności
Oto wszystkie czynności wykonane w tym teście:
1) Analiza / zbieranie wymagań
Zespół wykonawczy współpracuje z klientem w celu identyfikacji i gromadzenia wymagań - technicznych i biznesowych. Obejmuje to uzyskiwanie informacji o architekturze aplikacji, technologiach i używanej bazie danych, przewidywanych użytkownikach, funkcjonalności, wykorzystaniu aplikacji, wymóg testu , wymagania sprzętowe i programowe itp.
# 2) Wybór POC / narzędzia
Po zidentyfikowaniu kluczowej funkcjonalności, POC (Proof Of Concept - który jest rodzajem demonstracji działania w czasie rzeczywistym, ale w ograniczonym sensie) jest wykonywany za pomocą dostępnych narzędzi.
Lista dostępnych narzędzi uzależniona jest od kosztu narzędzia, protokołu, z którego korzysta aplikacja, technologii użytych do budowy aplikacji, liczby użytkowników, których symulujemy do testu itp. Podczas POC tworzone są skrypty dla zidentyfikowanego klucza funkcjonalność i wykonywane z 10-15 wirtualnymi użytkownikami.
# 3) Plan i projekt testu wydajności
W zależności od informacji zebranych w poprzednich etapach przeprowadzane jest planowanie i projektowanie testów.
Planowanie testów obejmuje informacje o tym, jak będzie przebiegać test wydajności - środowisko testowe, obciążenie, sprzęt itp.
Więcej o dokumencie Strategia testów poniżej.
# 4) Opracowywanie testów wydajności
- Przypadki użycia są tworzone dla funkcjonalności określonej w planie testów jako zakres PT.
- Te przypadki użycia są udostępniane klientowi do zatwierdzenia. Ma to na celu zapewnienie, że skrypt zostanie nagrany z poprawnymi krokami.
- Po zatwierdzeniu tworzenie skryptu rozpoczyna się od zapisania kroków w przypadkach użycia za pomocą narzędzia do testowania wydajności wybranego podczas POC (Proof of Concepts) i jest ulepszane przez wykonanie korelacji (do obsługi wartości dynamicznej), parametryzacji (zastępowania wartości) i zależnie od sytuacji lub potrzeby. Więcej informacji na temat tych technik znajdziesz w naszych samouczkach wideo.
- Skrypty są następnie sprawdzane pod kątem różnych użytkowników.
- Równolegle do tworzenia skryptów zespół wykonawczy pracuje również nad konfiguracją środowiska testowego (oprogramowania i sprzętu).
- Zespół wykonawczy zajmie się również metadanymi (zapleczem) za pośrednictwem skryptów, jeśli ta czynność nie zostanie podjęta przez klienta.
5) Modelowanie testów wydajności
Na potrzeby wykonywania testów tworzony jest model obciążenia wydajności. Głównym celem tego kroku jest sprawdzenie, czy dane metryki wydajności (dostarczone przez klientów) zostały osiągnięte podczas testu, czy nie. Istnieją różne podejścia do tworzenia modelu obciążenia. „ Little’s Law ”Jest używany w większości przypadków.
# 6) Wykonanie testu
Scenariusz jest zaprojektowany zgodnie z modelem obciążenia w kontrolerze lub centrum wydajności, ale początkowe testy nie są wykonywane z maksymalną liczbą użytkowników, którzy są w modelu obciążenia.
Wykonywanie testów odbywa się przyrostowo. Na przykład, Jeśli maksymalna liczba użytkowników wynosi 100, scenariusze są najpierw uruchamiane z 10, 25, 50 użytkownikami itd., A ostatecznie przechodzą do 100 użytkowników.
# 7) Analiza wyników testów
Wyniki testów są najważniejszym materiałem dostarczanym przez testera wydajności. W tym miejscu możemy udowodnić ROI (zwrot z inwestycji) i produktywność, które mogą zapewnić testy wydajności.
aplikacja umożliwiająca szpiegowanie innych telefonów
Niektóre z najlepszych praktyk, które pomagają w procesie analizy wyników:
- Unikalna i zrozumiała nazwa dla każdego wyniku testu - pomaga to w zrozumieniu celu testu.
- W podsumowaniu wyników testu uwzględnij następujące informacje:
- Przyczyna niepowodzenia / błędów
- Zmiana wydajności aplikacji w porównaniu z poprzednim uruchomieniem testowym
- Zmiany wprowadzone w teście od momentu kompilacji aplikacji lub środowiska testowego.
- Dobrą praktyką jest podsumowanie wyników po każdym uruchomieniu testu, tak aby wyniki analizy nie były kompilowane za każdym razem, gdy wyniki testu są odsyłane.
- PT generalnie wymaga wielu testów, aby dojść do prawidłowego wniosku.
- W podsumowaniu wyników warto mieć następujące punkty:
- Cel testu
- Liczba wirtualnych użytkowników
- Podsumowanie scenariusza
- Czas trwania testu
- Wydajność
- Wykresy
- Porównanie wykresów
- Czas odpowiedzi
- Wystąpił błąd
- Zalecenia
# 8) Zgłoś
Wyniki testów należy uprościć, aby wniosek był jaśniejszy i nie wymagał żadnego wyprowadzenia. Zespół deweloperski potrzebuje więcej informacji na temat analizy, porównania wyników i szczegółów dotyczących sposobu uzyskania wyników.
Raport z testu uważa się za dobry, jeśli jest zwięzły, opisowy i na temat.
Jak napisać dokument dotyczący strategii testów wydajności?
W tym samouczku wyjaśniono, jak napisać przykładową strategię testów wydajności dla aplikacji do obsługi wiadomości.
Pamiętaj, że to tylko przykład, a wymagania będą się różnić w zależności od klienta. W tym samouczku poznamy również najlepsze praktyki dotyczące testów wydajnościowych.
Przykładowy szablon strategii testu wydajności
O aplikacji ABC chat - Załóżmy, że jest to środowisko pracy czatu, które jest używane w firmie przez agenta obsługi klienta. Ta aplikacja do czatu używa protokołu XMPP, tj. Extensible Messaging and Presence Protocol oraz Open fire server do wysyłania i odbierania wiadomości błyskawicznych.
W tym istniejącym kliencie czatu wprowadzono pewne ulepszenia, takie jak zdalne sterowanie komputerem, diagnostyka komputera, narzędzia naprawcze, czat online itp., Więc ta strategia testu wydajności jest przykładem takich aplikacji.
W przypadku tej aplikacji załóżmy, że zespół projektowy zdecydował się na użycie JMeter do testowania wydajności i JIRA do śledzenia defektów.
Pierwsza strona dokumentu strategii testów wydajności powinna zawierać tytuł dokumentu i prawa autorskie firmy.
Druga strona powinna zawierać kontrolę dokumentów, która obejmuje historię wersji dokumentu, listę recenzentów i zatwierdzających oraz listę współautorów.
Trzecia strona powinna zawierać spis treści, a następnie poniższe tematy.
#1. Wstęp
Celem tego dokumentu jest zdefiniowanie / wyjaśnienie, w jaki sposób testy wydajnościowe będą wykonywane w aplikacji czatu ABC dla obecnego i przyszłego stanu.
Aplikacja ABC chat jest wewnętrznym środowiskiem pracy agenta zdalnego wsparcia. Ten stół warsztatowy będzie używany do spełniania żądań klientów. To Środowisko robocze ma takie funkcje, jak czat online, identyfikacja klienta, zdalne sterowanie komputerem, diagnostyka komputera i narzędzia do naprawy.
Cel
Kluczowe cele testów wydajnościowych są następujące:
- Aby uzyskać pewność, że zmiany w istniejącej aplikacji do czatu są zgodne z określoną Umową o poziomie usług.
- Aby zapewnić, że nowe ulepszenia nie wpłyną na wydajność aplikacji, dostępność usług i stabilność aplikacji.
- Czasy reakcji transakcji pozostają w akceptowalnej tolerancji dla rosnącego profilu obciążenia.
- Maszyny JVM wykazują stabilne wykorzystanie pamięci w ramach rosnących profili obciążenia.
Poniższy rysunek jasno wyjaśnia proces testowania wydajności i optymalizacji:
Architektura
W tej sesji musisz uwzględnić diagram architektury swojego projektu.
# 2) Zakres
W ramach
Poniżej znajduje się zakres Testowania wydajności dla środowiska roboczego ABC chat:
- Znajomość kluczowych transakcji biznesowych i dystrybucja obciążenia po dokładnym przestudiowaniu systemu.
- Zidentyfikuj krytyczne scenariusze testowania wydajności przy pomocy różnych ścieżek projektu.
- Użyj wyników poprzedniej wersji jako punktu odniesienia dla przyszłych wersji.
- Zweryfikuj i zweryfikuj środowisko testów wydajności oraz infrastrukturę narzędzi do testów wydajności / obciążenia dla wszelkich dodatkowych maszyn agentów.
- Przygotowanie skryptów testów wydajnościowych przy użyciu JMeter dla zidentyfikowanych scenariuszy naśladujących zidentyfikowane obciążenie szczytowe.
- Skonfiguruj monitorowanie wydajności na serwerach w celu monitorowania testu w celu zidentyfikowania wąskich gardeł podczas fazy wykonywania testu.
- Opublikuj wyniki testu wydajności.
- Koordynuj współpracę z różnymi interesariuszami, aby rozwiązać zidentyfikowane problemy z wydajnością.
- Opracuj poziom wydajności dla przyszłych wersji.
Poza zakresem
- Testy funkcjonalności , UAT, testowanie systemu i testowanie bezpieczeństwa.
- Testowanie / monitorowanie wydajności interfejsów innych firm.
- Podnoszenie wydajności. (W większości przypadków strojenie jest wykonywane przez inny zespół, jeśli masz inżynierów wydajności do dostrojenia systemu, możesz to dodać w Inscope).
- Profilowanie kodu / Rozmiar sprzętu / Planowanie wydajności.
- Bezpieczeństwo / Testy podatności / UAT / Testowanie białoskrzynkowe .
- Generowanie danych do testów wydajnościowych.
- Testy niefunkcjonalne ( Na przykład, przełączanie awaryjne, odtwarzanie po awarii, tworzenie kopii zapasowych, użyteczność) inne niż testy wydajności.
- Testowanie dowolnego rozwiązania mobilnego.
- Testowanie i dostrajanie wydajności aplikacji innych firm.
- Realizacja zaleceń dotyczących wydajności, zmiany kodu aplikacji i zmiany konfiguracji produktów / serwerów obsługiwanych przez sprzedawcę będą poza zakresem z perspektywy zespołu Performance.
- Wsparcie infrastruktury / Wdrażanie kompilacji / Gotowość środowiska / Przywracanie bazy danych / Wsparcie sieciowe itp.
# 3) Podejdź
Testy wydajności dla czatu ABC zostaną przeprowadzone za pomocą Jmeter, pisząc niestandardowe wtyczki XMPP, które używają biblioteki smack do połączeń XMPP. Biblioteki te służą do nawiązywania połączeń, logowania i wysyłania wiadomości czatu na serwer XMPP.
Te biblioteki są spakowane w pliku jar, który jest wdrażany w Jmeter i jest zaprojektowany na podstawie scenariuszy do przetestowania. Jmeter Work Bench jest instalowany na lokalnej maszynie, która łączy się z serwerem JMeter wyposażonym w generatory obciążenia w celu wygenerowania wymaganego obciążenia w systemie serwera czatu w celu monitorowania zachowania systemu.
Scenariusz testowy zostanie utworzony przy użyciu narzędzia JMeter. Skrypty zostaną dostosowane zgodnie z wymaganiami. Harmonogram zostanie utworzony z wymaganym przyspieszeniem w celu symulacji rzeczywistych scenariuszy.
Scenariusz testowy zostałby podzielony i zmierzony w poniższych aspektach:
a) Test podstawowy: Aby uruchomić każdy scenariusz z 1 Vuserem i wieloma iteracjami w celu określenia, czy wydajność aplikacji jest zgodna z biznesową umową dotyczącą poziomu usług, czy nie.
b) Test obciążenia podstawowego: Aby spełnić kryteria biznesowe w testach obciążenia, zespół ds. Testów wydajności wykona test obciążenia podstawowego, który pomoże zidentyfikować wszelkie problemy z wydajnością systemu przy rosnącym obciążeniu i stworzy podstawę do następnego poziomu testów wydajności.
c) Test obciążenia szczytowego / skalowalności: Zespół ds. Testowania wydajności przeprowadzi wiele testów z rosnącymi Vuserami, aby sprostać oczekiwanemu obciążeniu, a także zmierzy wydajność aplikacji w celu ustalenia krzywej wydajności i określenia, czy wdrożenie może obsługiwać umowy dotyczące poziomu usług przy szczytowym obciążeniu użytkownika.
Pomaga w dostrajaniu lub planowaniu wydajności poszczególnych maszyn wirtualnych Java (JVM), całkowitej liczby wymaganych maszyn JVM i procesorów. Zostanie to osiągnięte poprzez zwiększenie liczby Vuserów do 50%, 75%, 100% i 125% szczytowej wydajności.
re) Test wytrzymałości: Zespół ds. Testów wydajności będzie przeprowadzał ten test przez 8 godzin / 16 godzin / 24 godziny, aby zidentyfikować wycieki pamięci, problemy z wydajnością w czasie i ogólną stabilność systemu. Podczas testów wytrzymałościowych zespół Performance Testing monitoruje kluczowe wskaźniki wydajności, takie jak czasy odpowiedzi transakcji i stabilność wykorzystania pamięci.
Zasoby systemowe, takie jak procesor, pamięć i we / wy, muszą być monitorowane z pomocą zespołu projektowego.
Zakłada się, że środowisko testowe wydajności jest repliką środowiska produkcyjnego. Testy będą uruchamiane z przyrostowym obciążeniem, aby zidentyfikować miejsce awarii aplikacji.
Scenariusze testów wydajności
Dołącz excel do zestawu scenariuszy.
Na przykład,
Scenariusz 1: Aby potwierdzić czat Agenta i klienta dla X no. jednoczesnych sesji.
Typy testów wydajności
Poniższa tabela wyjaśnia różne rodzaje testów wydajności wraz z ich celami.
jak otworzyć plik binarny w systemie Windows
Typ testu | Cel |
---|---|
UAT | Testy akceptacyjne użytkowników |
Test podstawowy | Ustal najlepszą wydajność przy określonych objętościach, które posłużą jako odniesienie przy kolejnych pomiarach. |
Test obciążenia | Zmierz wydajność systemu przy przewidywanym szczytowym obciążeniu produkcyjnym. |
Test wytrzymałości | Pomiar stabilności systemu przy dużej objętości przez dłuższy czas. |
Test obciążeniowy | Zmierz wydajność systemu w niesprzyjających warunkach. |
Wskaźniki wydajności
- Metryki po stronie klienta
S.No | Metryczny | Opis | Format |
---|---|---|---|
1 | Czas reakcji transakcji | Czas odpowiedzi stron podczas stabilnego stanu testu wydajności | Wykres |
dwa | Wydajność | Ilość danych, które VUsery otrzymały z serwera w czasie | Wykres |
3 | Trafienia / sekundę | Liczba żądań HTTP wysłanych przez VUsers do serwera WWW podczas wykonywania scenariusza | Wykres |
4 | Liczba transakcji zakończonych sukcesem / niepowodzeniem | Łączna liczba transakcji, które przeszły i zakończyły się niepowodzeniem podczas wykonywania testu | Przewyższać |
5 | Współczynnik błędów transakcji | Procent transakcji, które zakończyły się niepowodzeniem podczas wykonywania testu | Wykres |
- Wskaźniki wydajności systemu i sieci
Testy wydajnościowe i materiały dostarczane
# 4) Dane testowe
Zakłada się, że dane środowiska wydajnościowego będą kopią danych produkcyjnych, a wymagane dane testowe zostaną dostarczone przez zespół projektowy.
# 5) Kryteria wejścia i wyjścia
- Dostęp do wszystkich aplikacji w środowisku.
- Gotowość środowiska zakończona.
- Gotowość danych do testu wydajności.
# 6) Zarządzanie defektami
- Moduł zarządzania defektami w JIRA będzie używany w projekcie do rejestrowania defektów i śledzenia do zamknięcia.
- Identyfikacja defektów znalezionych podczas fazy wykonywania testów zostanie przechwycona w JIRA, a defekty te zostaną rozwiązane przez zespół programistów zgodnie z poniższymi poziomami ważności.
- Spotkania dotyczące przeglądu usterek odbywałyby się codziennie z udziałem zespołów testujących, programistycznych, analityków jakości i zespołów biznesowych.
- Kryteria naprawy usterek staną się bardziej rygorystyczne w miarę zbliżania się projektu do daty rozpoczęcia eksploatacji. Wytyczne dotyczące kryteriów naprawy defektów, które mają być publikowane na spotkaniach przeglądowych.
Definicja wagi wady
Definicje kodów dotkliwości są następujące:
Surowość | Opis problemów związanych z rozwojem i ulepszaniem |
---|---|
Blocker | Błąd systemu, pokaż stoper, problemy z siecią |
Krytyczny | Błędy systemu, brak wyraźnego obejścia, przerwy lub brakujące funkcje biznesowe |
Poważny | Wykryto poważny problem, dla którego istnieje obejście, które może nie być jasne dla wszystkich użytkowników, jednak produkt nie powinien zostać wydany bez naprawy |
Średni | Istnieje problem z łatwym / prostym obejściem, ale tego typu usterka może zostać usunięta po zatwierdzeniu przez kierownika biznesowego i / lub kierownika projektu |
Niska | Problemy kosmetyczne, które nie kolidują z funkcjami biznesowymi lub inne sporadyczne problemy, których nie można odtworzyć za każdym razem |
# 7) Narzędzia i techniki testowania
Przybory | Cel, powód |
---|---|
Jmeter | Weryfikacja obciążenia i wydajności aplikacji ABC Chat. |
# 8) Kryteria zawieszenia i wznowienia
Poniżej podano krytyczne kryteria zawieszenia i wznowienia, które będą miały wpływ na czynności testowe:
Zawieszenie | Wpływ | Wznowienie |
---|---|---|
Środowisko nie zostało skonfigurowane | Testowanie nie może być kontynuowane | Gotowość środowiska. |
Stwierdzono, że aplikacja jest niestabilna | Testowanie nie może być kontynuowane. | Problem rozwiązany |
Dane testowe nie są dostępne | Testowanie nie może być kontynuowane. | Dane testowe gotowe |
# 9) Testowanie produktów
Elementy dostarczane w ramach testu wydajności obejmują:
- Strategia testowania wydajności
- Dokument wymagań wydajnościowych
- Dokument scenariusza testu wydajności
- Skrypty testów wydajności
- Wyniki testów wydajności
# 10) Role i obowiązki
Role i obowiązki są jasno wyjaśnione w poniższej tabeli.
11) Potencjalne ryzyko i plan łagodzenia
S.No | Ryzyko | Prawdopodobieństwo | Wpływ | Plan ograniczania ryzyka | Właściciel |
---|---|---|---|---|---|
1 | Niedostępność danych testowych w przypadku wykonywania testów obciążenia wydajności | H. | H. | Szacowane daty wykonania testów wydajnościowych powinny zostać przejrzane i zaktualizowane. Do gromadzenia danych wymagane jest wsparcie zespołu funkcjonalnego / deweloperskiego. | - |
dwa | Kwestie ochrony środowiska | L | M | Zmień priorytety dostarczanych materiałów | - |
3 | Zmiana funkcjonalności / projektu podczas wykonywania testów wydajnościowych | M | H. | Wymaga to ponownego opracowania scenariuszy testów wydajności | - |
4 | Dodatkowa wydajność działa w celu rozwiązywania problemów z wydajnością | M | H. | Harmonogramy testów wydajności zostaną zmodyfikowane i zaktualizowane dla zespołu produktu. | - |
5 | Szacunki są przygotowywane na podstawie 1 kompilacji poprawiającej błędy pod kątem wydajności. Wiele kompilacji poprawiających błędy opóźni cykle testowe i ostatecznie zależy to od tego, kiedy następna kompilacja będzie dostępna do ponownego uruchomienia. | H. | H. | Zmień priorytety cykli wykonywania testów wydajnościowych. | - |
6 | Dostępność sprzętu | M | H. | Data rozpoczęcia harmonogramu zostanie odpowiednio przesunięta. | - |
# 12) Założenia
- Performance Test Environment będzie repliką krajobrazu architektury produktu. (tj. prawidłowy sprzęt, oprogramowanie, interfejsy, warstwy integracji itp.).
- Skrypty wydajnościowe zostaną zaprojektowane na podstawie krytycznych przepływów, których użycie jest wysokie.
- Wszystkie problemy z infrastrukturą powinny zostać rozwiązane przed rozpoczęciem testów wydajności. Wszelkie późniejsze zmiany konfiguracji systemu unieważnią wyniki testu.
- Aplikacja jest stabilna i gotowa do użycia w środowisku testów wydajnościowych.
- Udostępniane są niezbędne zasoby sprzętowe i programowe (takie jak maszyny / oprogramowanie generatora obciążenia, maszyny kontroler / agent).
- Wszelkie zmiany w zakresie przechodzą przez proces kontroli zmian, a zespół testujący wydajność oceni wpływ terminów i zasobów.
- Oczekuje się, że odpowiednie serwery będą obsługiwać obciążenie.
- Dzienniki śledzenia aplikacji muszą być włączone dla systemów pomocniczych do celów monitorowania.
# 13) Zależności
- Dostępność środowiska testowego wydajności, które jest repliką krajobrazu architektury produktu.
- Wsparcie wymagane od różnych zespołów funkcjonalnych, programistycznych, baz danych i infrastruktury na etapie przygotowania i wykonania testów.
- Żadne zmiany kodu nie są wprowadzane podczas całej fazy testów wydajnościowych, ponieważ czas jest bardzo ograniczony.
- W przypadku nieprzewidzianych problemów, które prowadzą do ograniczeń w ramach czasowych, jeśli ramy czasowe nie pozwalają na spełnienie wszystkich zakresów testów w pierwotnych datach kamieni milowych, Kierownicy ds. Wersji mogą uzyskać wsparcie w celu ustalenia zakresu i ustalenia priorytetów.
- Użytkownicy biznesowi aplikacji / eksperci merytoryczni zostaną udostępnieni w celu uzyskania wyjaśnień funkcjonalnych i podpisania transakcji biznesowych.
- Menedżer programu ABC chat dokona przeglądu i podpisze się.
# 14) Skróty
Skrót | Opis |
---|---|
DB | Baza danych |
Http | Hyper Text Transfer Protocol |
JDBC | Łączność z bazą danych Java |
QA | Zapewnienie jakości |
SAŁATA | Umowa dotycząca poziomu usług |
MŚP | Ekspert merytoryczny |
Do tej pory musisz jasno zrozumieć, jak napisać skuteczną strategię testów wydajności dla aplikacji Messaging.
Najlepsze praktyki w zakresie realistycznego testowania wydajności
Aby pomyślnie zakończyć projekt testu wydajności, musimy upewnić się, że robimy to we właściwy sposób od etapu planowania, tj. Planowania, rozwoju, wykonania i analizy.
Przyjrzyjmy się szczegółowo każdemu etapowi, aby skutecznie przeprowadzić testy wydajności.
1) Planowanie
- Spróbuj zidentyfikować najczęstsze przepływy pracy, tj. Scenariusze biznesowe, które należy przetestować. Jeśli aplikacja istnieje, sprawdź dzienniki serwera, aby zrozumieć najczęściej używane scenariusze. Jeśli aplikacja jest nowa, porozmawiaj z zespołem zarządzającym projektem, aby zrozumieć główny przepływ biznesowy.
- Zaplanuj test obciążenia w taki sposób, aby uwzględnić szeroki zakres przepływów pracy, takich jak lekkie, średnie i szczytowe obciążenia.
- Musisz wykonać wiele cykli testu obciążenia, więc spróbuj stworzyć strukturę, aby móc wielokrotnie używać tych samych skryptów. Spróbuj także mieć kopię zapasową skryptów.
- Spróbuj przeanalizować, jak długo test musi trwać, czy to jedna godzina? 8 godzin? Dzień czy tydzień? Zwykle długotrwałe testy ujawniają wiele poważnych defektów, takich jak błędy systemu operacyjnego, wycieki pamięci itp.
- Jeśli Twoja organizacja korzysta z dowolnego narzędzia APM (Application Monitoring Tool), możesz go uwzględnić podczas testów, aby łatwiej zidentyfikować problemy z wydajnością i łatwiej zidentyfikować główną przyczynę.
# 2) Rozwój
- Podczas tworzenia skryptów, tj. Nagrywania, spróbuj nadać bardziej zrozumiałą nazwę transakcji w oparciu o nazwy przepływów biznesowych, które są wymienione w planie.
- Nie nagrywaj aplikacji innych firm, a jeśli zostaną nagrane, spróbuj je odfiltrować, ulepszając skrypty.
- Nie wszystkie wartości dynamiczne można skorelować za pomocą funkcji autokorelacji w narzędziu, więc spróbuj wykonać korelację ręczną, aby uniknąć błędów.
- Spróbuj zaprojektować testy wydajności w taki sposób, aby trafiać do zaplecza aplikacji, a nie tylko do serwera pamięci podręcznej.
# 3) Wykonanie
- Upewnij się, że testy są uruchamiane w środowisku produkcyjnym, z uwzględnieniem czynników takich jak SSL, Load Balancer i zapory. Jest to konieczne, aby zasymulować realistyczne obciążenie systemu.
- Spróbuj stworzyć obciążenie, które jest bardzo realistyczne. Możesz to uzyskać, sprawdzając dzienniki serwera, czy jest to istniejąca aplikacja, a jeśli jest to nowa aplikacja, musisz uzyskać te informacje od zespołu biznesowego. Pamiętaj, że obciążenie pracą jest bardzo ważne dla przeprowadzenia pomyślnych testów wydajności.
- Nigdy nie wyciągaj wniosków, uruchamiając testy w środowisku o połowie wielkości produkcyjnej, zawsze zaleca się przeprowadzanie testów w środowisku, które jest takie samo jak środowisko produkcyjne.
- Podczas wykonywania testów długoterminowych staraj się obserwować przebieg w częstych odstępach czasu, aby upewnić się, że test działa płynnie.
# 4) Analiza
- Spróbuj przeanalizować aplikację, dodając najpierw kilka ważnych liczników, a po znalezieniu wąskiego gardła spróbuj dodać dodatkowe liczniki w odniesieniu do wąskiego gardła. To z kolei pomoże w łatwiejszym znalezieniu problemu.
- Aplikacja może się nie powieść z wielu powodów, na przykład może nie odpowiadać na żądanie, odpowiadać kodem błędu, zawodzić logikę walidacji lub odpowiadać zbyt wolno. Spróbuj więc przyjrzeć się wszystkim tym, zanim dojdziesz do konkluzji.
Wniosek
Jestem pewien, że ten samouczek dałby ci ogromną wiedzę na temat testów wydajnościowych i tego, jak napisać dokument strategii testów wydajności ze szczegółowymi przykładami.
W naszym nadchodzącym samouczku szczegółowo poznamy różnice między testami wydajności, obciążenia i obciążenia.
Ponadto Check => Bezpłatne szczegółowe serie szkoleń LoadRunner
rekomendowane lektury
- Testy wydajnościowe a testy obciążeniowe a testy obciążeniowe (różnica)
- Testowanie obciążenia za pomocą samouczków HP LoadRunner
- Testowanie wydajności w chmurze: dostawcy usług testowania obciążenia w chmurze
- Testy obciążenia, obciążenia i wydajności aplikacji internetowych przy użyciu WAPT
- Narzędzia i usługi do testowania wydajności witryny
- Jak przeprowadzić ręczne testy wydajności?
- Testowanie wydajności aplikacji mobilnych za pomocą BlazeMeter
- Testowanie wydajności usług sieci Web przy użyciu skryptów LoadRunner VuGen