Так, понятно, я вижу в чем тут основная причина спора - в разности определений. В начале топика не были введены понятия что есть тестирование, роль тестера и что есть программирование.
Следовательно, без введенных определений дальнейшая дискуссия не имеет никакого смысла, ибо каждый понимает что-то свое под каждым из понятий.
Есличо, я под тестированием понимаю очень широкий спектр деятельности, от white box-testing, load\stress\performance testing до usability и requirement analysis. Определение программирования у меня тоже весьма широкое, знание скриптовых языков таки да в него попадает.
Понятное дело, что человеку, тестирующему ГУЙ на предмет его юзабельности и соответствия тех.заданию никаких познаний в области программирования не требуется. А вот человеку, занимающемуся performance/load/stress testing (и не только этим) без познаний в области программирования не обойтись никак.
Посему сферический QA в вакууме основы программирования знать и понимать таки должен.