Testowanie systemu - Różne typy i kluczowe obszary testowania systemu

Spisie treści:

Anonim

Wprowadzenie do testowania systemu

Czy słyszałeś kiedyś o testowaniu systemu? Tak, oczywiście, słyszałeś, ale nie wiesz, co jest testowane. Jak to jest zaimplementowane w rzeczywistym środowisku. Dzisiejszy świat jest pełen wielu urządzeń, każdego dnia pojawiają się nowe technologie. Aby utrzymać jakość i upewnić się, że nasz produkt jest wolny od błędów i godny zaufania, każdy programista ma swój zespół równoległych testów.

Testowanie to proces sprawdzania, czy mamy prawidłową funkcjonalność, czy nie. Testowanie oprogramowania to faza, w której oprogramowanie jest kompletne. Teraz zintegrowane oprogramowanie będzie testować. Podczas testów sprawdzamy, czy oprogramowanie spełnia nasze wymagania, czy nie.

Testowanie wykonywane w całym systemie, zwane testowaniem systemu. W tym teście odkrywamy błędy. Zapewnia to, że cały system działa zgodnie z oczekiwaniami. Sprawdzamy wydajność i funkcjonalność systemu, aby uzyskać produkt wysokiej jakości. Testowanie systemu to nic innego jak testowanie systemu jako całości. Testowanie sprawdza kompletny scenariusz końcowy zgodnie z punktem widzenia klienta.

Testy funkcjonalne i niefunkcjonalne wykonywane również przez testy systemowe. Robimy wszystko, aby zachować zaufanie w rozwoju, że system jest wolny od wad i błędów. Testowanie systemu ma również na celu przetestowanie specyfikacji wymagań sprzętowych / programowych.

Testowanie systemu jest raczej ograniczonym rodzajem testowania; dąży do wykrycia obu wad w „połączeniach”.

Istnieją dwa rodzaje testów:

Są to specjalistyczne systemy i aplikacje

Przed bezpośrednim przejściem do testu systemu chcę, abyś znał przebieg testów. Otrzymasz jasny pomysł. Proszę spojrzeć na poniższy schemat.

Rodzaje testowania systemu

Poniżej znajdują się różne rodzaje testów, które są następujące:

1. Testowanie funkcjonalności

  • Dzięki tym testom funkcjonalność produktu działa zgodnie ze specyfikacją wymagań w ramach możliwości systemu.
  • Testy funkcjonalne wykonuje się ręcznie lub za pomocą zautomatyzowanych narzędzi.

2. Testowanie odtwarzalności

  • To badanie określa, czy operacje mogą być kontynuowane po awarii lub po utracie integralności systemu.
  • Najlepszy przykład tego zakłada, że ​​pobieramy jeden plik. I nagle połączenie się zrywa. Po wznowieniu połączenia pobieranie rozpocznie się w miejscu, w którym wyszliśmy. Nie zaczyna się od nowa.
  • Ma to zastosowanie tam, gdzie ciągłość operacji jest niezbędna

3. Testy wydajności

  • Testy te zapewniają wydajność systemu w różnych warunkach pod względem charakterystyki wydajności.
  • Testowanie to nazywane jest również testowaniem zgodności pod względem wydajności.
  • Testy te zapewniają spełnienie wymagań systemowych
  • Sprawdza, kiedy wielu użytkowników korzysta z tej samej aplikacji naraz, a następnie, jak reaguje

Testy wydajności można podzielić na trzy główne kategorie, takie jak szybkość, skalowalność, stabilność.

4. Testowanie skalowalności

Testy te zapewniają możliwości skalowania systemu w różnych kategoriach, takich jak skalowanie użytkownika, skalowanie geograficzne i skalowanie zasobów.

5. Testy niezawodności

  • Testy niezawodności zapewniają, że system nie zawiera błędów.
  • Dzięki tym testom system może być eksploatowany przez dłuższy czas bez powstawania awarii.

6. Testowanie dokumentacji

