Biały Box Testowanie – co to jest, techniki, przykłady i typy

Biały Box Testowanie

Biały Box Testowanie jest techniką testowania, w której wewnętrzna struktura, projekt i kodowanie oprogramowania są testowane w celu weryfikacji przepływu wejścia-wyjścia oraz poprawy projektu, użyteczności i bezpieczeństwa. W testach białego pudełka kod jest widoczny dla testerów, dlatego nazywa się je również testowaniem jasnego pudełka, testowaniem otwartego pudełka, testowaniem przezroczystego pudełka, testowaniem opartym na kodzie i testowaniem szklanego pudełka.

Jest to jedna z dwóch części tzw Box Podejście testowe do testowania oprogramowania. Jego odpowiednik, testowanie Blackbox, obejmuje testowanie z perspektywy zewnętrznej lub użytkownika końcowego. Z drugiej strony, testowanie Whitebox w inżynierii oprogramowania opiera się na wewnętrznym działaniu aplikacji i koncentruje się na testowaniu wewnętrznym.

Termin „białyBox” został użyty ze względu na koncepcję przezroczystego pudełka. Przezroczyste pudełko lub białeBox nazwa symbolizuje zdolność do zajrzenia przez zewnętrzną powłokę oprogramowania (lub „pudełko”) do jego wewnętrznego działania. Podobnie „czarne pudełko” w „Czarny Box Testowanie” symbolizuje brak możliwości zobaczenia wewnętrznego działania oprogramowania, w związku z czym można przetestować jedynie wrażenia użytkownika końcowego.

Biały Box Testowanie wideo

Kliknij tutaj jeśli film nie jest dostępny

Co sprawdzasz w kolorze białym Box Testujesz?

Testowanie biało-skrzynkowe polega na testowaniu kodu oprogramowania pod kątem następujących elementów:

  • Wewnętrzne luki w zabezpieczeniach
  • Zepsute lub źle zorganizowane ścieżki w procesach kodowania
  • Przepływ określonych danych wejściowych przez kod
  • Oczekiwany wynik
  • Funkcjonalność pętli warunkowych
  • Testowanie każdej instrukcji, obiektu i funkcji indywidualnie

Testowanie może być przeprowadzane na poziomie systemowym, integracyjnym i jednostkowym rozwoju oprogramowania. Jednym z podstawowych celów testowania whitebox jest weryfikacja działającego przepływu dla aplikacji. Polega ono na testowaniu serii wstępnie zdefiniowanych danych wejściowych względem oczekiwanych lub pożądanych danych wyjściowych, tak aby w przypadku, gdy określone dane wejściowe nie przynoszą oczekiwanych danych wyjściowych, wystąpił błąd.

Jak wykonać White Box Testujesz?

Podzieliliśmy to na dwa podstawowe kroki, aby dać Ci uproszczone wyjaśnienie testowania white box. Oto, co robią testerzy, testując aplikację za pomocą techniki testowania white box:

KROK 1) ZROZUM KOD ŹRÓDŁOWY

Pierwszą rzeczą, którą tester często zrobi, jest nauczenie się i zrozumienie kodu źródłowego aplikacji. Ponieważ testowanie white box obejmuje testowanie wewnętrznych mechanizmów aplikacji, tester musi być bardzo dobrze zorientowany w językach programowania używanych w testowanych aplikacjach. Ponadto osoba testująca musi być bardzo świadoma bezpiecznych praktyk kodowania. Bezpieczeństwo jest często jednym z głównych celów testowania oprogramowania. Tester powinien być w stanie znaleźć problemy z bezpieczeństwem i zapobiec atakom hakerów i naiwnych użytkowników, którzy mogliby świadomie lub nieświadomie wstrzyknąć złośliwy kod do aplikacji.

KROK 2) UTWÓRZ PRZYPADKI TESTOWE I WYKONAJ

Drugim podstawowym krokiem do testowania white box jest testowanie kodu źródłowego aplikacji pod kątem prawidłowego przepływu i struktury. Jednym ze sposobów jest napisanie większej ilości kodu w celu przetestowania kodu źródłowego aplikacji. Tester opracuje małe testy dla każdego procesu lub serii procesów w aplikacji. Ta metoda wymaga, aby tester miał dogłębną wiedzę na temat kodu i jest często wykonywana przez programistę. Inne metody obejmują Testowanie ręczne, testowanie prób i błędów oraz korzystanie z narzędzi testowych, co wyjaśnimy w dalszej części tego artykułu.

BiałyBox Testowanie

BiałyBox Przykład testowania

Rozważ następujący fragment kodu

Printme (int a, int b) {                       ------------  Printme is a function 
    int result = a+ b; 
    If (result> 0)
    	Print ("Positive", result)
    Else
    	Print ("Negative", result)
    }                                        -----------   End of the source code

Gol BiałegoBox testowanie w inżynierii oprogramowania polega na weryfikacji wszystkich gałęzi decyzyjnych, pętli i instrukcji w kodzie.

Aby przećwiczyć stwierdzenia z powyższego przykładu testowania białego pola, WhiteBox byłyby przypadki testowe

  • A = 1, B = 1
  • A = -1, B = -3

Biały Box Techniki testowania

