Начнём с того, что QA-инженер и простой тестировщик - это немного разные вещи. В статье «
Кто ты, QA-инженер или тестировщик?» автор довольно доходчиво разъясняет различия, хотя и не затрагивает вопрос о необходимости наличия или отсутствия навыков программирования у тестировщиков.
Из своего личного опыта могу сказать, что тестировать ПО можно и без знаний программирования вообще. Достаточно знать методики тестирования и прочую теорию по теме. Но! Далеко Вы с такими знаниями не уедете. Конечно, глубокие навыки разработчика тестировщику тоже без надобности, но начиная с определённого уровня без некоторых знаний программирования не обойтись. Опять же, из моего личного опыта могу весьма приблизительно выделить следующие уровни:
- Простой тестировщик. Хорошо знает теорию и может иметь немного практики. Знает про различные виды тестирования, тест кейзы и т.п. Практически ничего не знает о программировании, кроме базовых знаний о устройстве ПК и ПО. Такой специалист может производить только простые прогоны очередного релиза или снапшота на наличие нештатного поведения. Никакую более или менее внятную диагностику такой специалист произвести не в состоянии. Обычно это начинающие и со временем они прокачиваются, получая некоторые знания о программировании даже против своей воли.
- Тестировщик с общими навыками программирования. Не может сам написать ничего, но понимает как устроены программы. Плюс, имеет все навыки и знания из предыдущего пункта. Такой специалист может выполнить более или менее сложную диагностику и адекватно завести баг в трекере. Да, да. Для того, что бы завести запись о найденном баге в трекере Вы должны хотя бы минимально понимать структуру тестируемого продукта. Это обычный рядовой тестировщик.
- Прокачанный. Способен самостоятельно писать скрипты и автоматические тесты. Понимает, как устроено тестируемое ПО. Такой специалист вполне в состоянии не только искать ошибки и автоматизировать процесс их поиска, но и давать рекомендации программистам, поскольку не только видит визуальное несоответствие заданным требованиям, но и может внятно рассказать, что именно тут не так. По моему личному опыту на таком уровне, обычно, находятся начальники отделов тестирования. То есть это люди, которые фактически принимают решения по организации всего процесса тестирования.
Данное разбиение на 3-и уровня не официальное, а лишь составлено на основе моего опыта общения с тестировщиками, как программиста. Поэтому принимать его как реальную мерную шкалу уровней не стоит. Тем не менее, надеюсь, что мой ответ позволит Вам составить общее представление о том, как данная работа происходит в реальности, а не в стандартах и ГОСТ-ах.