Каждый второй обыватель хочет зайти в “денежную” ИТ-отрасль через тестирование. И с развитием онлайн-образования появилось довольно много возможностей это сделать. Результат - QA, особенно уровня джуна, становится много. Как с ними конкурировать?

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

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

Фулстеками зовут тех, кто способен решать разнообразные проблемы - эдаких универсальных бойцов. Разноплановость в контексте тестирования можно понимать по-разному. Кто-то имеет в виду десктоп / mobile / web. Но классическое понимание - это все-таки ручник и автоматизатор “в одном флаконе”, точнее специалист, который уже не просто ручник, но еще и не senior-автоматизатор - человек с достаточным опытом ручного тестирования и разнообразным бэкграундом автоматизации. Дополнительным преимуществом будет понимание основ работы системного аналитика и devops. Плюс софт-скиллы, поскольку придется очень много общаться внутри команды.

Почему все чаще ищут именно фулстеков?

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

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

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

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

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

Гораздо лучше, если автоматизатор не забывает бэкграунд. Тестируя руками, он лучше узнает логику продукта, неизбежно общается с командой и погружается в функционал, развиваясь в проекте. Чистая автоматизация по готовым тест-кейсам (подготовленным кем-то другим) не дает такого погружения.

Далеко ли от QA-фулстека до разработчика?

При постепенном погружении специалиста по ручному тестированию в тонкости разработки ПО правильная последовательность выглядит примерно так:

  • ручной тестировщик;

  • фулстек;

  • автоматизатор;

  • и лишь потом (если повезет) разработчик.

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

Из ручника в автоматизаторы фулстеку не дадут уйти ежедневные обязанности. Как бы он не стремился отказаться от задач ручного тестирования, они все равно будут прилетать. Не получится сосредоточиться только на автоматизации. Бизнесу удобен специалист-многостаночник. 

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

Это легко на определенном жизненном этапе, когда от тебя не зависит семья и ипотека. В другое время это как любой другой переход между соседними отраслями - не только финансовые потери, но и умственные. В ИТ тебе и так, чтобы оставаться на своем месте, необходимо постоянно “бежать вперед” - чему-то учиться, что-то подтягивать. Каждый день ты живешь в режиме жесткой конкуренции. Пытаясь и свое место сохранить, и успешно куда-то перейти, ты вынужден будешь делать это в два раза быстрее. В свободное время придется выучить много новых фреймворков. Половина из них пригодится тебе на первом проекте, но не потребуется потом никогда. Не на любом этапе жизни у тебя будут ресурсы и мотивация, чтобы пройти этот путь.

Упорство поможет перешагнуть через все барьеры. Просто не надо думать, что все пойдет само собой.

За что хвататься, если хочется в фулстеки? 

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

Теперь что касается технических навыков.

Чтобы претендовать на “звание” фулстека, надо хорошо владеть ручным тестированием - понимать как методы и инструменты самого тестирования, так и бизнес-процессы проекта. Нужно понимать в автоматизации - что это и в каких случаях она нужна. Мы на своих проектах предлагаем человеку сначала посмотреть синтаксис того языка, на котором пишутся автотесты. К примеру, Kotlin. Достаточно написать простейший калькулятор, поиграться с массивами, понять методы и классы, возможно, идеи ООП. Это большой шаг навстречу автоматизации. Этих простых вещей достаточно, чтобы начать. 

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

P.S. Мы публикуем наши статьи на нескольких площадках Рунета. Подписывайтесь на наши страницы в VK, FB, Instagram или Telegram-канал, чтобы узнавать обо всех наших публикациях и других новостях компании Maxilect.

