Testowanie szarej skrzynki
Testowanie szarej skrzynki lub testowanie szarej skrzynki to technika testowania oprogramowania służąca do testowania oprogramowania lub aplikacji z częściową znajomością wewnętrznej struktury aplikacji. Celem testów szarej skrzynki jest wyszukiwanie i identyfikacja defektów wynikających z niewłaściwej struktury kodu lub niewłaściwego użycia aplikacji.
W tym procesie często identyfikuje się błędy specyficzne dla kontekstu, które są związane z systemami sieciowymi. Zwiększa zakres testów, koncentrując się na wszystkich warstwach dowolnego złożonego systemu.
Testowanie szarych skrzynek to metoda testowania oprogramowania, będąca połączeniem zarówno testu białoskrzynkowego, jak i testu czarnoskrzynkowego.
- W testach White Box znana jest struktura wewnętrzna (kod)
- W testach Black Box struktura wewnętrzna (kod) jest nieznana
- W Gray Box Testing struktura wewnętrzna (kod) jest częściowo znana
W inżynierii oprogramowania, Gray Box Testing daje możliwość testowania obu stron aplikacji, warstwy prezentacji, a także części kodu. Jest to przydatne przede wszystkim w testach integracyjnych i testach penetracyjnych.
Przykład testowania w szarej skrzynce: Podczas testowania funkcji stron internetowych, takich jak linki lub linki osierocone, jeśli tester napotka jakiś problem z tymi linkami, może od razu wprowadzić zmiany w kodzie HTML i sprawdzić w czasie rzeczywistym.
Dlaczego testy Gray Boxa
Testowanie szarych skrzynek jest wykonywane z następującego powodu:
- Zapewnia połączone korzyści zarówno z testów czarnoskrzynkowych, jak i białoskrzynkowych
- Łączy w sobie wkład programistów oraz testerów i poprawia ogólną jakość produktu
- Zmniejsza narzut związany z długim procesem testowania typów funkcjonalnych i niefunkcjonalnych
- Daje programiście wystarczająco dużo czasu na naprawienie usterek
- Testowanie odbywa się z punktu widzenia użytkownika, a nie z punktu widzenia projektanta
Strategia testowania szarej skrzynki
Aby przeprowadzić testy Gray box, nie jest konieczne, aby tester miał dostęp do kodu źródłowego. Test jest projektowany w oparciu o znajomość algorytmu, architektur, stanów wewnętrznych lub innych wysokopoziomowych opisów zachowania programu.
Aby wykonać test Gray box:
- Stosuje prostą technikę testowania czarnoskrzynkowego
- Opiera się na generowaniu przypadków testowych wymagań, jako takie, ustawia wszystkie warunki, zanim program zostanie przetestowany metodą asercji.
Techniki stosowane w testach Grey Box to:
- Testowanie macierzy: Ta technika testowania obejmuje definiowanie wszystkich zmiennych, które istnieją w ich programach.
- Testowanie regresyjne : Aby sprawdzić, czy zmiana w poprzedniej wersji spowodowała regresję innych aspektów programu w nowej wersji. Zostanie to zrobione poprzez testowanie strategii, takich jak ponowne przetestowanie wszystkich, ponowne przetestowanie ryzykownych przypadków użycia, ponowne przetestowanie w zaporze.
- Ortogonal Array Testing lub OAT : zapewnia maksymalne pokrycie kodu przy minimalnej liczbie przypadków testowych.
- Testowanie wzorców: To testowanie jest przeprowadzane na danych historycznych poprzednich defektów systemu. W przeciwieństwie do testów czarnoskrzynkowych, testowanie szarej skrzynki zagłębia się w kodzie i określa przyczynę niepowodzenia
Zwykle metodologia Grey box wykorzystuje zautomatyzowane narzędzia do testowania oprogramowania do przeprowadzania testów. Stuby i sterowniki modułów są tworzone w celu zwolnienia testera z ręcznego generowania kodu.
Kroki do wykonania testu szarej skrzynki są następujące:
- Krok 1 : Zidentyfikuj dane wejściowe
- Krok 2 : Zidentyfikuj wyjścia
- Krok 3 : Zidentyfikuj główne ścieżki
- Krok 4 : Zidentyfikuj podfunkcje
- Krok 5 : Opracuj dane wejściowe dla podfunkcji
- Krok 6 : Opracuj wyniki dla podfunkcji
- Krok 7 : Uruchom przypadek testowy dla funkcji podrzędnych
- Krok 8 : Sprawdź poprawność wyniku dla funkcji podrzędnych
- Krok 9 : Powtórz kroki 4 i 8 dla innych funkcji podrzędnych
- Krok 10 : Powtórz kroki 7 i 8 dla innych funkcji podrzędnych
Przypadki testowe do testów szarych skrzynek mogą obejmować: związane z GUI, związane z bezpieczeństwem, związane z bazą danych, związane z przeglądarką, związane z systemem operacyjnym itp.
Wyzwania testowania szarej skrzynki
- Kiedy testowany komponent napotka jakąś awarię, może to doprowadzić do przerwania bieżącej pracy
- Gdy test jest wykonywany w całości, ale treść wyniku jest nieprawidłowa.
Podsumowanie:
- Całkowity koszt defektów systemu można zmniejszyć i zapobiec dalszemu przejściu przez testy Gray box
- Testowanie szarych skrzynek jest bardziej odpowiednie dla GUI, testów funkcjonalnych, oceny bezpieczeństwa, aplikacji internetowych, usług internetowych itp.
- Techniki stosowane w testach Gray box
- Testowanie macierzy
- Testowanie regresji
- Testowanie OAT lub ortogonalne tablice
- Testowanie wzorców