Если под QA подразумевается "тестировщик" , то вопрос отпадает сам по себе : Что бы тестировать продукт необходимы знания на уровне "сис. админа" :))) Что бы не расписывать потом " А я вот кликнул вот на эту кнопечку и у меня выскочило какое то сообщение, не по русски, с кучей циферок".
При нахождение какого либо бага , его не просто надо выловить, а попытаться расписать вероятные причины его появления, для этого _желательно_ понимать как работают программы и естественно знать среду в которой она запускается. Что бы не было такого, как пример, что вы грешите на программу (которая глючит), а причина оказывается в БД, которая не доступна из за того что нет сети