Если вы думаете, что QA-инженер — это такой человек с увеличительным стеклом, который ходит по офису и ищет баги, как Шерлок Холмс на каникулах, то вы отчасти правы. Только вместо лупы у него в руках клавиатура и набор сценариев тестирования, а вместо лондонского тумана — куча кода и пользовательских требований.
Да-да, QA-инженер — это тот самый герой IT-среды, который помогает найти ошибки в сайтах, приложениях и онлайн-сервисах еще до того, как эти ошибки начнут портить жизнь пользователям. Представьте себе: пользователь пытается перевести деньги через приложение банка, а тут бац — вместо перевода у него на экране «Ошибка 404: деньги не найдены».
Вот чтобы таких ситуаций было поменьше, и существует этот таинственный специалист.
Начинается всё не с хаотичного тыканья кнопок (хотя и это бывает), а с участия в обсуждении требований проекта. В команде звучит идея: «Давайте добавим функцию перевода денег между пользователями».
QA-инженер сразу поднимает руку и спрашивает: «А если пользователь введёт сумму больше своего баланса? А если связь пропадёт прямо во время операции? А если кто-то решит нажать кнопку десять раз подряд?» И тут начинается настоящее расследование слабых мест продукта ещё до того, как программисты напишут строку кода.
Как говорил один мой знакомый тестировщик: «Если QA-инженер не задаст глупых вопросов — кто же тогда заставит разработчиков подумать?»
Когда появляется первая рабочая версия приложения (или как её ещё называют — «бета-версия с сюрпризами»), начинается самое интересное. Некоторые проверки делаются вручную: открыть страницу, заполнить форму… иногда кажется, что это бесконечный марафон по нажатию кнопок. Другие проверки автоматизируют — пишут специальные скрипты, которые запускаются сами по расписанию.
Это похоже на то, как если бы вы научили робота пить кофе за вас утром: удобно и эффективно.
Главная миссия QA-инженера – сделать продукт стабильным и понятным для пользователя. Ведь никто не хочет оказаться в ситуации из анекдота: «Пытаюсь зарегистрироваться на сайте… Ошибка!
Пытаюсь войти… Ошибка! Пытаюсь выйти… Ошибка!» Хороший специалист не только ловит баги, но и помогает всей команде улучшить процесс разработки так, чтобы ошибок становилось меньше.
Интересно отметить различия между тестировщиком и QA-инженером.
Тестировщик обычно проверяет уже готовую сборку продукта: идёт по сценарию и ищет ошибки. А QA-инженер смотрит шире — анализирует требования к продукту, думает о качестве процесса в целом и часто занимается автоматизацией тестов. Можно сказать так: тестировщик – это охотник за багами с ружьём в руках; QA-инженер же скорее стратег за картой боевых действий.
Для тех, кто мечтает попасть в эту профессию без страха перед кодом — не переживайте! Не обязательно сразу быть программистом уровня «гуру».
Главное – понимать устройство цифровых продуктов, внимательность до мелочей и умение чётко описывать найденные проблемы. Хороший отчёт об ошибке может спасти команду от бессонных ночей и лишних нервов разработчиков.
Как сказал однажды один опытный QA-инженер: «Если твой баг-репорт похож на любовное письмо – разработчик ответит тебе быстрее».