Jaka jest różnica między testami obciążeniowymi a testami warunków skrajnych?
Jaka jest różnica między testami obciążeniowymi a testami warunków skrajnych?
Odpowiedzi:
Wikipedia o testach obciążenia (pogrubiona jest moja):
[...] Test obciążenia jest zwykle przeprowadzany w celu zrozumienia zachowania systemu przy określonym oczekiwanym obciążeniu . Obciążeniem tym może być oczekiwana liczba jednoczesnych użytkowników aplikacji wykonujących określoną liczbę transakcji w określonym czasie. Ten test poda czasy reakcji wszystkich ważnych transakcji o znaczeniu krytycznym dla biznesu. [...]
a na testach warunków skrajnych :
zrozumieć górne granice pojemności w systemie. Ten rodzaj testu jest wykonywany w celu określenia odporności systemu pod względem ekstremalnego obciążenia i pomaga administratorom aplikacji określić, czy system będzie działał wystarczająco, jeśli bieżące obciążenie znacznie przekroczy oczekiwane maksimum .
Podsumowując: jeśli testujesz normalne, oczekiwane obciążenie (wiesz, że system będzie używany przez maksymalnie 100 użytkowników jednocześnie), jest to test obciążenia . Ale kiedy chcesz określić, jak system zachowuje się pod ekstremalnym obciążeniem ( efekt DoS, Slashdot ) i kiedy się psuje, jest to test warunków skrajnych .
Pojęcia „testy warunków skrajnych” i „testy obciążeniowe” są często używane zamiennie przez inżynierów testów oprogramowania, ale w rzeczywistości są one zupełnie inne.
Test naprężeń
W testach warunków skrajnych próbujemy zepsuć testowany system, przeciążając jego zasoby lub odbierając mu zasoby (w takim przypadku jest to czasami nazywane testowaniem negatywnym). Głównym celem tego szaleństwa jest upewnienie się, że system ulegnie awarii i bezpiecznie się regeneruje - ta jakość jest znana jako odzyskiwanie. LUB Testowanie warunków skrajnych to proces poddawania testowanego programu / systemu (SUT) ograniczonym zasobom, a następnie badanie zachowania SUT poprzez wykonanie standardowych testów funkcjonalnych. Chodzi o to, aby ujawnić problemy, które nie pojawiają się w normalnych warunkach.Na przykład program wielowątkowy może działać dobrze w normalnych warunkach, ale w warunkach zmniejszonej dostępności procesora problemy z synchronizacją będą się różnić i SUT ulegnie awarii. Najbardziej powszechnymi typami zasobów systemowych zmniejszonych podczas testów warunków skrajnych są procesor, pamięć wewnętrzna i miejsce na dysku zewnętrznym. Podczas przeprowadzania testów warunków skrajnych często nazywa się narzędzia zmniejszające te trzy zasoby odpowiednio EatCPU, EatMem i EatDisk.
Z drugiej strony Testowanie obciążenia
W przypadku testów obciążeniowych obciążenia to proces poddawania SUT dużym obciążeniom, zazwyczaj poprzez symulację wielu użytkowników (przy użyciu modułu uruchamiającego obciążenie), gdzie „użytkownicy” mogą oznaczać użytkowników lub użytkowników wirtualnych / programistycznych. Najczęstszy przykład testowania obciążenia polega na poddawaniu aplikacji internetowej lub sieciowej jednoczesnym trafieniom tysięcy użytkowników. Zwykle jest to realizowane przez program, który symuluje użytkowników. Testowanie obciążenia ma dwa główne cele: określić charakterystykę wydajności SUT oraz określić, czy SUT „psuje się” z wdziękiem, czy nie.
W przypadku witryny sieci Web można użyć testów obciążenia, aby określić, ilu użytkowników system może obsłużyć i nadal ma odpowiednią wydajność, a także określić, co dzieje się przy ekstremalnym obciążeniu - czy witryna internetowa wygeneruje komunikat „zbyt zajęty” dla użytkowników, czy serwer sieciowy ulegnie awarii?
Testowanie obciążenia: Testowanie obciążenia ma na celu testowanie systemu poprzez ciągłe i równomierne zwiększanie obciążenia systemu, aż do osiągnięcia wartości progowej.
Przykład Na przykład, aby sprawdzić funkcjonalność poczty e-mail aplikacji, może ona zostać zalana 1000 użytkowników na raz. Teraz 1000 użytkowników może uruchamiać transakcje e-mail (czytać, wysyłać, usuwać, przekazywać dalej, odpowiadać) na wiele różnych sposobów. Jeśli przyjmujemy jedną transakcję na użytkownika na godzinę, będzie to 1000 transakcji na godzinę. Symulując 10 transakcji na użytkownika, moglibyśmy przetestować serwer poczty elektronicznej, zajmując go 10000 transakcji / godzinę.
Testowanie warunków skrajnych : W ramach testów warunków skrajnych różne działania mające na celu przeciążenie istniejących zasobów nadmiernymi zadaniami są wykonywane w celu zerwania systemu.
Przykład: Na przykład edytor tekstu, taki jak Writer1.1.0 firmy OpenOffice.org, jest używany do tworzenia listów, prezentacji, arkuszy kalkulacyjnych itp. Celem naszych testów warunków skrajnych jest załadowanie go nadmiarem znaków.
Aby to zrobić, będziemy wielokrotnie wklejać wiersz danych, aż osiągnie limit progowy obsługi dużej objętości tekstu. Gdy rozmiar znaku osiągnie 65 535 znaków, po prostu odmówi przyjęcia większej ilości danych. Wynik testów warunków skrajnych w programie Writer 1.1.0 powoduje, że nie ulega on awarii pod wpływem stresu i z wdziękiem radzi sobie z sytuacją, co zapewnia, że aplikacja działa poprawnie nawet w rygorystycznych warunkach stresowych.
-> Testowanie aplikacji przy maksymalnej liczbie użytkowników i danych wejściowych jest definiowane jako testowanie obciążenia . Podczas testowania aplikacji z większą niż maksymalną liczbą użytkowników i danymi wejściowymi określa się jako testy warunków skrajnych .
-> W testach obciążenia mierzymy wydajność systemu na podstawie liczby użytkowników. Podczas testów warunków skrajnych mierzymy punkt przerwania systemu.
-> Testowanie obciążenia to testowanie aplikacji pod kątem określonych wymagań obciążenia, które może obejmować dowolne z następujących kryteriów:
.Total number of users.
.Response Time
.Through Put
Niektóre parametry do sprawdzenia stanu serwerów / aplikacji.
-> Podczas testów warunków skrajnych testowanie aplikacji pod kątem nieoczekiwanego obciążenia. Obejmuje
.Vusers
.Think-Time
Przykład:
Jeśli aplikacja jest zbudowana dla 500 użytkowników, do testów obciążenia sprawdzamy do 500 użytkowników, a do testów warunków skrajnych sprawdzamy więcej niż 500.
Testowanie obciążenia = umieszczanie określonego obciążenia na serwerze przez określony czas. 100 jednoczesnych użytkowników przez 10 minut. Zapewnij stabilność oprogramowania. Testowanie warunków skrajnych = stabilne zwiększanie obciążenia, aż do awarii oprogramowania. 10 jednoczesnych użytkowników rosnących co 2 minuty, aż do awarii serwera.
Aby porównać z podnoszeniem ciężarów: „maksymalizujesz” swoją wagę, aby zobaczyć, co możesz zrobić przez 1 powtórzenie (testy wysiłkowe), a następnie podczas regularnych treningów wykonujesz 85% swojej maksymalnej wartości przez 3 zestawy po 10 powtórzeń (test obciążenia)
Testowanie obciążenia : - Testowanie obciążeniowe ma na celu testowanie systemu poprzez ciągłe i stałe zwiększanie obciążenia systemu, aż do osiągnięcia wartości progowej.
Testowanie warunków skrajnych: - W ramach testów warunków skrajnych wykonywane są różne działania mające na celu przeciążenie istniejących zasobów nadmiernymi zadaniami, aby zepsuć system.
Podstawowa różnica jest jak poniżej
Testowanie obciążenia: duża liczba użytkowników Testy obciążeniowe: zbyt wielu użytkowników, zbyt dużo danych, za mało czasu i za mało miejsca
Obciążenie - test S / W przy maksymalnym obciążeniu. Naprężenie - poza obciążeniem S / W lub Aby określić punkt zerwania S / W.