Dzięki tym testom przewodnik użytkownika systemu i inne dokumenty tematów pomocy są poprawne i przydatne.

7. Testy bezpieczeństwa

  • Testy potwierdzające, że program może uzyskać dostęp do upoważnionego personelu i że upoważniony personel może uzyskać dostęp do funkcji dostępnych na ich poziomie bezpieczeństwa.
  • Dzięki tym testom system nie pozwala na nieautoryzowany dostęp do danych i zasobów.
  • Celem testów bezpieczeństwa jest ustalenie, jak dobrze system chroni przed nieautoryzowanym dostępem wewnętrznym lub zewnętrznym lub umyślnym uszkodzeniem.
  • Istnieje następujący obszar, w którym ogólnie możemy sprawdzić bezpieczeństwo:
  1. Poświadczenie
  2. Upoważnienie
  3. Walidacji danych
  4. Bezpieczeństwo transportu
  5. Ochrona danych
  6. Zarządzanie sesją

8. Testy użyteczności

Aby upewnić się, że system jest łatwy w użyciu, uczyć się i obsługiwać

9. Testowanie wymagań

Każdy system jest testowany pod względem wymagań.

  • Bezpośrednie obserwacje osób korzystających z systemu.
  • W ramach tych testów przeprowadzono badania użyteczności.
  • Testy użytkownika w ramach tego testu. Jest również nazywany testem Beta.
  • W ramach tych testów system sprawdza, jak prawdziwy użytkownik będzie pracował w środowisku.
  • Testy użyteczności służą głównie do projektowania aplikacji.
  • W teście użyteczności faktyczni użytkownicy próbują uzyskać typowe cele i zadania z produktem w kontrolowanych warunkach.

Ten system służy do określania:

  1. Jak łatwo jest zrozumieć użycie aplikacji.
  2. Jak łatwo jest wykonać proces aplikacji.

10. Testowanie obciążenia

To badanie określa, jak zachowuje się aplikacja, gdy wielu użytkowników uzyskuje dostęp do niej jednocześnie w wielu lokalizacjach.

  • To badanie jest wykonywane w celu ustalenia, czy wydajność systemu jest akceptowalna przy z góry określonym poziomie obciążenia.
  • Testowanie obciążenia ocenia wydajność systemu przy użyciu wstępnie zdefiniowanych poziomów obciążenia.
  • Sprawdza normalne i predefiniowane warunki aplikacji.

11. Testy warunków skrajnych

Testy te ogólnie sprawdzają, czy system będzie działał, gdy zostanie poddany dużej ilości danych niż oczekiwano.

  • Testy warunków skrajnych mogą zawierać transakcje wejściowe, tabele wewnętrzne, kanały komunikacji, miejsce na dysku itp.
  • Testy warunków skrajnych sprawdzają, czy system powinien działać tak jak w środowisku produkcyjnym.
  • Sprawdza system w ekstremalnych warunkach.
  • Testy wytrzymałościowe są również znane jako testy wytrzymałościowe.

12. Testowanie konfiguracji

  • Testowanie konfiguracji sprawdza to przy wielu kombinacjach aplikacji ze sprzętem.
  • Testowanie sprawdza, czy nie występuje problem ze zgodnością.
  • Określ minimalną i optymalną konfigurację H / W i S / W.
  • To badanie określa wpływ dodania lub modyfikacji zasobów, takich jak pamięć, miejsce na dysku, procesor, karta sieciowa.

13. Testowanie zgodności

  • Testy zgodności używane do sprawdzenia, czy aplikacja może działać na różnych urządzeniach, systemach operacyjnych, aplikacjach, środowiskach sieciowych lub urządzeniach mobilnych itp.
  • Podobne do testowania na wielu platformach.
  • Testowanie zdolności jest bardziej przydatne w aplikacjach internetowych, w których możemy sprawdzić, czy aplikacja musi być dostępna z każdej przeglądarki.

