-10%
-40%
Профессии со скидками и подарки от Хекслета
Покупайте себе, дарите друзьям!
Все статьи | Карьера

Гид по профессии: Инженер по ручному тестированию

Гид по профессии: Инженер по ручному тестированию главное изображение

Профессию тестировщика часто выбирают для старта в IT. Многие думают, что ручному тестировщику не нужны серьезные технические знания: сиди и тыкайся в интерфейсы. В этой статье мы разберемся, действительно ли это так, чем на самом деле занимается тестировщик, как им стать и какие карьерные перспективы есть в профессии.

Что такое ручное тестирование

Разработка любого приложения или отдельной его функции состоит из следующих этапов:

  1. Аналитика и постановка задачи
  2. Проектирование и дизайн
  3. Разработка — программирование и кодирование
  4. Тестирование и исправление ошибок
  5. Выкатка в продакшн, публикация
  6. Поддержка и обслуживание

Ручное тестирование — один из финальных этапов. Его задача: измерить качество продукта, то есть убедиться, что то, что было сделано на этапе разработки, соответствует тому, что было описано при постановке задачи.

Разберемся на примере. У нас есть сайт интернет-магазина, и аналитики решили, что продаж будет больше, если разместить кнопку добавления в корзину под описание товара, покрасить ее в красный цвет и написать на ней «Хочу». Дизайнеры спроектировали макет, а программисты написали код. После этого продукт с обновлением размещается на тестовом стенде — там его и проверяет тестировщик.

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

Часть проверок может быть автоматизирована, но полная автоматизация трудно достижима, поэтому ручное тестирование является обязательным этапом разработки.

Что входит в задачи тестировщика

Рассмотрим подробнее, как выглядит рабочий процесс специалиста по тестированию.

Тестировщик получает задание: проверить приложение или фичу на наличие ошибок.

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

Тестировщик продумывает стратегию тестирования, пишет тест-кейсы и по ним проводит тестирование. Хороший тестировщик постоянно задает себе вопрос: «А что если?» и придумывает новые способы взаимодействия с продуктом.

Пример тест-кейса:

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

По итогу проведенной проверки составляется отчет. Если все работает корректно, фичу отправляют в прод и представляют пользователям. Если находятся ошибки, то тестировщик возвращает задачи с описанием дефектов разработчикам. И так до тех пор, пока все не начинает работать так, как было описано в задаче. Убедиться, что разработчики исправили найденные баги — тоже обязанность тестировщика.

Какие навыки нужны ручному тестировщику

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

  • Техники тест-дизайна
  • Все этапы разработки и жизненный цикл ПО
  • Системы управления тестированием, например, Allure Testops, TestLink, TestRail
  • Системы таск-трекинга / баг-трекинга. Jira, Redmine, Asana и многие другие
  • Умение работать с API и базами данных.

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

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

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

  • Здоровый перфекционизм и педантичность
  • Аналитическое и критическое мышление
  • Внимание к деталям и умение работать с большим количеством документации
  • Коммуникационные и менеджерские качества.

Важно не бояться выглядеть глупо, быть готовым разговаривать, спрашивать, уметь отстаивать свою позицию.

Тестировщик и QA – одно и то же?

Существует некоторая путаница с наименованиями профессии тестировщика. Многие приравнивают тестирование к Quality Assurance (QA) и Quality Control (QC), а тестировщиков часто называют QA-инженерами. Однако эти понятия находятся в разных плоскостях, а роли тестировщика и QA-специалиста сильно различаются.

Попробуем разобраться.

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

Quality Assurance (QA) — это обеспечение качества. Задача QA-инженера сделать, так, чтобы при разработке совершалось как можно меньше ошибок. Это работа в первую очередь с процессом.

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

К понятию QC (Quality Control) тестирование уже ближе. В QС входят мероприятия по созданию тест-кейсов, тест-планов, стратегии тестирования — всего, что касается процесса измерения качества уже готового продукта.

Соответственно:

  • QA присутствует с самого начала разработки и обеспечивает ее качество.
  • QC контролирует качество, в том числе, за счет создания эффективной методологии его измерения.
  • Тестирование измеряет качество уже разработанного продукта, прежде чем он отправится в продакшн.

Вроде все понятно. Но тогда откуда путаница с терминологией? Дело в том, что, как правило, процессом обеспечения качества в компании начинает заниматься именно тестировщик. Если что-то в разработке не так с процессами, технологиям, компетенциями — все сваливается на хрупкие плечи тестировщика. Поэтому тестировщики часто пытаются улучшить процессы в разработке, то есть выполняют функции QA-инженера. Из-за того, что тестировщики часто берут на себя эту зону ответственности, стали считать что тестировщик — равно QA.

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

Карьерный трек тестировщика

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

Можно стать крутым специалистом по ручному тестированию в узкой сфере, например, в медицине, банковской сфере, безопасности. Таких специалистов мало, поэтому они востребованы. Можно сделать смещение влево (shift left) – и углубиться в обеспечение качества (QA), стать QA-инженером.

И, конечно, стандартный вариант карьерного роста — прокачать менеджерские навыки и стать тимлидом/руководителем отдела.

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

