Co to jest testowanie dynamiczne? Rodzaje, techniki i amp; Przykład

Spisie treści:

Anonim

Testowanie dynamiczne

Testowanie dynamiczne to metoda testowania oprogramowania używana do testowania dynamicznego zachowania kodu oprogramowania. Głównym celem testowania dynamicznego jest testowanie zachowania oprogramowania za pomocą zmiennych dynamicznych lub zmiennych, które nie są stałe i znajdowanie słabych punktów w środowisku wykonawczym oprogramowania. Aby przetestować zachowanie dynamiczne, należy wykonać kod.

Wszyscy wiemy, że testowanie to weryfikacja i walidacja, a do ukończenia testów potrzeba 2 V. Spośród 2 V weryfikacja nazywa się testowaniem statycznym, a druga „V” walidacja jest nazywana testowaniem dynamicznym.

Przykład testu dynamicznego

Zrozummy, jak przeprowadzić testy dynamiczne na przykładzie:

Załóżmy, że testujemy stronę logowania, na której mamy dwa pola o nazwach „Nazwa użytkownika” i „Hasło”, a nazwa użytkownika jest ograniczona do alfanumerycznej.

Kiedy użytkownik wprowadzi nazwę użytkownika jako „Guru99”, system zaakceptuje to samo. W przypadku, gdy użytkownik wejdzie jako Guru99 @ 123, aplikacja wyświetli komunikat o błędzie. Ten wynik pokazuje, że kod działa dynamicznie na podstawie danych wejściowych użytkownika.

Testowanie dynamiczne ma miejsce, gdy pracujesz z rzeczywistym systemem, dostarczając dane wejściowe i porównując rzeczywiste zachowanie aplikacji z oczekiwanym zachowaniem. Innymi słowy, praca z systemem w celu znalezienia błędów.

Tak więc na podstawie powyższych stwierdzeń możemy powiedzieć lub wywnioskować, że testowanie dynamiczne jest procesem walidacji aplikacji jako użytkownika końcowego w różnych środowiskach w celu zbudowania odpowiedniego oprogramowania.

Co robią testy dynamiczne?

Głównym celem testów dynamicznych jest upewnienie się, że oprogramowanie działa poprawnie w trakcie i po instalacji oprogramowania, zapewniając stabilną aplikację bez większych wad (oświadczenie to wynika z tego, że żadne oprogramowanie nie jest wolne od błędów, tylko testowanie może wykazać obecność defektów i nie brak)

Głównym celem testu dynamicznego jest zapewnienie spójności oprogramowania; omówmy to na przykładzie.

W aplikacji bankowej znajdujemy różne ekrany, takie jak sekcja Moje rachunki, Transfer środków, Płatność za rachunki itp. Wszystkie te ekrany zawierają pole kwoty, które akceptuje niektóre znaki.

Powiedzmy, że w polu Moje konta wyświetlana jest kwota jako 25 000, a przelew środków jako 25 000, a ekran płatności za rachunki jako 25 000 USD. Chociaż kwota jest taka sama, sposób wyświetlania kwoty nie jest taki sam, co powoduje, że oprogramowanie jest niespójne.

Spójność nie ogranicza się tylko do funkcjonalności, ale odnosi się również do różnych standardów, takich jak wydajność, użyteczność, kompatybilność itp., Dlatego bardzo ważne staje się wykonywanie testów dynamicznych.

Rodzaje testów dynamicznych

Testowanie dynamiczne dzieli się na dwie kategorie

  • Testowanie w białej skrzynce
  • Testowanie czarnoskrzynkowe

Poniższe graficzne przedstawienie daje nam wyobrażenie o rodzajach testów dynamicznych, poziomach testowania itp.

Omówmy pokrótce każdy rodzaj testowania i jego przeznaczenie

White Box Testing - White Box Testing to metoda testowania oprogramowania, w której struktura / konstrukcja wewnętrzna jest znana testerowi. Głównym celem testów White Box jest sprawdzenie, jak działa system na podstawie kodu. Wykonywany jest głównie przez Developerów lub White Box Testerów, którzy mają wiedzę na temat programowania.

Testowanie czarnoskrzynkowe - Testowanie czarnoskrzynkowe to metoda testowania, w której wewnętrzna struktura / kod / projekt NIE jest znana testerowi. Głównym celem tego testowania jest weryfikacja funkcjonalności testowanego systemu i tego typu testów wymaga wykonania pełnego zestawu testów i jest wykonywany głównie przez Testerów i nie jest wymagana żadna wiedza programistyczna.

Black Box Testing ponownie podzielić na dwa rodzaje.

Oni są

  • Testy funkcjonalności
  • Testy niefunkcjonalne

Testy funkcjonalności:

Testy funkcjonalne są przeprowadzane w celu sprawdzenia, czy wszystkie opracowane funkcje są zgodne ze specyfikacjami funkcjonalnymi i są wykonywane poprzez wykonanie przypadków testów funkcjonalnych napisanych przez zespół QA, w fazie testów funkcjonalnych system jest testowany poprzez dostarczenie danych wejściowych, weryfikację danych wyjściowych i porównanie rzeczywistych wyników z oczekiwanymi wynikami.

