Инженер
по тестированию

Инженеры по тестированию в Яндексе занимаются самыми разными задачами: тестируют беспилотные автомобили на полигоне, проверяют, как работает приложение для самокатов, пишут автотесты. Мы поговорили с тестировщиками разных сервисов о том, как расти в профессии и что для этого нужно.

Из тестирования в разработку

В последнее время всё чаще встречается мнение, что тестирование — это проходной этап, лёгкий способ войти в IT и попасть в разработку. Однако на практике всё оказывается не так однозначно.

Регина Шелест

продакт‑менеджер профессии инженер по тестированию, Яндекс Практикум

Если человек пока сам не знает, чем хочет заниматься в IT, то тестирование — это хороший способ познакомиться с процессами создания продукта и ролями в команде.

Однако лучше всё же заранее больше узнать про профессии и сразу учиться на то, что больше откликается. Быстрее будет сразу выучиться на разработчика, чем учиться на инженера по тестированию, а потом переходить в разработку.

Алексей Шмыков

руководитель службы обеспечения качества, Беспилотные технологии

Я пришёл в Яндекс автоматизатором тестирования, потом ушёл в разработку, после этого перешёл в ручное тестирование беспилотных автомобилей, а сейчас у меня менеджерская должность. Это нормально — искать и развиваться, хотеть разного в разные периоды.

Анна Романова

разработчик новых продуктов для среднего и малого бизнесов

В ручное тестирование я попала почти 13 лет назад и занималась самыми разными проектами, но в какой‑то момент увидела потолок: сложно построить бесконечный путь развития для ручного тестировщика. Я хотела иметь личную ответственность за свою работу, чтобы результат был понятным и ощутимым. В моей команде появилась вакансия разработчика, и мне предложили попробовать. Я согласилась, и мне понравилось.

Перейти из тестирования в разработку — это долго и морально тяжело. Это ежедневный кропотливый труд, который требует безумного количества времени и сил. То есть недостаточно просто 8 часов работать на работе. Ты работаешь на работе, а потом ещё минимум 4 часа — дома, чтобы стать разработчиком. Может, это легче, чем начинать с нуля, но это точно не легко.

Прямиком в автотесты

Один из вариантов развития ручного тестировщика — освоить автоматизацию и научиться писать автотесты.

Ольга Дубова

инженер по тестированию службы разработки интерфейсов, Яндекс Бизнес

Писать автотесты я научилась в Яндекс Бизнесе. Автоматизация — отличный инструмент в арсенале тестировщика и один из путей развития компетенций. У нас на проекте QA‑инженер совмещает работу ручного тестировщика и автоматизатора. Новые функции мы всегда тестируем вручную, а автотестами проверяем регрессию — не сломалось ли то, что табильно работало до этого.

Команда всегда сама решает, выгодно ли ей использовать автотестирование или эффективнее будет выполнить проверки вручную. Наш проект уже довольно большой: 4 года разработки, и постоянно выкатывается новый функционал. Поэтому для нас отлично работает автоматизированная регрессия — она снимает рутинную нагрузку по проверке работы старого кода, освобождает время на исследовательское тестирование.

Алексей Шмыков

руководитель службы обеспечения качества, Беспилотные технологии

Автоматизация в Беспилотных технологиях — это не то же самое, что в других сервисах. Это не про программирование, а больше про аналитические инструменты.

Ручное тестирование у нас — это когда человек накатывает на систему беспилотного автомобиля новую версию кода и проверяет его на дороге, на первом этапе — на нашем испытательном полигоне. Он отмечает, как ведёт себя система, а потом анализирует проезд.

Автоматизированное тестирование — это своего рода симуляция уличного пространства, автомобильного окружения, с какими‑то интересными или важными дорожными ситуациями, которые беспилотный автомобиль встречал в реальности. В этот симулятор мы можем загрузить свежую версию кода, прогнать и посмотреть, как он себя ведёт.

Не тестировщик, но QA

Инженер по тестированию может развиваться и в сторону экспертизы, углублённости знаний, строить долгосрочные стратегии.

Анна Замышляева

руководитель группы тестирования 
веб‑приложений Карт, Геосервисы

Опытный QA‑инженер всегда будет стараться смотреть на фичу так, как потом на неё будет смотреть пользователь, попытается оценить её место и значимость в общей стратегии развития сервиса. Допустим, сегодня мы находим по 5‑10 багов в релизе, а хотим довести качество задач до того состояния, когда на этапе передачи в тестирование в них уже практически нет ошибок. Что для этого нужно сделать?

Высокоуровневый тестировщик может посмотреть на продукт раньше со своей экспертизой и опытом. Мы можем начинать тестировать продукт на этапе дизайна, проектирования идеи, составления кейсов и сценариев для разработчика, то есть ещё до того, как он начал разрабатывать задачу. Тогда на выходе у нас станет существенно меньше ошибок в реализации кода.

Нужно мыслить стратегически, не просто решать задачу, а думать про процесс. Когда тестировщик думает о том, «как сделать так, чтобы не»‎ — не допустить ошибок в будущем, не тратить время на рутинный регресс и не тестировать лишнее, то начинается рост — личный и командный.

Инструменты тестировщиков

Ручное тестирование

Яндекс Колхоз
Симуляция телефона для дистанционного тестирования мобильных приложений. Можно проверять изменения даже на самых старых версиях Android и iOS.
Гиперкубы
Шкафы с устройствами с нужными характеристиками, которые может взять любой сотрудник, предварительно выбрав ближайшую точку со свободным устройством.
Testpalm
Здесь проходит весь процесс документации тестирования, хранятся все тесты. Ещё тут пишут тайм‑кейсы, чек‑листы, делают проверки.
Тестовые стенды
Если тестировщику нужно протестировать разные версии приложения или страницы, он заходит на определенный тестовый стенд, из которого идёт ссылка именно на эту версию.
Postman
Инструмент для отправки запросов.
Инструменты DevTools
Инструменты для тестирования веба.
Андроид‑студия (ADB)
Xcode для iOS

Автотесты

Языки
QA на проекте Яндекс.Бизнес пишут end‑to‑end тесты для веба на JavaScript, используя фреймворк CodeceptJS и Puppeteer. Он позволяет писать линейные сценарии тестов с простыми шагами взаимодействия пользователя с браузером, понятные и легко поддерживаемые. Также на проекте есть интеграционные api‑тесты на Python.
Скриншот-тесты
Чтобы не ходить по страницам и не просматривать вёрстку глазами, мы автоматизированно делаем скриншоты и складываем в директорию, где разработчик и QA могут их найти. Ещё используется механизм наложения скриншота предыдущего результата теста на текущий, чтобы можно было легко увидеть различия верстки.
Continuous Integration
В процесс сборки новой версии проекта встроен автоматический запуск регрессионных автотестов. После их прогона разработчику доступен наглядный отчет на Allure, который он может проанализировать даже без участия QA.
Система контроля версий Arc
В Яндексе используется единый репозиторий, в котором в том числе хранится и код автотестов. Для работы с ним используется cистема контроля версий Arc. Процесс аналогичен разработке — пулл‑реквесты, ревью, правки, мердж.
Актуальные вакансии
Mon Aug 26 2024 13:31:11 GMT+0300 (Moscow Standard Time)