Инфографика на портале payscale

Рынок труда

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

Как и в остальных специализациях, существует несколько уровней тестировщиков: джуны, миддлы и сеньоры. Зарплаты на каждом уровне отличаются от предыдущего примерно в 1,5 раза. В конкретном случае все может сильно зависеть от специализации: миддл-тестировщик, выросший в QA, вполне может получать зарплату на уровне сеньор-тестировщика. Та же ситуация может возникнуть и с уклоном в автоматизацию.

В октябре 2022 года на сайте hh.ru по запросу «тестировщик» есть 3700 вакансий. Максимальная зарплата составляет 200 000 руб. в месяц, однако по факту в крупных компаниях сеньор-специалисты получают 300 000 и больше. Сотрудников ищут такие компании, как «Сбербанк», «Билайн», МТС, «Магнит» и другие. Минимальная указанная зарплата — 40 000 руб. в месяц.

Медианная зарплата в России — 109 000 руб. (по результатам исследования Хабр Карьеры). Большая часть вакансий открыта в Москве и Санкт-Петербурге, но такие специалисты требуются и в других регионах.

Если смотреть на зарубежный рынок, то больше всего вакансий открыто в США, где медианная зарплата тестировщика ПО — $4700 в месяц.

Где и как учиться на тестировщика

В IT не так важна корочка, как реальные навыки и знания. Поэтому вы можете учиться самостоятельно. Есть множество материалов в открытом доступе, YouTube-блогов, статей и книг.

Практические навыки тоже можно отрабатывать самостоятельно. Существуют сайты-тренажеры, например, такой: http://automationpractice.com/index.php – на них намеренно оставляют ошибки. Можно тренироваться и на любом реальном сайте или приложении: протестировать, составить тест-кейс, отчеты об ошибках и общий отчет. Есть порталы, на которых компании создают задания, на них можно откликнуться – за это даже платят деньги (правда, очень небольшие). Но на таких сервисах большая конкуренция. Нужно постоянно быть онлайн, мониторить новые задания и успевать первым на них откликаться. Сложно, но можно попробовать.

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

На Хекслете есть профессия — Инженер по тестированию. Обучение проходит в формате вебинаров с домашними заданиями с проверкой от наставника.

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

Профессия глазами профессионалов: комментарии экспертов о работе тестировщиков, перспективах и обучении

Дмитрий Субботин, QA Lead и автор образовательных программ по автоматизированному тестированию:

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

QA-специалист — это инженер, который созидает, помогает делать продукт лучше. Плюс тестировщики – это еще и аналитики. Им важны менеджерские качества, умение разговаривать и не бояться спросить, если что-то непонятно. «Вот у нас там такая связка. А что это?» Многие люди начинают стесняться, закрываться, если в тестирование идут. Нет, тестировщик должен уметь разговаривать и доказывать свою позицию.

Профессия тестировщика интересна тем, что даже в одной и той же сфере ни один проект не похож на другой.  Например, я в очень многих банках работал, и всегда было что-то новое. Здесь постоянно приходится в чем-то разбираться, развиваться. Но если знаешь методологию, то проблем с этим нет: вообще уже все равно, что тестировать. Хоть коров, хоть инопланетные корабли.

Если планируете искать работу в России, всегда можно рассмотреть государственные проекты: много чего появляется в сфере медицины, «Умный город», «Госуслуги» и т. д.

Евгений Сабиров, QA Guild Lead в Точка:

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

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

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

Заключение

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

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

Например, на Хекслете. С нуля до тестировщика за 4 месяца: узнайте больше о профессии «Инженер по тестированию» и программе обучения на сайте.

Дополнительные материалы:

Аватар пользователя Юлия
Юлия 03 октября 2022
Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
с нуля
Разработка фронтенд-компонентов для веб-приложений
8 декабря 10 месяцев
Иконка программы Онлайн-буткемп. Фронтенд-разработчик
Профессия
Новый с нуля
Интенсивное обучение профессии в режиме полного дня
15 декабря 4 месяца
Иконка программы Python-разработчик
Профессия
с нуля
Разработка веб-приложений на Django
8 декабря 10 месяцев
Иконка программы Java-разработчик
Профессия
с нуля
Разработка приложений на языке Java
8 декабря 10 месяцев
Иконка программы PHP-разработчик
Профессия
с нуля
Разработка веб-приложений на Laravel
8 декабря 10 месяцев
Иконка программы Инженер по тестированию
Профессия
с нуля
Ручное тестирование веб-приложений
22 декабря 4 месяца
Иконка программы Node.js-разработчик
Профессия
с нуля
Разработка бэкенд-компонентов для веб-приложений
8 декабря 10 месяцев
Иконка программы Fullstack-разработчик
Профессия
с нуля
Разработка фронтенд- и бэкенд-компонентов для веб-приложений
8 декабря 16 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
c опытом
Создание веб-приложений со скоростью света
8 декабря 5 месяцев
Иконка программы Верстальщик
Профессия
с нуля
Верстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Аналитик данных
Профессия
В разработке с нуля
Сбор, анализ и интерпретация данных
дата определяется 8 месяцев