Istnieją różne poziomy testów funkcjonalnych, z których najważniejsze są

  • Testy jednostkowe - ogólnie jednostka to mały fragment kodu, który można testować, testy jednostkowe są wykonywane na pojedynczej jednostce oprogramowania i są wykonywane przez programistów
  • Testowanie integracyjne - testowanie integracyjne to testowanie, które jest wykonywane po testach jednostkowych i jest wykonywane przez połączenie wszystkich pojedynczych jednostek, które można testować i jest wykonywane przez programistów lub testerów
  • Testowanie systemu - testowanie systemu jest wykonywane w celu sprawdzenia, czy system działa zgodnie z wymaganiami i jest zwykle wykonywane, gdy kompletny system jest gotowy, jest wykonywany przez testerów, gdy kompilacja lub kod jest udostępniany zespołowi kontroli jakości
  • Testy akceptacyjne - testy akceptacyjne są przeprowadzane w celu sprawdzenia, czy system spełnił wymagania biznesowe i jest gotowy do użycia lub wdrożenia i jest zwykle wykonywany przez użytkowników końcowych.

Testowanie niefunkcjonalne: Testowanie niefunkcjonalne to technika testowania, która nie koncentruje się na aspektach funkcjonalnych i koncentruje się głównie na niefunkcjonalnych atrybutach systemu, takich jak wycieki pamięci, wydajność lub odporność systemu. Testy niefunkcjonalne są wykonywane na wszystkich poziomach testów.

Istnieje wiele technik testowania niefunkcjonalnego, z których najważniejsze są

  • Testowanie wydajności - Testowanie wydajności jest wykonywane w celu sprawdzenia, czy czas odpowiedzi systemu jest normalny, zgodnie z wymaganiami przy żądanym obciążeniu sieci.
  • Testowanie odzyskiwania - testowanie odzyskiwania to metoda sprawdzania, jak dobrze system jest w stanie odzyskać sprawność po awariach i awariach sprzętu.
  • Testowanie zgodności - testy zgodności są wykonywane w celu sprawdzenia, jak system zachowuje się w różnych środowiskach.
  • Testy bezpieczeństwa - testy bezpieczeństwa są przeprowadzane w celu sprawdzenia niezawodności aplikacji, tj. W celu upewnienia się, że tylko uprawnieni użytkownicy / role mają dostęp do systemu
  • Testy użyteczności - Testy użyteczności to metoda weryfikacji użyteczności systemu przez użytkowników końcowych w celu sprawdzenia, jak komfortowo korzystają z systemu.

Techniki testowania dynamicznego

Techniki testowania dynamicznego w STLC składają się z różnych zadań, takich jak analiza wymagań dla testów, planowanie testów, projektowanie i wdrażanie przypadków testowych, konfiguracja środowiska testowego, wykonywanie przypadków testowych, raportowanie błędów i wreszcie zamknięcie testów. Wszystkie zadania w technikach testowania dynamicznego zależą od zakończenia poprzedniego zadania w procesie testowania.

W STLC możemy powiedzieć, że rzeczywisty proces testowania dynamicznego zaczyna się od projektowania przypadków testowych, omówmy szczegółowo każdą czynność.

Zanim przejdziemy do procesu, omówmy strategię, której należy przestrzegać podczas testowania dynamicznego.

Strategia testów powinna skupiać się głównie na dostępnych zasobach i ramach czasowych. W oparciu o te czynniki należy udokumentować cel testowania, zakres testów, fazy lub cykle testowania, rodzaj środowiska, założenia lub wyzwania, z którymi można się spotkać, ryzyko itp.

Gdy strategia jest zdefiniowana i zaakceptowana przez kierownictwo, rozpoczyna się właściwy proces projektowania przypadków testowych

Co to jest projektowanie i wdrażanie testów

W tej fazie identyfikujemy,

  • Funkcje do przetestowania
  • Wyprowadź warunki testowe
  • Uzyskaj pozycje pokrycia
  • Wyprowadź przypadki testowe

Konfiguracja środowiska testowego

Musimy zadbać o to, aby środowisko testowe zawsze było podobne do środowiska produkcyjnego, w tej fazie musimy zainstalować kompilację i zarządzać maszynami testowymi.

Wykonanie testu

W tej fazie przypadki testowe są faktycznie wykonywane.

Raport o błędzie został przechwycony

W oparciu o wykonanie, jeśli oczekiwane i rzeczywiste wyniki nie są takie same, przypadek testowy musi zostać oznaczony jako niepowodzenie, a błąd powinien zostać zarejestrowany.

Zalety testów dynamicznych

  • Testowanie dynamiczne może ujawnić odkryte wady, które są uważane za zbyt trudne lub skomplikowane i których nie można pokryć za pomocą analizy statycznej
  • W testach dynamicznych wykonujemy oprogramowanie od końca do końca, zapewniając wolne od błędów oprogramowanie, co z kolei podnosi jakość produktu i projektu.
  • Testowanie dynamiczne staje się podstawowym narzędziem do wykrywania wszelkich zagrożeń bezpieczeństwa

Wady testów dynamicznych

  • Testowanie dynamiczne jest czasochłonne, ponieważ wykonuje aplikację / oprogramowanie lub kod, który wymaga ogromnej ilości zasobów
  • Testowanie dynamiczne zwiększa koszt projektu / produktu, ponieważ nie rozpoczyna się on na wczesnym etapie cyklu życia oprogramowania, a zatem wszelkie problemy naprawione na późniejszych etapach mogą skutkować wzrostem kosztów.

Wniosek:

W inżynierii oprogramowania weryfikacja i walidacja to dwa sposoby sprawdzania, czy oprogramowanie spełnia specyfikacje wymagań. Testowanie statyczne obejmuje weryfikację, podczas gdy testowanie dynamiczne obejmuje walidację. Razem pomagają w dostarczaniu opłacalnego oprogramowania wysokiej jakości.

Ten artykuł jest autorstwa Radhiki Renamala