Testowanie czarnoskrzynkowe
Black Box Testing to metoda testowania oprogramowania, w której funkcjonalności aplikacji są testowane bez znajomości wewnętrznej struktury kodu, szczegółów implementacji i wewnętrznych ścieżek. Testowanie czarnoskrzynkowe koncentruje się głównie na danych wejściowych i wyjściowych aplikacji oprogramowania i jest całkowicie oparte na wymaganiach i specyfikacjach oprogramowania. Jest również znany jako testowanie behawioralne.
Powyższa Black-Box może być dowolnym systemem oprogramowania, który chcesz przetestować. Na przykład system operacyjny, taki jak Windows, witryna internetowa, taka jak Google, baza danych, taka jak Oracle, a nawet Twoja własna niestandardowa aplikacja. W ramach testowania czarnoskrzynkowego możesz testować te aplikacje, koncentrując się po prostu na wejściach i wyjściach bez znajomości ich wewnętrznej implementacji kodu. Rozważ następujący samouczek wideo:
Kliknij tutaj, jeśli wideo nie jest dostępne
Jak przeprowadzić testowanie BlackBox
Oto ogólne kroki, które należy wykonać, aby przeprowadzić wszelkiego rodzaju testy czarnoskrzynkowe.
- Na początku badane są wymagania i specyfikacje systemu.
- Tester wybiera prawidłowe dane wejściowe (pozytywny scenariusz testu), aby sprawdzić, czy SUT przetwarza je poprawnie. Ponadto niektóre nieprawidłowe dane wejściowe (scenariusz testu negatywnego) są wybierane w celu sprawdzenia, czy SUT jest w stanie je wykryć.
- Tester określa oczekiwane wyniki dla wszystkich tych wejść.
- Tester oprogramowania konstruuje przypadki testowe z wybranymi danymi wejściowymi.
- Wykonywane są przypadki testowe.
- Tester oprogramowania porównuje rzeczywiste wyniki z oczekiwanymi wyjściami.
- Usterki, jeśli występują, są naprawiane i ponownie testowane.
Rodzaje testów czarnoskrzynkowych
Istnieje wiele rodzajów testów czarnoskrzynkowych, ale najważniejsze z nich to:
- Testowanie funkcjonalne - ten typ testu czarnoskrzynkowego jest powiązany z wymaganiami funkcjonalnymi systemu; robią to testerzy oprogramowania.
- Testowanie niefunkcjonalne - ten rodzaj testowania czarnoskrzynkowego nie jest związany z testowaniem określonej funkcjonalności, ale z niefunkcjonalnymi wymaganiami, takimi jak wydajność, skalowalność, użyteczność.
- Testowanie regresyjne - Testowanie regresyjne jest wykonywane po poprawkach kodu, uaktualnieniach lub jakiejkolwiek innej konserwacji systemu w celu sprawdzenia, czy nowy kod nie wpłynął na istniejący kod.
Narzędzia używane do testowania czarnoskrzynkowego:
Narzędzia używane do testów czarnoskrzynkowych w dużej mierze zależą od rodzaju przeprowadzanych testów.
- Do testów funkcjonalnych / regresyjnych możesz użyć - QTP, Selenium
- W przypadku testów niefunkcjonalnych można użyć - LoadRunner, Jmeter
Techniki testowania czarnoskrzynkowego
Poniżej przedstawiono najważniejsze strategie testowe spośród wielu stosowanych w testach czarnoskrzynkowych
- Testowanie klas równoważności: jest używane w celu zminimalizowania liczby możliwych przypadków testowych do optymalnego poziomu, przy jednoczesnym zachowaniu rozsądnego pokrycia testowego.
- Testowanie wartości granicznych : Testowanie wartości granicznych koncentruje się na wartościach na granicach. Technika ta określa, czy określony zakres wartości jest akceptowany przez system, czy nie. Jest to bardzo przydatne w zmniejszaniu liczby przypadków testowych. Jest najbardziej odpowiedni dla systemów, w których dane wejściowe mieszczą się w określonych zakresach.
- Testowanie tabeli decyzyjnej: Tabela decyzyjna umieszcza przyczyny i ich skutki w macierzy. W każdej kolumnie znajduje się unikalna kombinacja.
Porównanie testów czarnoskrzynkowych i białoskrzynkowych:
Testowanie czarnoskrzynkowe | Testowanie w białej skrzynce |
---|---|
Głównym celem testów czarnoskrzynkowych jest walidacja wymagań funkcjonalnych. | Testowanie białoskrzynkowe (testowanie jednostkowe) weryfikuje wewnętrzną strukturę i działanie kodu oprogramowania |
Testowanie czarnoskrzynkowe daje abstrakcję z kodu i koncentruje się na testowaniu zachowania systemu oprogramowania. | Aby przeprowadzić testy White Box, niezbędna jest znajomość podstawowego języka programowania. Obecne systemy oprogramowania wykorzystują różnorodne języki programowania i technologie i nie jest możliwe poznanie ich wszystkich. |
Testowanie czarnoskrzynkowe ułatwia testowanie komunikacji między modułami | Testowanie białoskrzynkowe nie ułatwia testowania komunikacji między modułami |
Testowanie czarnoskrzynkowe i cykl życia oprogramowania (SDLC)
Testowanie czarnoskrzynkowe ma swój własny cykl życia zwany cyklem życia testowania oprogramowania (STLC) i jest powiązany z każdym etapem cyklu życia tworzenia oprogramowania w inżynierii oprogramowania.
- Wymagania - jest to początkowy etap SDLC i na tym etapie zbierane jest wymaganie. W tym etapie biorą również udział testerzy oprogramowania.
- Planowanie i analiza testów - określa się typy testów mające zastosowanie do projektu. Tworzony jest plan testów, który określa możliwe ryzyka projektowe i sposoby ich ograniczania.
- Projektowanie - na tym etapie przypadki testowe / skrypty są tworzone na podstawie dokumentów wymagań oprogramowania
- Wykonanie testów - na tym etapie wykonywane są przygotowane przypadki testowe. Błędy, jeśli występują, zostały naprawione i ponownie przetestowane.