Kluczowy obszar zainteresowania

  • Podczas testowania systemu system jest testowany w środowisku produkcyjnym. Przed dostawą produktu należy przetestować system w środowisku produkcyjnym.
  • Środowisko programistyczne i produkcyjne może się różnić w zależności od firmy.
  • Powinien głównie pojawić się błąd związany z konfiguracją.

Koncepcja testowania systemu

Testowanie systemu wchodzi w zakres testów Black-Box. Istnieją również testy, takie jak bezpieczeństwo, niezawodność, wydajność, instalacja, testy funkcjonalne itp.

Mamy również testy White-box. Jest to również znane jako testowanie przezroczyste. Testowanie w białej skrzynce oznacza testowanie, w którym tester zna strukturę wewnętrzną aplikacji testującej. Ale w tym artykule skupiamy się na testowaniu czarnej skrzynki.

Co to jest testowanie „czarnej skrzynki”?

  • Testowanie to jest również znane jako testowanie behawioralne.
  • Testowanie czarnej skrzynki koncentruje się głównie na danych wejściowych i wyjściowych, ponieważ wewnętrzny kod jest ukryty przed testerem

Testowanie systemu obejmuje również niektóre specjalistyczne testy:

1. Testy regresji

Testowanie zależy od czasu. Ten czynnik nie zawsze wystarcza do tego testu. Testowanie odbywa się na dwa sposoby:

  • Testy ręczne :

Testy ręczne można wykonać dla małego systemu. Projekt, w którym problemem są koszty. Automatyczne testowanie nie jest wygodne.

Programiści lub zespół zapewniania jakości ręcznie testują każdą ścieżkę kodu oprogramowania. A potem nastąpiło porównanie.

Testowanie jest bardzo czasochłonne i wymaga dużej ilości zasobów do pracy.

Testowanie to nie jest wydajne, dlatego pojawia się test automatyzacji

  • Zautomatyzowane testowanie:

To badanie jest bardzo dobre. Wiele firm próbuje uzyskać zautomatyzowane narzędzia do testowania.

Jeśli mamy wiele zmian wersji aplikacji, jest to bardzo pomocne. Jedna klasa tych narzędzi nosi nazwę przechwyconych narzędzi do odtwarzania.

2. Testowanie pod kątem błędów

  • Aby określić zdolność Systemu do prawidłowego przetwarzania błędnych transakcji.
  • Wszystkie uzasadnione błędy powinny zostać wykryte przez system aplikacji.
  • Konieczna jest kontrola nad błędem podczas korekcji błędów.
  • Procedury najczęściej gwarantują poprawne poprawienie błędu.
  • Testowanie powinno odbywać się w trakcie SDLC.
  • Błędy obejmują wszystkie nieoczekiwane warunki.
  • Sprawdza zdolność oprogramowania do prawidłowego wykonywania wszystkich transakcji.
  • Na przykład: po prostu wstaw kilka błędnych wartości do aplikacji, aby sprawdzić, czy system jest w stanie znaleźć te problemy. Ten proces może być iteracyjny.

3. Testy międzysystemowe

  • Testowanie odbywa się, gdy aplikacja zostanie umieszczona w obszarze rozproszonym. I odbywa się cała umieszczona integracja. Testy przeprowadzane są głównie w celu sprawdzenia przepływu danych z hostowanego systemu głównego do innych systemów.
  • Krótko mówiąc, możemy powiedzieć, że „Testowanie interfejsu między dwoma lub więcej systemami aplikacji”.
  • To decyduje:
  1. Dokumentacja systemu jest kompletna i dokładna.
  2. Parametry i dane są poprawnie przekazywane między dwiema aplikacjami.
  • Istnieją fragmenty zestawów testów, które przeprowadzają transakcje z jednego systemu do drugiego i odwrotnie. pojawiły się kontrole, a jeśli wystąpi błąd, wówczas zostanie on poprawiony.
  • Testowanie zapewnia przepływ danych między aplikacjami.
  • To testowanie jest uciążliwe, jeśli automatyzacja nie zostanie wykonana.
  • Koszt jest większy, jeśli liczba iteracji jest większa.

