Позволю себе не согласиться с Вами.
Любому тестеру необходимо знание языка под который он пишет тесты.
Как пример:
невозможно написать корректный тест для класса Java не зная по какому принципу он реализован и каким образом он инициализируется. Вы же надеюсь не считаете что юнит-тестирование - это нажатие пары кнопок в среде разработки?

Как человек, незнакомый с понятием и реализацией паттернов, будет тестировать и инициализировать Singleton если там нет конструктора? Как правильно проверить тестами тот же паттерн в контексте многопоточного приложения?
И каковы по Вашему будут результаты тестирования при "неглубоком знании программирования"?
И это мы ещё не затрагиваем концепцию Extreme programming - где разработка происходит через тестирование.

Поставьте себя на место работодателя и подумайте.
Взяли бы Вы на работу человека, который не знает предметной области и может поставить под удар реализацию проекта?