5 декабря 2022

Тестировщик в IT: почему это перспективная профессия и как найти в ней свой путь*

Что Вы знаете о профессии тестировщика? Те, кто мало знаком с IT-сферой, вероятно, скажут, что тестировщик — это тот, кто что-то тестирует. И, конечно, будут правы, но лишь относительно того, что лежит на поверхности.

Те, кто находится в этой теме глубже, наверняка, скажут про поиск «багов» — и … тоже будут правы, но лишь отчасти.

В обеих версиях речь идёт о стереотипном понимании профессии, которое не отражает реальной картины. Для того, чтобы её восстановить, мы пообщались с Александрой Ерёминой — Lead QA Engineer в компании iTechArt и тренером курса по тестированию ПО в IT-Academy. Александра в профессии более 10 лет и уже более 5 лет преподаёт ручное тестирование в IT-Academy по собственной уникальной программе. За это время она выпустила 14 групп начинающих тестировщиков, многие из которых достигли высот в IT-сфере.

https://lh4.googleusercontent.com/1zPN3gbCl5KYakLvYdqVoE9V9jHyHPfNUWj9MOiQdZ6vWhB8i8ZBAXXnMMeKSOnLI2BVimcTyKKYyRuZZ4NoLG9CyiXy8xYMlzyyUZKWmqQ2cXlOdXYETp_an_A3WNuybZHTJlo2wqbhEl6OcFALv0Ozr2yz03N1xW0-3N5geNiN7nqPCPuf3zM1dXcSL-2c-HM42D4x5Q

Александра, расскажите, пожалуйста, что из себя представляет профессия тестировщика?

Для начала давайте уточним, что на самом деле существует два отдельных понятия: обеспечение качества (QA) и тестирование. 

В задачи тестирования входит проверка разработанного программного продукта на соответствие заранее написанным требованиям и ожиданиям заказчика, а также поиск расхождений с этими требованиями/ожиданиями и составление т.н. «баг-репортов». 

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

Грубо говоря, если считать, что тестирование — это про обнаружение багов, то QA — это про то, чтобы эти баги даже не возникали.

Но на практике у нас нет разделения на специалиста по тестированию и QA-специалиста: тестировщик занимается и тем, и другим. 

И еще, естественно, составляет документацию, необходимую для тестирования: тестовые стратегии и планы, списки того, что нужно проверить (чек-листы), пошаговые инструкции, как тестировать продукт или его компоненты (тест-кейсы и тест-сценарии), отчеты о результатах тестирования и т.д..

В понимании многих обывателей работа тестировщика — искать «баги»? Это стереотип или основная цель тестирования заключается именно в этом?

Найти баги — это только одна из целей.

Главная задача тестировщика — дать ответ на вопрос: соответствует ли разработанный продукт требованиям и ожиданиям заказчика?

И вот для этого тестировщик проводит 90% своего времени анализируя требования, составляя тестовую документацию, тестируя, выстраивая тестовые процессы.

Я бы сказала, что этот стереотип, похоже, уходит корнями еще в 9 сентября 1945 году. Тогда в Гарвардской лаборатории мотылек, попавший между контактами реле, вывел оборудование из строя. И, видимо, с тех пор работу тестировщиков и оценивают по внешним результатам — много ли багов ты нашел? 

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

https://lh3.googleusercontent.com/lA523dxCT9GrEcOuAwWkdCxFql1Nn5RHCwgKw1d-ML1tZW7WX0CU7Iz9spSjpfPaw-YwyjopniWYds3ubAyOf2-yRZIh5eWRxly_-xKbQHj5lAh4CDU90dJU_uIkr__RnFUc1exfduZw48tT3YfPucWTZVPWF-2ofj0T0aWmNIc0EcTOpeBMrzGqFceVWJ6bLgrQAh3vDg

Как в таком случае выглядит типичный рабочий день тестировщика?

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

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

А дальше мы работаем над задачами. Это может быть анализ требований к продукту, составление чек-листов/тест-кейсов, тестирование новых частей приложения или перепроверка старых, чтобы убедиться, что они по-прежнему работают хорошо (т.н. «регрессионное тестирование»), документирование дефектов в приложении или предложений по улучшению, перепроверка исправленных дефектов. При этом, если необходимо, мы общаемся с другими членами команды.

Это составляет около 70% рабочих активностей. 

Остальные 30% зависят уже от потребностей конкретного проекта. Это может быть сбор и анализ метрик, подготовка отчётов за период, анализ и оптимизация процессов, технические обзоры и т.д.

Есть ли какое-то разделение по специализации внутри профессии тестировщика: например, тестировщик Android-приложений или тестировщик каких-либо функций/определенной части приложения? Или весь процесс тестирования осуществляет один человек?

Если работы много, то как правило в команде тестирования будет несколько человек. И как именно будут распределяться их обязанности определяет QA Lead. 

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

В этом плане для начинающих тестировщиков, на мой взгляд, лучше начинать карьеру в крупных аутсорс-компаниях. Там за несколько лет можно перепробовать и разные подходы к тестированию, и поработать с разнообразными приложениями: интернет-магазинами, мобильными играми, медицинским ПО, банковским ПО, криптообменниками и т.д. Это дает возможность достаточно быстро «прокачать» свою экспертизу в тестировании.

А уже приобретя экспертизу, тестировщики могут углубляться в какую-то дополнительную специализацию, например, тестирование безопасности, нагрузочное тестирование.

https://lh6.googleusercontent.com/iUcy9orOMBHZY1CTi_A44RZE885IWRbmMM0bJZY3fad8Hnu8HJdRXrRx0xaZhDE1VkQN19qB9NB2XdN5itxTHb_IZ5JN-1h7-RvFlMUhimgPP60VhmGvFyhrAw6YuS3K0JmjW2y2kL8gDJGJY1G3wkpclE1MmYBBQ0RhNz_BxqaEXudGV4eo_phQwMjBh3UJHIHrIH3mEQ

