Testowanie stabilnoĆci w testowaniu oprogramowania
⥠Inteligentne podsumowanie
Testowanie stabilnoĆci sprawdza, czy aplikacja dziaĆa niezawodnie w zmieniajÄ cych siÄ warunkach, a nie tylko przy jednym, staĆym obciÄ ĆŒeniu. Ujawnia awarie, wyczerpanie zasobĂłw i degradacjÄ, ktĂłrych nigdy nie osiÄ gnie siÄ w krĂłtkim okresie funkcjonalnym.

Czym jest 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 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 Schmielping 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 trackrĂłl i raportowanie oraz ich wĆaĆciwa mapaping 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
Jak ten test pasuje do rodziny testĂłw wydajnoĆciowych
Testowanie wydajnoĆci to termin ogĂłlny. PoniĆŒsze warianty rĂłĆŒniÄ siÄ jedynie ksztaĆtem przyĆoĆŒonego obciÄ ĆŒenia i czasem jego utrzymywania, dlatego tak czÄsto sÄ ze sobÄ mylone.
| Rodzaj testu | WzĂłr obciÄ ĆŒenia | Pytanie, na ktĂłre odpowiada |
|---|---|---|
| Testowanie obciÄ ĆŒenia | Oczekiwane obciÄ ĆŒenie szczytowe, krĂłtki czas trwania | Czy system speĆnia swoje cele przy normalnym, szczytowym natÄĆŒeniu ruchu? |
| Test naprÄĆŒeĆ | ZwiÄkszony ponad pojemnoĆÄ aĆŒ do awarii | Gdzie nastÄpuje przerwa i czy awaria przebiega gĆadko? |
| Testowanie Spike'a | NagĆy, ekstremalny wzrost, a nastÄpnie wycofanie | Czy przeĆŒywa i dochodzi do siebie po szoku komunikacyjnym? |
| Testy wytrzymaĆoĆciowe | Normalne obciÄ ĆŒenie utrzymywane przez wiele godzin | Czy wydajnoĆÄ pogarsza siÄ z czasem? |
| Testowanie zanurzeniowe | DĆugotrwaĆe obciÄ ĆŒenie przez dĆuĆŒszy okres | Czy wystÄpujÄ wycieki pamiÄci lub wyczerpanie zasobĂłw? |
| Testy stabilnoĆci | Zmienne obciÄ ĆŒenie w rĂłĆŒnych warunkach | Czy system pozostaje niezawodny w zmieniajÄ cych siÄ warunkach? |
| Testowanie gĆoĆnoĆci | Zwykli uĆŒytkownicy, bardzo duĆŒa iloĆÄ danych | Czy system radzi sobie ze wzrostem bazy danych? |
Test wytrzymaĆoĆciowy i test zanurzeniowy sÄ czÄsto traktowane jako synonimy. W powszechnym uĆŒyciu sÄ to: oba utrzymujÄ staĆe obciÄ ĆŒenie przez dĆugi czas. Tam, gdzie zespoĆy je rozrĂłĆŒniajÄ , testy wytrzymaĆoĆciowe koncentrujÄ siÄ na tym, czy czasy reakcji rosnÄ , podczas gdy testy nasÄ czenia koncentrujÄ siÄ na zuĆŒyciu zasobĂłw, takich jak pamiÄÄ, uchwyty plikĂłw i pule poĆÄ czeĆ. Uruchomienie takiego testu zazwyczaj dostarcza dowodĂłw na oba te zjawiska.
Kluczowe wskaĆșniki do uchwycenia podczas testu
WydajnoĆÄ testu jest tak dobra, jak to, co rejestrujesz podczas jego wykonywania. Zarejestruj te szeĆÄ parametrĂłw po stronie serwera i klienta, a nastÄpnie porĂłwnaj je z danymi bazowymi, a nie z przeczuciem.
| metryczny | Co ci to mĂłwi | Znak ostrzegawczy |
|---|---|---|
| Ćredni czas odpowiedzi | Typowe doĆwiadczenie uĆŒytkownika | Jakiekolwiek przesuniÄcie w gĂłrÄ w poprzek biegu |
| 95. percentyl czasu reakcji | DoĆwiadczenia najwolniejszych uĆŒytkownikĂłw | Znacznie powyĆŒej Ćredniej, co oznacza niespĂłjnoĆÄ |
| WydajnoĆÄ | Liczba ĆŒÄ daĆ obsĆuĆŒonych na sekundÄ | Spadek przy staĆym obciÄ ĆŒeniu |
| Poziom bĆÄdu | UdziaĆ nieudanych lub przekroczonych limitĂłw czasu ĆŒÄ daĆ | KaĆŒde przekroczenie ustalonego progu |
| Wykorzystanie procesora i pamiÄci | Zapas zasobĂłw serwera | PamiÄÄ, ktĂłra pnie siÄ w gĂłrÄ i nigdy nie powraca |
| PoĆÄ czenia i wÄ tki bazy danych | Wyczerpanie basenu | Liczba, ktĂłra stale roĆnie bez wydawania |
Odczytaj ĆredniÄ i percentyl jednoczeĆnie. Ćrednia 800 ms przy 95. percentylu 900 ms opisuje spĂłjny system. Ta sama Ćrednia przy 95. percentylu 9 sekund oznacza, ĆŒe ââjeden na dwudziestu uĆŒytkownikĂłw ma problemy, a Ćrednia to ukrywa.
ZwrĂłÄ uwagÄ na ksztaĆt, nie tylko na wartoĆÄ. W przypadku kaĆŒdego dĆugotrwaĆego testu pĆaska linia zasobĂłw oznacza zaliczenie testu, a rosnÄ ca â przeciek, nawet jeĆli w chwili zakoĆczenia testu liczba bezwzglÄdna nadal mieĆci siÄ w limicie.
