Wydaje mi się, że tutaj jesteś w błędzie. Byłem testerem i programistą i jako tester odniosłem wiele korzyści ze wskazówek deweloperów na temat obszarów, które uważali za grupy wysokiego ryzyka lub niestabilne; jako programista chcę, aby testerzy znaleźli problemy, których dogłębnie nie zbadałem.
Nie było „zanieczyszczenia”, chyba że twój kod to surowe ścieki, i to z zupełnie innego powodu.
Wymagania mają okropną robotę w komunikowaniu o problemach technicznych, na których by się liczył specjalista ds. Kontroli jakości, ponieważ w najlepszym razie opracowują tylko to, co analitykom biznesowym udało się uchwycić. Dobrzy programiści będą świadomi, że ich kod jest zoptymalizowany na „szczęśliwej ścieżce” i będą chcieli wiedzieć, co pozostawili bez uwzględnienia. Będą mieli przynajmniej intuicję co do tego, co może pójść nie tak i jakie obszary chcieliby zbadać w ramach kontroli jakości. Wiedzą także, jaki jest ogólny obraz ryzyka związanego z konkretną funkcją opartą na ich projekcie.
Jako że testerowi brakuje wskazówek od zespołu programistów, czasami stosowałem niewłaściwe podejście, które generowało dobre raporty o błędach, ale nie do końca korzystałem ze ścieżek kodu wysokiego ryzyka i większych problemów, których można było uniknąć dzięki lepszej współpracy wraz z zespołem programistów wysyłanym do klientów.
Podczas gdy tester z pewnością nie powinien ograniczać się do testowania tego, co zdaniem programisty jest ważne, nie zostanie on uszkodzony przez poznanie własnych obaw programistów dotyczących kodu. Czasami mogą dopracować swoje podejście w oparciu o swoją wiedzę na temat wdrażania. Tylko jeśli tester jest szczególnie krótkowzroczny, weźmie pod uwagę opinię dewelopera na temat ryzyka jako ostateczne słowo; nie będą całkowicie zamykać rzeczy, które programista określa jako niskie ryzyko, ale włożą więcej wysiłku w rzeczy, które mogą mieć większy wpływ na klienta.
Zespół kontroli jakości prawdopodobnie zobaczy obszary, które mają duży zakres testów kombinatorycznych niż zbieracze wymagań lub twórcy systemu, ale mogą nie być świadomi elementów systemu, które mają bardziej subtelny rodzaj kruchości, który korzysta ze świadomości projektu lub wdrożenie systemu.
Z mojego doświadczenia wynika, że współpraca między QA a działem rozwoju zapewnia produkty lepszej jakości. Nigdy nie zalecałbym przekazywania tylko czarnej skrzynki.