Отличается ли работа тестировщиков в зависимости от уровня (Junior, Middle, Senior, Lead)? Какие задачи могут доверить начинающему специалисту, а какие точно нет?

Junior — это начинающий специалист, который нуждается в активном кураторстве при выполнении работы. Как правило, ему поручают легкие задачи, которые не требуют срочности. 

Middle может брать на себя задачи сложнее и выполнять работу быстрее, чем Junior. Ему еще нужен менторинг более опытных коллег, но он уже не требует активного кураторства, т.к. имеет опыт работы на проектах (как правило, год-полтора) и может самостоятельно выполнять ряд задач средней сложности. 

Senior — это специалист с экспертизой, а также опытом работы на проектах минимум от 3-х лет. Senior может в одиночку работать над задачами любой сложности и делать это быстро. Кроме того, он знает, как с нуля выстроить процессы тестирования на типовых проектах, может руководить небольшой командой тестирования (до 5 человек), быть ментором. На этом уровне специалист уже должен быть вовлечен не только в тестирование, но и в QA.

Lead — это роль, которая предполагает еще более глубокую и широкую экспертизу, умение выстраивать стратегию и QA-процессы на любом проекте, а также руководить любой командой тестирования. 

Давайте поговорим о навыках. Важно ли тестировщику знать английский? Для чего он тестировщику и какого уровня владения английским будет достаточно?

Нужно принять как аксиому, что английский нужен. 

Большинство IT-компаний — аутсорсные. Это значит, что наши заказчики из-за рубежа: США, Европа, Канада и т.д. Вся документация ведется на английском. Команды мультинациональные: в одной команде могут быть бизнес-аналитики и разных штатов США (с разным акцентом), программисты из Индии, проджект-менеджер из Австралии, тестировщики из Бельгии. И Вы — из Беларуси.

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

Аналогичная ситуация и со стартапами или компаниями, выпускающими какой-то свой продукт (например, Binance, Flo).

Поэтому минимальный уровень английского — это В1.

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

https://lh5.googleusercontent.com/aaiXHwsttMtOuYX81wo693oNfowQKVdCXUqNKl5wOwGS22DkUpclwwGtx6TIChmfFf4Whc1I1uzqgXAjNuJ-UkRw_Yea8QPz591Og0WbonOpuDKD_hsQfOGkixpOJ4Uqo_MdCaoCJno6ia3aO_bJZwC5mzK19cn_mA2nKy-h1s3SdYDXiv-dtmkLapWW4JdqdHL5FB0LUA

Взаимодействует ли тестировщик с заказчиком напрямую?

Это зависит от компании и проекта. Часто взаимодействие команды с заказчиком ведется через проджект-менеджера, бизнес-аналитика или Product-менеджера. 

Чаще с заказчиком могут общаться Lead-специалисты, Junior/Middle - реже.

Но к такому общению тоже нужно быть готовым (и в том числе хорошо знать английский язык).

Можно ли стать тестировщиком, не имея даже базовых знаний в программировании?

Конечно, это хорошо, когда у IT-специалиста есть хотя бы поверхностный технический бэкграунд. Поверхностное понимание того, как приложения «устроены под капотом», не только расширяет профессиональный кругозор, но и позволяет тестировщику продумать более эффективные тесты, обнаружить неочевидные дефекты, сэкономить время на тестирование. 

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

Знания программирования нужны тем, кто хочет стать программистом или автоматизатором.

К слову, большинство выпускников моего курса не имели знаний в программировании. Что никак не помешало им трудоустроиться в качестве тестировщиков в различные компании. В то же время, у меня есть примеры, когда ребята, пришедшие на курс со знанием языка программирования, впоследствии и ушли кто в автоматизаторы, кто в программисты.


Кстати, в IT-Academy курс «Функциональное тестирование ПО» можно пройти и в онлайн-формате. Ближайший старт совсем скоро:

  • 08.12 (онлайн), тренер: Анна Мотевич

Подробности и запись — по ссылке и по телефону +375 (33) 900—44—44.


А тех, кто хочет развиваться в профессии дополнительно, Александра приглашает принять участие в QA Адвент Марафоне, который пройдёт с 1 по 24 декабря в Instagram-аккаунте @eremina.proqa и группе в Telegram.

Каждый будний день Александра будет выкладывать одно интересное и полезное задание: по теории/практике тестирования или логическую задачу. 

Каждый участник марафона получит самый полезный подарок – новые или обновленные знания, а победителей дополнительно ждут:

  • именные дипломы
  • подарки от QA Санты
  • призы от партнёра проекта – IT-Academy.

Более подробная информация о правилах, порядке начисления баллов и призах – в аккаунте @eremina.proqa в Instagram и группе в Telegram.

https://lh3.googleusercontent.com/wZRLamjDrKaBSYBVs1eVothOwtohHLm-NITPxgAsdDYguqQH8NJV66jIc45_jVqjU3C6nXCpqsWce_GYIv8E4Oqzb_F98Bhgb_UCRCw5ZP43LRjPdJS0hvP9UICO7TWmNesacY-RO13iyBNcujnJty3GddTzjGg_0jiHNcJxcnh0OK19oJWzAfDO6Oz40XTfj0jWebTmsQ

* на правах рекламы


«Бизнес-Лида», 2022. Просматривать краткие сводки новостей можно в канале Telegram.

Если вы заметили ошибку в тексте, пожалуйста, выделите её и нажмите Ctrl+Enter