Skuteczność wykrywania usterek w testach i przeglądach może zostać podniesiona przez zaangażowanie niezależnych testerów. Niezależność może występować w różnych wariantach, włączając w to następujące:
- brak niezależnych testerów, programiści testują swój własny kod
- niezależni testerzy wewnątrz zespołu projektowego
- niezależny zespół testowy lub grupa testerów wewnątrz organizacji podlegająca kierownikowi projektu lub zarządowi
- niezależni testerzy z departamentów biznesowych lub społeczności użytkowników
- niezależni specjaliści od określonych typów testów takich jak użyteczności, zabezpieczeń lub certyfikacji oprogramowania (którzy przeprowadzają certyfikację oprogramowania na zgodność z regulacjami prawnymi lub standardami)
- niezależni testerzy, którzy zostali wynajęci lub są na zewnątrz organizacji
W projektach dużych, złożonych lub przy wytwarzaniu aplikacji krytycznych ze względu na bezpieczeństwo, zwykle najlepiej mieć kilka poziomów testów, z których niektóre lub wszystkie wykonywane są przez niezależnych testerów. Programiści mogą uczestniczyć w testach, szczególnie na niższych poziomach, ale ich brak obiektywności często ogranicza skuteczność. Niezależni testerzy mogą zostać upoważnieni do zdefiniowania i egzekwowania procesu testowania i ról z nim związanych, ale powinni to robić tylko w przypadku posiadania zdecydowanego poparcia ze strony kierownictwa.
Korzyści z niezależności:
- niezależni testerzy widzą inne i odmienne usterki niż twórcy oraz nie mają uprzedzeń
- niezależny tester może zweryfikować założenia poczynione podczas specyfikacji i implementacji systemu
Wady niezależności:
- izolacja od zespołu deweloperskiego (jeżeli niezależność jest całkowita)
- programiści mogą utracić poczucie odpowiedzialności za jakość
- niezależni testerzy mogą być postrzegani jako wąskie gardło lub obwiniani za opóźnienia w wydaniach
Zadania związane z testowaniem mogą być wykonywane przez ludzi pełniących konkretne role testerskie lub przez ludzi pełniących inne role np. kierownika projektu, menedżera jakości, programistę, eksperta biznesowego lub dziedzinowego, ludzi związanych z serwisem operacyjnym lub IT.