Co to jest testowanie szarej skrzynki?
Testowanie szarych skrzynek jest rodzajem profesjonalnych testów często wykorzystywanych w oprogramowaniu komputerowym, które łączy pewne aspekty testowania czarnych skrzynek i testów białych skrzynek. Ogólna idea polega na połączeniu tych dwóch innych typów, aby wykorzystać mocne strony każdego z nich, minimalizując jednocześnie ich ograniczenia lub słabości. Testowanie w szarej skrzynce zasadniczo polega na profesjonalnym testowaniu, w którym testerzy rozumieją niektóre sposoby działania oprogramowania, ale nie rozumieją wszystkiego na ten temat.
Podczas opracowywania i testowania oprogramowania komputerowego często stosuje się dwa popularne modele testowania. Są to testy czarnych skrzynek i białych skrzynek, a szara skrzynka jest w zasadzie kombinacją obu. Testowanie czarnej skrzynki polega na testowaniu, w którym testerzy nie rozumieją ani nie mają dostępu do kodu uruchamiającego oprogramowanie. Na przykład ktoś może wykorzystać testowanie czarnej skrzynki, aby umożliwić firmie zewnętrznej opracowanie oprogramowania do pracy z komputerowym systemem operacyjnym (OS) bez podawania firmie kodu źródłowego dla tego systemu.
Ten rodzaj testów jest często używany przez wiele różnych firm programistycznych i może być wykorzystywany zarówno do testów wewnętrznych, jak i zewnętrznych. Jedną z największych słabości tego rodzaju testów jest jednak to, że ograniczona wiedza testerów może potencjalnie utrudnić ich testowanie. Będzie to często wymagało analizy wyników przez stronę trzecią, która rozumie zarówno przeprowadzane testy, jak i kod testowanego oprogramowania. Testowanie szarych skrzynek ma na celu złagodzenie niektórych z tych problemów poprzez połączenie tego rodzaju testów z pewnymi elementami testów białych skrzynek.
Testowanie w białej skrzynce polega na testowaniu oprogramowania przez osoby, które w pełni rozumieją testowane oprogramowanie i mają dostęp do kodu źródłowego oprogramowania. Często jest to wykonywane wewnętrznie u programisty, aby zapewnić prawidłowe działanie programu i umożliwić testerom bezpośrednią interakcję z kodem stojącym za programem. Istnieją jednak potencjalne problemy z bezpieczeństwem przy tego typu testach, dlatego testy szarej skrzynki są często używane do łączenia obu typów w sposób zarówno produktywny, jak i bezpieczny.
W testach w szarym polu testerzy rozumieją niektóre aspekty używanego oprogramowania i mogą widzieć niektóre części kodu źródłowego, ale nie wszystkie. Pozwala to testerom na pełniejszą interakcję i zrozumienie programu, który testują, niż pozwala na to testowanie czarnej skrzynki, ale bez pełnego dostępu i problemów bezpieczeństwa, które mogą wyniknąć z testów białej skrzynki. Na przykład osoba przeprowadzająca testy szarej skrzynki na oprogramowaniu dla nowego systemu operacyjnego może zobaczyć kod dla aspektów systemu operacyjnego związanych z jego testowaniem programu, ale nie cały kod źródłowy.