Я думаю, что вы здесь совершенно неправы. Я был тестером и разработчиком, и я получил большую пользу в качестве тестера от руководства разработчиков в областях, которые они считали рискованными или хрупкими; как разработчик, я хочу, чтобы тестировщики находили проблемы, которые я глубоко не исследовал.
Не было никакого "загрязнения", если ваш код не является сырой канализацией, и это было бы по совершенно другой причине.
Требования делают ужасную работу по информированию о технических проблемах, которые волнуют профессионала QA, потому что они в лучшем случае разрабатывают только то, что удалось уловить бизнес-аналитикам. Хорошие разработчики будут знать, что их код оптимизирован по «счастливому пути», и захотят узнать, что они оставили без внимания. По крайней мере, у них будет понимание того, что может пойти не так, и какие области они хотели бы исследовать. Они также знают, что представляет собой общая картина риска для конкретной функции в зависимости от их дизайна.
Будучи тестировщиком без руководства от команды разработчиков, я иногда использовал неправильный подход, который генерировал хорошие сообщения об ошибках, но не полностью использовал пути кода высокого риска и более серьезные проблемы, которых можно было бы избежать путем улучшения сотрудничества с командой разработчиков, отправлены клиентам.
Хотя тестировщик, конечно, не должен ограничивать себя тестированием только того, что, по словам разработчика, важно, он не пострадает, если узнает, что разработчики беспокоятся по поводу кода. Иногда они могут точно настроить свой подход, основываясь на своих знаниях о реализации. Только если тестировщик особенно близорук, он примет во внимание мнение разработчика о том, что такое риски, как последнее слово; они не будут полностью исключать то, что разработчик определяет как низкий риск, но они будут вкладывать больше усилий в то, что может оказать большее влияние на клиента.
Команда QA, скорее всего, увидит области, которые имеют большую область комбинаторного тестирования, чем собиратели требований или разработчики системы, но они могут не знать о компонентах системы, которые имеют более тонкий тип хрупкости, который выигрывает от знания дизайна или внедрение системы.
По моему опыту, сотрудничество между QA и Development производит продукты лучшего качества. Я никогда не рекомендовал бы делать только передачу черного ящика.