4. Testowanie poczytalności

  • Testowanie poczytalności oznacza sprawdzanie działania Systemu. Testowanie to nazywane jest również testem wąskiej regresji.
  • Testy poczytalności są przydatne zarówno podczas wstępnej weryfikacji środowiska, jak i przyszłych interaktywnych przyrostów.
  • Testowanie poczytalności jest skoncentrowane.
  • Testowanie to jest również uważane za podzbiór testów regresyjnych.
  • Poza testami Sanity możemy powiedzieć, że potrzebujemy czasu sprawności systemu. Jak musi zająć system czasu, aby wstać?
  • Testy poczytalności początkowo zaprojektowane do testowania podstawowych modułów.
  • Testowanie poprawności może sprawdzić łączność z serwerami aplikacji i urządzeniami peryferyjnymi.

5. Testowanie dymu

  • Ogólnie rzecz biorąc, testowanie dymu jest również znane jako „testowanie weryfikacji kompilacji”.
  • Termin ten pochodzi z testów sprzętowych. W teście sprzętowym urządzenie przeszło test, jeśli nie zapalił się lub nie zapalił przy pierwszym włączeniu.
  • Testowanie dymu sprawdza, czy testowalność oprogramowania jest określana jako testowanie wędzone.
  • Testowanie dymu decyduje, czy testowanie jest wystarczające dla aplikacji. Czy to jest stabilne?
  • Testy dymu pomagają ustalić, gdzie się zatrzymać.
  • Testy dymu mogą być wykonywane ręcznie lub automatycznie.
  • Scenariusze testów dymu podkreślają szerokość bardziej niż głębokość.
  • Testowanie dymu jest również znane jako testowanie weryfikacyjne / testowanie linków / podstawowe testy funkcjonalne.
  • Jest to „płytkie i szerokie” podejście do aplikacji.
  • Testowanie dymu pomaga wcześnie ujawnić problemy.
  • Testowanie dymu pomaga również znaleźć testy integracyjne.
  • Podczas testowania dymu należy dotknąć wszystkich komponentów, a każda ważna funkcja powinna zostać krótko przetestowana.
  • Jeśli test się nie powiedzie, kompilacja jest zwracana programistom bez testowania.
  • Testowanie dymu jest ogólnie stosowane w testach systemu, testach akceptacyjnych i testach integracyjnych.

6. Testy równoległe

  • Równoległe testowanie oznacza jednoczesne testowanie wielu aplikacji lub podsystemów.
  • Można powiedzieć, że porównanie dwóch różnych systemów.

  • Testy równoległe mają na celu określenie - Nowa wersja aplikacji lub nowe systemy działają poprawnie w odniesieniu do istniejącego systemu, który działa poprawnie.
  • Podczas akceptacji nowego systemu można zastosować testowanie równoległe.
  • Podczas wykonywania testów równoległych te same dane są wykorzystywane w obu systemach.
  • W testach równoległych używany jest nowy system z istniejącym systemem przez określony czas.
  • Poprzez kontrolę krzyżową o / p i porównanie z o / p z istniejącego systemu. Przeprowadzane są równoległe testy w celu upewnienia się, że nowy system działa do znaku, tak jak poprzednio.

Wniosek

Każdy proces tworzenia oprogramowania ma część testową. Jeśli oprogramowanie posiada wszystkie testy i spełnia wszystkie warunki, jest gotowe do przekazania klientowi. Testowanie jest kluczową częścią i musi być wykonane bardzo poważnie.

Polecane artykuły

To był przewodnik po testowaniu systemu. Omówiliśmy wprowadzenie, różne typy testowania systemu i jego kluczowy obszar. możesz również zapoznać się z następującymi artykułami, aby dowiedzieć się więcej -

  1. Kariery w testowaniu oprogramowania
  2. Pytania do wywiadu dotyczące testowania penetracji
  3. Co to są sieci neuronowe?
  4. Cykl życia defektu w testowaniu oprogramowania
  5. Różne narzędzia do testowania wydajności