Główną techniką testowania White Box jest analiza pokrycia kodu. Analiza pokrycia kodu eliminuje luki w Przypadek testowy zestaw. Identyfikuje obszary programu, które nie są wykorzystywane przez zbiór przypadków testowych. Po zidentyfikowaniu luk tworzysz przypadki testowe w celu sprawdzenia nieprzetestowanych części kodu, zwiększając w ten sposób jakość oprogramowania

Dostępne są zautomatyzowane narzędzia do wykonania Analiza pokrycia koduPoniżej przedstawiono kilka technik analizy pokrycia, których może użyć tester pudełkowy:

Zasięg oświadczenia:- Ta technika wymaga, aby każda możliwa instrukcja w kodzie została przetestowana przynajmniej raz podczas procesu testowania Inżynieria oprogramowania.

Zasięg oddziałów – Technika ta sprawdza każdą możliwą ścieżkę (if-else i inne pętle warunkowe) aplikacji.

Oprócz powyższego istnieje wiele typów pokrycia, takich jak pokrycie stanu, pokrycie wielu warunków, pokrycie ścieżki, pokrycie funkcji itp. Każda technika ma swoje zalety i próbuje przetestować (pokryć) wszystkie części kodu oprogramowania. Używając pokrycia wyciągów i rozgałęzień, zazwyczaj osiągasz wystarczające pokrycie kodu na poziomie 80-90%.

Poniżej przedstawiono ważne informacje dotyczące bieliBox Techniki testowania:

  • Zasięg oświadczenia
  • Zakres decyzji
  • Zasięg oddziałów
  • Pokrycie stanu
  • Ochrona wielu warunków
  • Skończony zasięg maszyny stanowej
  • Pokrycie ścieżki
  • Testowanie przepływu sterowania
  • Testowanie przepływu danych

Rodzaje bieli Box Testowanie

Testowanie białoskrzynkowe obejmuje kilka typów testów stosowanych do oceny użyteczności aplikacji, bloku kodu lub konkretnego pakietu oprogramowania. Poniżej znajdują się —

  • Testów jednostkowych: Często jest to pierwszy rodzaj testów przeprowadzanych w aplikacji. Testów jednostkowych jest wykonywana na każdej jednostce lub bloku kodu w miarę jego opracowywania. Testowanie jednostkowe jest zasadniczo wykonywane przez programistę. Jako programista tworzysz kilka linii kodu, pojedynczą funkcję lub obiekt i testujesz go, aby upewnić się, że działa, zanim przejdziesz dalej. Testowanie jednostkowe pomaga zidentyfikować większość błędów na wczesnym etapie cyklu życia oprogramowania. Błędy zidentyfikowane na tym etapie są tańsze i łatwe do naprawienia.
  • Testowanie wycieków pamięci: Wycieki pamięci są głównymi przyczynami wolniejszego działania aplikacji. Specjalista ds. kontroli jakości, który ma doświadczenie w wykrywaniu wycieków pamięci, jest niezbędny w przypadku wolno działającej aplikacji.

Oprócz powyższych, kilka typów testów jest częścią zarówno testów black box, jak i white box. Są one wymienione poniżej

  • Biały Box Testowanie penetracyjne: Podczas tego testu tester/programista ma pełne informacje o kodzie źródłowym aplikacji, szczegółowe informacje o sieci, powiązane adresy IP i wszystkie informacje o serwerze, na którym działa aplikacja. Celem jest zaatakowanie kodu z kilku stron w celu ujawnienia zagrożeń bezpieczeństwa.
  • Biały Box Testy mutacji: Testowanie mutacji jest często używany do odkrywania najlepszych technik kodowania, które można zastosować w celu rozszerzenia rozwiązania programowego.

Biały Box Narzędzia testujące

Poniżej znajduje się lista najlepszych narzędzi do testowania typu white box.

Zalety bieli Box Testowanie

  • Optymalizacja kodu poprzez wyszukiwanie ukrytych błędów.
  • Przypadki testów typu white box można łatwo zautomatyzować.
  • Testowanie jest dokładniejsze, ponieważ zwykle uwzględniane są wszystkie ścieżki kodu.
  • Testowanie można rozpocząć już wcześniej SDLC nawet jeśli GUI nie jest dostępne.

Wady bieliBox Testowanie

  • Testowanie metodą białego pudełka może być dość skomplikowane i kosztowne.
  • Programiści, którzy zazwyczaj wykonują przypadki testów white box, nienawidzą tego. Testowanie white box przez programistów nie jest szczegółowe i może prowadzić do błędów produkcyjnych.
  • Do testowania typu white box wymagane są profesjonalne zasoby posiadające szczegółową wiedzę na temat programowania i implementacji.
  • Testowanie typu white-box jest czasochłonne, większe aplikacje programistyczne wymagają dokładnego przetestowania.

Podsumowanie

  • Testowanie metodą white box może być dość złożone. Złożoność ma wiele wspólnego z testowaną aplikacją. Mała aplikacja, która wykonuje jedną prostą operację, może zostać przetestowana metodą white box w ciągu kilku minut, podczas gdy większe aplikacje programistyczne potrzebują dni, tygodni, a nawet więcej czasu, aby w pełni je przetestować.
  • Testowanie białoskrzynkowe w testowaniu oprogramowania powinno być przeprowadzane w trakcie tworzenia aplikacji, po jej napisaniu, a także po każdej modyfikacji.

Codzienny biuletyn Guru99

Rozpocznij dzień od najnowszych i najważniejszych wiadomości na temat sztucznej inteligencji, dostarczanych już teraz.