Black-box testing

Informacje podstawowe
Testy przeprowadzane metodami czarnej skrzynki (black box) i białej skrzynki (white box) określają perspektywę z której tester wykonuje swoją pracę. Black box jest spojrzeniem od zewnątrz na testowany obiekt natomiast White box “zagląda do środka” testowanej aplikacji.Testowanie oprogramowania częściowo opiera się na intuicji jednak w przeważającej mierze jest to systematyczna praca za którą stoi wiedza na temat technik przeprowadzania testów i znajomość narzędzi.

Funkcje jakie system, podsystem lub komponent wykonują mogą być opisane jako wymagania specyfikacji, przypadki użycia lub specyfikacja funkcjonalności, mogą też pozostać nieudokumentowane. Funkcje definiuje się jako czynności wykonywane przez system. Testy funkcjonalne oparte są na tych funkcjonalnościach lub funkcjach (opisanych w dokumentacji lub zrozumiane przez testera) i mogą być wykonane na każdym poziomie testowania (np. testy komponentów oparte są na specyfikacji komponentów). Testowanie funkcjonalne analizuje zewnętrzne zachowanie oprogramowania, traktując ją jak czarną skrzynkę.

Testy funkcjonalne są odpowiedzialne za sprawdzenie:
 * funkcjonalnych części aplikacji
 * czy pojawiają się komunikaty np. błędów
 * czy program jest użyteczny
 * wyświetlanych elementów w aplikacji
 * komunikacji między aplikacją a serwerem.

Techniki testowania metodą Czarnej Skrzynki (Black Box)
Do technik testowania metodą Czarnej Skrzynki należą:
 * Functional Testing,
 * Stress Testing,
 * Load Testing,
 * Ad-hoc Testing,
 * Exploratory Testing,
 * Usability Testing,
 * Performance Testing,
 * Smoke Testing,
 * Recovery Testing,
 * Volume Testing,
 * Domain Testing,
 * Scenario Testing,
 * Regression Testing.

Zalety testowania metodą czarnej skrzynki

 * testy są powtarzalne,
 * testowane jest środowisko w którym przeprowadzane są testy,
 * zainwestowany wysiłek może być użyty wielokrotnie.

Wady testowania metodą czarnej skrzynki

 * Wyniki testów mogą szacowane nazbyt optymistycznie,
 * Nie wszystkie właściwości systemu mogą zostać przetestowane,
 * Przyczyna błędu nie jest znana.