Читать: 15 мин

Тестировщики не те, кем кажутся

Тестировщики не те, кем кажутся

Исследования показывают, что компании чаще стали нанимать тестировщиков. В 2023 году количество подобных вакансий на hh выросло на 60%.
В сети много теоретической информации о профессии тестировщика. Мы хотим рассказать про инженеров по тестированию с точки зрения практики, и выяснить, что отличает обычного тестировщика от востребованного QA-инженера. Своим мнением о разных вопросов по тестированию цифровых продуктов делятся Дмитрий Тучс, глава QA-отдела в Dodo Engineering, и Артем Кострюков, генеральный директор компании Test IT.
Полную версию разговора слушайте в первом выпуске второго сезона нашего подкаста «Гости из IT».

Тестировщики, инженеры по тестированию и QA-инженеры

Так называются специалисты, которые тестируют софт, отлаживают код, улучшают его качество, прогнозируют появление ошибок. QA (quality assurance) — обеспечение качества. Это часть разработки управляет качеством продукта.

В QA входит направление QC (quality control) — контроль качества. QC-инженеры контролируют качество продукта на этапе разработки и поддержки.

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

Это деление условное, потому что автоматизаторы умеют тестировать программы вручную, а многие мануальные тестировщики осваивают языки программирования и начинают писать автоматические тесты.

«Есть специалисты, которые занимаются нагрузочным тестированием, тестированием производительности систем. Пентестеры (penetration testers) проверяют софт на уязвимости. Еще существует исследовательское тестирование, UX-тестирование. Среднестатистическая QA-команда состоит частично из мануальных тестировщиков, частично из автоматизаторов. А их руководитель часто обладает навыками тест-дизайна, тест-менеджмента и управления процессами обеспечения качества», — Артем Кострюков, генеральный директор компании Test IT.

Что делают тестировщики

Зависит от подхода в разработке. Классический выглядит следующим образом. Разработчики пишут код. Тестировщик его проверяет. Если что-то пошло не так, отправляет на доработку. В подходе TDD (test-driven development), или разработка через тестирование, сначала тестировщики пишут тест, а потом разработчики — код.

В любом подходе тестировщик:

Анализирует и планирует. Тестировщика подключают к работе еще на стадии планирования продукта. Он анализирует требования и следит за тем, чтобы документация была непротиворечивой, а пожелания заказчика корректно описаны.

«QA-инженеры — это командные игроки. Существуют примеры, когда они подключались к разработке UI, изучали мокапы интерфейсов. Их работа позволила заранее отсечь нефункциональные варианты.
Хороший UX-дизайнер, скорее всего, тоже знает, как пользователь взаимодействует с приложением. Но люди, которые работают в тестировании и поддержке, чаще сталкиваются с проблемами пользователей на практике», — Артем Кострюков, генеральный директор компании Test IT.

Разрабатывает стратегию. QA-инженер выбирает подходящие методы: часть функций проверяют автотестами, а часть — в ручном режиме.

Пишет документацию. Тестировщик пишет автотесты или создает чек-листы и планы проверки. Он описывает пошагово, что и как будет проверять.

Тестирует. На основе документации QA-инженер проверяет приложение по шагам и составляет отчеты об ошибках. Их называют баг-репортами.

«Например, мы решили поменять в нашем сервисе регистрацию через Facebook*, на регистрацию через GitHub. Хороший тестировщик задумается: если в нашем сервисе пользователь был залогинен через Facebook, система сохранила его аватарку из соцсети. Если он перелогинился через GitHub, надо ли будет менять аватарку или нет? QA-инженер должен обращать внимание на неочевидные мелочи», — Артем Кострюков, генеральный директор компании Test IT.

Работает с обратной связью от пользователей. После запуска продукта о его дефектах будут сообщать пользователи. На стадии поддержки тестировщик реагирует на отзывы. Он воспроизводит ошибки и передает их на исправление.

Цель — сломать софт

Задача тестировщика — проверить все возможные и даже невозможные сценарии поведения пользователя при работе с программным продуктом. Если ПО работает неправильно, он фиксирует ошибку и возвращает ее в отдел разработки.

«Тестирование не должно показывать, что программное обеспечение соответствует требованиям. Цель тестирования — сломать софт и доказать разработчикам и команде, что он сделан некорректно», — Дмитрий Тучс, глава QA-отдела в Dodo Engineering.

Востребованные QA-инженеры

Тестировать интерфейс можно без знания языков программирования. Но тестировщику будет сложно писать автоматизированные тесты, если он не знает языков программирования. Это касается тестирования API, баз данных и микросервисов.

«Современный тренд на «войти в айти» приводит к печальному результату. Многие новички приходят просто отработать и получить зарплату по принципу: «дайте задачу, я ее сделаю, отстаньте от меня». Я это называю «делать минимальный объем работы, чтобы тебя не уволили». С такими людьми классный продукт не сделаешь.
Тестировщик — это всегда QA-инженер. Слово «инженер» используется не просто так. Востребованные QA-инженеры хорошо разбираются во многих смежных областях: разработке, базах данных, понимают, как работает Kafka.
Существует миф о том, что QA-инженеры — это дешевая сила, которую нанимают, чтобы не отвлекать дорогостоящих разработчиков. Сейчас в тренде крутые специалисты, но их мало», — Дмитрий Тучс, глава QA-отдела в Dodo Engineering.

Эффект хорошего тестировщика

«Въедливый тестировщик всегда будет раздражать разработчиков. Все должны его немного бояться — сейчас он опять что-то найдет. При этом в команде не должно быть практики, когда разработчик отдает сырой код: я написал, а ты протестируй. Но она процветает в девяти компаниях из десяти. Бизнес считает, что можно нанять дешевого QA-инженера, который будет проверять за разработчиком. А разработчик не будет отвлекаться на тесты и быстрее работать.
Парадокс в том, что этот подход работает, только если в компании работает опытный тестировщик. Только такой специалист быстро вынесет мозг разработчикам. И они перестанут отдавать ему сырой код. Разработчики не смогут работать, если им будет приходить десятки баг-репортов.
Начинающие тестировщики в такой ситуации боятся что-то сказать разработчикам. И в итоге мы видим баги на проде», — Дмитрий Тучс, глава QA-отдела в Dodo Engineering.

Полностью выпуск можно послушать на платформах:

*Организация, деятельность которой запрещена в Российской Федерации.

Поделиться:

Logo

Читайте также

01  
 
panda
Есть идея? Напишите нам! Заполнить бриф