Они тестируют (сюрприз!). Ну и параллельно отвечают за качество. Не в одиночку, конечно. За этим следит вся команда, но тестировщик к этому прям вот
близость максимум.
А если конкретно, то
QA проверяют, насколько реальная работа программы отличается от того, что написано в требованиях. Требованиями могут являться любые документы, где написано, как, что и почему должно работать. Степень соответствия написанного к реальной работе ПО и есть результат тестирования.
Конечно, помимо самого процесса тестирования, хорошие тестировщики составляют тест-планы, рефакторят кейсы, занимаются стратегией тестирования и вообще мечтают автоматизировать все, до чего доберутся. Окей, слукавил — тут все зависит от уровня QA специалиста и его должности. Только настоящие и опытные джедаи могут перевести свои тесты в код.