Testowanie stabilności w testowaniu oprogramowania

Testowanie stabilności

Testowanie stabilności to rodzaj niefunkcjonalnego testowania oprogramowania przeprowadzanego w celu pomiaru wydajności i zdolności aplikacji do ciągłego działania przez długi okres czasu. Celem testowania stabilności jest sprawdzenie, czy aplikacja nie ulega awarii lub awarii podczas normalnego użytkowania w dowolnym momencie, poprzez wykorzystanie pełnego zakresu użytkowania.

Testowanie stabilności przeprowadza się w celu sprawdzenia wydajności opracowanego produktu poza normalną wydajnością operacyjną, często do punktu przerwania. Większe znaczenie ma obsługa błędów, niezawodność oprogramowania, solidność i skalowalność produktu przy dużym obciążeniu niż sprawdzanie zachowania systemu w normalnych okolicznościach.

Testowanie stabilności ocenia problemy ze stabilnością. Testowanie to ma na celu przede wszystkim maksymalne obciążenie komponentu oprogramowania. Jest to technika niefunkcjonalna.

Testowanie stabilności
Testowanie stabilności

Testowanie stabilności jest również określane jako obciążenie lub testy wytrzymałościowe.

Ryzyko, jeśli testowany system nie przeszedł testu stabilności

W przypadku testowanej aplikacji, do której wprowadzana jest duża liczba użytkowników i aplikacji, które muszą działać miesiącami bez ponownego uruchamiania, prawdopodobnie wystąpi szereg problemów:

Można napotkać możliwy błąd,

  • system zwalnia
  • system napotyka problemy z funkcjonalnością
  • system wykazuje zachowanie przewodowe
  • system całkowicie się zawiesza

W inżynierii oprogramowania Testowanie stabilności zazwyczaj obejmuje testowanie systemu z dużą liczbą użytkowników (wirtualnie) i pomiar parametrów wydajności w celu sprawdzenia, czy system może wytrzymać przewidywane obciążenie.

Dlaczego testowanie stabilności

Tego rodzaju testy pomagają użytkownikom zrozumieć, jak system będzie działał w rzeczywistych sytuacjach.

Dlatego testowanie stabilności pozwala sprawdzić,

  • Zapewnij pewność co do stabilności testowanego systemu.
  • Upewnij się, że Twój system może obsłużyć duże programy.
  • Monitoruj efektywność swojego systemu.
  • Sprawdź stabilność systemu pod obciążeniem.

Odgrywa ważną rolę w rozwoju produktu, ponieważ służy do określenia ograniczeń testowanego oprogramowania przed jego wydaniem lub obszarów wymagających dalszych ulepszeń, zanim produkt zostanie wprowadzony na rynek lub do produkcji.

Bardzo częstym przykładem techniki testowania stabilności jest

Online SHopping Portals: Testy stabilności sprawdzą, jak strona będzie się zachowywać, gdy –

  • Wysoka Ilość danych wprowadzonych w godzinach szczytu
  • Liczba trafień w określonym czasie
  • Problem z ładowaniem strony w tym samym czasie
  • Zachowanie systemu
  • Responsywność systemu i wiele innych podlegają Testowanie stabilności

Inny przykład

A CPU test jest popularną formą testu stabilności w ramach Test wydajności technika. Ten test sprawdza stabilność procesora, a także monitoruje jego wydajność w miarę wzrostu obciążenia procesora.

Jak przeprowadzić test stabilności

  • Aby określić zakres i cel testów, musimy upewnić się, że serwer(y) aplikacji nie ulegnie awarii podczas wykonywania testu obciążenia.
  • Aby określić problemy biznesowe, sprawdź wydajność i obciążenie systemu z punktu widzenia użytkownika końcowego.
  • Aby przypisać różne obowiązki i role, np. - Tworzenie planu testów, Przypadek testowy projektowanie, przegląd przypadków testowych, wykonanie testów itp.
  • Aby zapewnić dostarczenie wyników testu w określonym czasie
  • Aby zapewnić prawidłowe Testowanie obciążenia narzędzia i zespół doświadczenia jest obecny w tym samym.
  • Pomiar ryzyka i kosztów obejmuje testowanie. To określi koszt każdego wykonania pod względem wykorzystania procesora i pamięci.
  • Określ Wada śledzenie i raportowanie oraz odpowiednie ich mapowanie z wymaganiami.

