Хорошо, я тебе тоже говорю по-своему опыту личному, раз не доверяешь проффесиональному. В свободное время программирую. Так вот оно бывает и вроде работает и не работает. Подозрительно вобщем работает. В любой нормальной ситуации разрабу скинешь, он перекинет, мол баг не воспроизводится, не дури голову. А заходишь в код, все понятно становится, что куда шлется зачем, когда и с какими параметрами, а разраб туда уже и не заходит.
Конечно, кто бы спорил. И это только один способ того, как развивается тестировщик. Еще можно находить баги за счет экспертности, или хороших кейсов, или знания особенностей платформ, и даже за счет знания доменной области.
То есть знание программирования для тестировщика - это один из путей. Хороший, но не всегда - лучший. И уж совершенно точно - не необходимый.