Комментарии (21)


  1. NeverIn
    18.08.2021 12:15
    +1

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

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


    1. Nialpe
      19.08.2021 08:29

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


      1. NeverIn
        23.08.2021 13:57

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


  1. tommy_lee
    18.08.2021 13:10

    Каждый второй обыватель хочет зайти в “денежную” ИТ-отрасль через тестирование

    Из нескольких десятков знакомых-выпускников инженерных факультетов хотели (и вошли) в IT человека 3. Тем временем в каналах с вакансиями появляется по 100 штук вакансий в день.

    Так ли уж много желающих - с учётом того, что доля населения России, занятая в IT, в 2 раза меньше, чем, например, в Европе?


    1. Data-Q7
      18.08.2021 22:21

      Желающих зарплату - много, желающих работу - единицы.


    1. vlad_egrv
      19.08.2021 08:36
      +2

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


  1. xfaetas
    18.08.2021 13:14
    +2

    и лишь потом (если повезет) разработчик

    Протестировать программу сложнее, чем её написать, так что у реального QA квалификация выше, чем у разработчика.


    1. redskif
      18.08.2021 14:04

      Не сложнее а иначе.


    1. SergeySMarina
      18.08.2021 16:29
      +1

      Вспомнилась фраза: "для того чтобы протестировать нейронную сеть, тестировщику нужно написать свою нейросеть" :-)


  1. BurnInHell
    18.08.2021 13:17
    +1

    Кажется Вы переименовали General QA в Фулстек QA.


  1. alcochtivo
    18.08.2021 13:18
    +3

    На последних двух проектах (web) у меня было чувство, что я, как тестировщик, главный на проекте. Я писал спеку по продукту. Я тестировал задачи на этапе их постановки, прояснял требования и возможности реализации этих требований - предложили стать продактом на часть ставки. Потом начал смотреть в код продукта, чтобы понять логику в некоторых местах - позвали в разработчики - да, учится придётся много, но зп сохраним. Ну и конечно же занимался тестированием и ручным, и автоматизацией того, что уже можно было автоматизировать. И никто почему то не думает, что я хочу быть только тестировщиком)) Хочу тестировать руками, а когда руками превращается в рутину - автоматизировать эту рутину. И чтобы спеку и таски писал продакт, а за логикой продукта можно было сходить к разработчику.

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


    1. qwez
      18.08.2021 21:47
      +1

      Вы сейчас описали именно обеспечение качества (QA) :)

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

      Сейчас какая-то подмена понятий идет... Во всех вакансиях и резюме гордо красуются буковки QA, но по факту там просто инженер по тестированию.


      1. ole325
        07.09.2021 18:16

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


  1. qwez
    18.08.2021 21:58
    +4

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

    Такие статьи вызывают грусть, что профессия как-то обесценивается.

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


    1. YuriSdev
      23.08.2021 13:29

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


  1. irreality
    19.08.2021 09:25
    +3

    Почему итогом развития тестировщика вы считаете переход в разработку? Выглядит как мнение человека далёкого от QA.


    1. ole325
      07.09.2021 18:18

      Потому что хотел в разработку, его не взяли, решил пойти в тестирование, и угробил лишние 3-5 лет впустую. Я таких джунов сразу выявляю и объясняю - тестирование и разработка это совсем разные направления, особенно на старте.


  1. Darth_Anjan
    19.08.2021 10:10
    +1

    Фулстек QA — это когда находишь баг во фронте/бэке тебе проще быстренько его поправить самому, чем объяснять разработчику в чём косяк и ждать от него фикса…


  1. Sadwind
    20.08.2021 11:07
    +1

    Неплохой текст, чтобы понять, куда не стоит идти работать QA.


  1. AntimnFxE
    23.08.2021 13:30

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


  1. ole325
    07.09.2021 14:49

    Про конкуренцию, hh запрос "тестировщик" в России - 69265 человек, добавляем опыт 1-3 года и последняя должность "тестировщик" и уже всего 3298 человек, если добавить регион Москва, то уже 1101 человек, а вакансий с опытом 1-3 года в той же Москве 1627.

    Так же стоит отметить, что в России усредненное на одного тестировщика приходится 7,7 разрабтчиков (из хабр карьера за 1 полугодие 2021г), а если посмотреть на Украину, то там практически нормальные 1 к 3, так что в перспективе дефицит будет только расти. Еще один фактор в тестировании мало кто задерживается более 3-5 лет - менеджмент. разработка и т.д.