Przypadek testowy do testowania stabilności wydajności procesora

  • Aby sprawdzić górną granicę systemu.
  • Sposób awarii lub odzyskiwania systemu.
  • Łączna liczba transakcji zrealizowanych na żądanie.
  • Niezależnie od tego, czy reakcja na transakcję pozostaje stała, czy też wzrasta w czasie.
  • Jak system zachowuje się pod dużym obciążeniem.
  • Jego reakcja i zachowanie pod dużym obciążeniem.

Raporty z testów dotyczących testów stabilności

Podczas wykonywania testów gromadzone i mierzone są różne statystyki, które następnie analizuje się w celu wygenerowania raportu i zidentyfikowania możliwych problemów z wydajnością.

Przykładowe statystyki zebrane w ramach testu to:

  • Czasy reakcji transakcji: Średni czas potrzebny na wykonanie transakcji podczas testu. Statystyka ta oceni, czy wydajność serwera mieści się w akceptowalnych minimalnych i maksymalnych okresach realizacji transakcji zdefiniowanych dla systemu. Informacje te pozwolą oszacować czas potrzebny na przetworzenie żądania przez serwer WWW i przesłanie go do serwera aplikacji, który w w większości przypadków wyśle ​​żądanie do serwera bazy danych.
  • Trafienia na sekundę: Liczba wejść na serwer przez użytkowników. Te statystyki pozwalają określić liczbę obciążeń generowanych przez użytkowników w odniesieniu do liczby trafień.
  • Wydajność: Wielkość przepustowości serwera WWW podczas testu, mierzona w bajtach. Przepustowość oznacza ilość danych, które użytkownicy otrzymali z serwera w dowolnym momencie. Ta statystyka pomaga ocenić wielkość obciążenia generowanego przez użytkowników.
  • Transakcja na sekundę: Są to łączna liczba zakończonych transakcji (zarówno udanych, jak i nieudanych) przeprowadzonych podczas testu. Ta statystyka pomaga sprawdzić rzeczywiste obciążenie transakcyjne w systemie.
  • PROCESOR: Procent wykorzystania procesora podczas testu.
  • Pamięć: Użycie pamięci podczas testu.
  • Dysk: wykorzystanie miejsca na dysku wykorzystanego podczas testu.

Podstawy testowania stabilności

Testowanie stabilności podlega testowaniu wydajności – technice przeprowadzanej w celu sprawdzenia niektórych atrybutów jakości Oprogramowania, takich jak stabilność, niezawodność i dostępność.

Testowanie to służy do określenia szybkości działania systemu lub podsystemu przy określonym obciążeniu.

Testowanie wydajności ma wiele rodzajów, a jednym z nich jest test stabilności.

  • Test naprężeń: Jest to rodzaj testu, który sprawdza wytrzymałość systemu wykraczającą poza jego możliwości.
  • Testowanie Spike'a: Służy do sprawdzania zachowania systemu poprzez natychmiastowe zwiększenie obciążenia systemu. Celem jest sprawdzenie, w którym momencie system będzie miał problemy z wydajnością, w przeciwnym razie problem przejdzie.
  • Testowanie skalowalności: Służy do sprawdzania możliwości systemu. Jak skutecznie system będzie zachowywał się przy rosnących potrzebach, zmianach rozmiaru i zmianach wolumenu.
  • Testowanie objętości: Jest to niefunkcjonalna technika testowania, w której testowane oprogramowanie poddawane jest działaniu ogromnej ilości danych, a zachowanie systemu jest odpowiednio sprawdzane i weryfikowane.
  • Testowanie obciążenia lub stabilności: (już omówione powyżej)

Narzędzia do testowania stabilności

Niektóre narzędzia do testowania wydajności to:

  • Wczytaj do sieci
  • LoadRunner
  • Apache JMeter
  • NeoZaładować
  • Test chmury
  • Burza obciążenia
  • Załaduj interfejs użytkownika
  • WAP
  • ZaładujImpact
  • Ładowarka
  • Httperf , , , , , , , , , , , , , , , , ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,
  • OtwórzSTA

Podsumowanie

Testowanie stabilności to niefunkcjonalny proces testowania zachowania aplikacji poprzez zastosowanie maksymalnego obciążenia. Wykonuje się go w celu sprawdzenia skalowalności systemu w danym środowisku.