
Представьте: «черная пятница», вы спешите урвать телефон по скидке, и тут сайт магазина внезапно падает. Чаще всего вы даже не успеете рассердиться или расстроиться, как все снова заработает. Это значит, что тестировщик быстро понял, в чем проблема, нашел ошибку и передал команде разработчиков, как ее исправить. Но, кто такие тестировщики, насколько это перспективная профессия и, к чему приведет их нехватка? Читайте в нашем материале.
Кто такой тестировщик и чем он занимается?
Тестировщики или, как их сейчас называют, инженеры по контролю качества (QA) проверяют программное обеспечение и связанные с ним продукты на наличие багов и вирусов.
К примеру, вы можете выбрать товар в онлайн-магазине, перейти к оплате и нажать на кнопку «Купить». Прежде чем у вас появится эта, казалось бы, простая функция тестировщик проверит, видна ли кнопка, не сливается ли она с фоном, со всех ли устройств работает, становится ли неактивной, если товара нет на складе. Или же вы живете в отдаленном городе, а нужный вам товар находится в другой стране. Тогда при выборе способа доставки должна отображаться подсказка, что в ваш регион доставка идет дольше. Казалось бы, и так понятно. Но, если не предупредить об этом, то жалоб от клиентов на «задержки» не избежать. То есть задача тестировщика —сделать взаимодействие пользователя с цифровым продуктом максимально простым, понятным и полезным.
«Иногда обратная связь от QA более точная, чем фидбэк с опросов — потому что мы работаем с продуктом каждый день. Работаем во всех браузерах и на разных устройствах, тестируем сотни сценариев. Отслеживаем, какие ошибки повторяются из релиза в релиз, в чем их причина и как исправить. Выявляем, насколько стабилен тестовый контур, сколько времени уходит на фиксы… Поэтому хороший тестировщик должен быть еще и аналитиком», — говорит инженер контроля качества и автоматизации Михаил Шептун.
Обязанности QA-инженера
Раньше тестировщиков подключали к проекту только в конце работы. Сейчас ситуация другая. Они помогают девелоперам выявлять баги еще до pull request, настраивают оповещения вместе с DevOps и следят за стабильностью всего процесса.
«Традиционная схема Dev → QA → Prod постепенно уходит в прошлое. Да, тестирование по-прежнему ключевой этап перед запуском продукта, когда он уже разработан и остается проверить его работоспособность. Но теперь тестировщиков подключают уже на этапе обсуждения требований и сценария, чтобы заранее проанализировать риски и предотвратить их до того, как написана первая строка кода. То есть рабочая модель изменилась с «тестируем после» на «тестируем вместе». Конечно же, это намного удобнее», — делится Шептун.
Михаил Шептун рассказал о рабочих обязанностях QA-инженеров:
- Подготовка. Сначала нужно изучить техзадание, чтобы понять, что и как тестировать. Расписать и распределить задачи, а также установить дедлайн.
- Разработка тестовой документации. Необходимо описать все возможные сценарии, как люди и организации смогут пользоваться этим продуктом.
- Выполнение тестов (ручное и/или автоматизированное тестирование). Нужно проверить каждую версию — как продукт будет работать в определенной ситуации.
- Описание багов. Любую ошибку надо записывать в систему вроде Jira, указать, как ее найти и насколько она критичная. Например, то, что цвет кнопки «Купить» недостаточно яркий — терпимо, а то, что сайт магазина не интегрирован с платежной системой — нет. Отчет передается разработчику, чтобы он доработал проект. Даже самые маленькие изменения в коде создают новую версию продукта, поэтому тесты нужно будет проводить заново.
- Подготовка отчета о тестировании и качестве релиза. Здесь важно трезво оценить, можно ли выпускать продукт на рынок в текущем виде или он вовсе никуда не годится.
Насколько привлекательна эта профессия?
С каждым годом ИТ-продукты и программное обеспечение становятся все сложнее, а количество людей и организаций, взаимодействующих с ними, растет. Поэтому цифровой мир, как никогда раньше, нуждается в профессиональных тестировщиках — тех, кто будет отвечать за качество этих информационных технологий. По данным рекрутингового агентства OnHires, спрос на них за два года вырос с 7,8 % до 12,93 % и будет продолжать расти. Особенно востребованы специалисты уровней Middle, Senior и Staff Engineer, которые понимают архитектуру, API, базы данных.
Однако потребность в профессионалах пока опережает предложение. К примеру, в Великобритании на 100 000 человек приходится 25 тестировщиков программного обеспечения, но спрос на них ежегодно растет на 25 %. Дефицит наблюдается и в России, и в Соединенных Штатах.
«Сейчас опытные QA-инженеры так же важны и востребованы, как разработчики. Без них выпуск новых фич задержится. Проекты становятся все сложнее, и чтобы протестировать их как следует, нужны больше времени и больше рук. А если рук не хватает, все это ложится на плечи нескольких перегруженных специалистов — и дальше по цепочке замедляется весь процесс. Поэтому сейчас среди самих QA особенно востребованы те, кто умеет писать автотесты. Это объясняется довольно просто: автоматизация ускоряет выход продукта на рынок, так как не нужно проверять каждый сценарий вручную, можно написать специальный скрипт, который за считанные минуты найдет ошибки. Бизнес экономит на этом время и свои ресурсы», — говорит Михаил Шептун.
Но не каждый тестировщик может стать инженером по автоматизации. Для этого нужно уметь:
- Тестировать как интерфейс (UI), так и серверную часть (API);
- Встраивать автотесты в процессы сборки и выката через CI/CD. Например, GitHub Actions, Jenkins, GitLab CI;
- Использовать современные инструменты вроде Cypress, Playwright, RestAssured или K6 для нагрузочного тестирования;
- Писать автотесты с хорошей архитектурой и чистым кодом;
- Писать фреймворки, библиотеки и утилиты, чтобы упростить и/или ускорить тестирование.
Как решить проблему нехватки тестировщиков?
Помимо долгого релиза, дефицит тестировщиков угрожает еще и тем, что программные обеспечения будут уязвимы к дефектам и кибератакам. Поэтому, чтобы закрыть пустующие вакансии, компании привлекают таланты высокими зарплатами. Однако это не решит проблему, поскольку придется автоматизировать большинство тестов. Значит, будет необходимость в специалистах. Чтобы закрыть вакансии придется переобучать QA-инженеров, привыкших и умеющих тестировать только вручную.
Также можно привлекать в тестирование разработчиков и аналитиков, предлагать целевые стипендии школьникам — оплатить их обучение, чтобы потом они работали на вас. Все это требует долгосрочных инвестиций, но, как ни крути, в цифровом мире такие вложения необходимы.
Автор: Карина Умарова