И швец, и жнец, и на дуде игрец. Кто такой QA fullstack?
С прибавлением опыта QA-специалисту обычно становятся тесны рамки ручных проверок. Хочется ускорить свою работу, не теряя в качестве и улучшая процессы. В этом случае путь лежит в сторону автоматизации. И когда сотрудник совмещает навыки ручного тестирования и автоматизированного, к его определению добавляется «fullstack».
Чтобы выстроить комплексный процесс тестирования, мы в SimbirSoft стремимся растить и поддерживать таких специалистов. А как они сами понимают свои задачи на проекте, и что требуется изучить для старта, вы узнаете из этого материала. Он полезен для middle QA, которые видят себя fullstack-специалистами.
Для начала переведем определение. Fullstack (от англ.) – полный стек технологий.
Fullstack-тестировщик — это квалифицированный специалист, который объединяет в себе знания, умения и навыки quality assurance инженера (QA) и автоматизатора тестирования.
В классическом варианте это manual+auto специалист, который обеспечивает качество с помощью различных инструментов, а также знает и понимает основные принципы программирования. Хорошим бонусом для QA fullstack будет выполнение обязанностей системного аналитика и DevOps.
В нашей компании такие специалисты решают следующие задачи:
составление плана и стратегии тестирования;
ручное тестирование приложения;
написание и поддержка автотестов;
создание/генерация и анализ отчетов;
ведение тестовой документации и баг-репортов;
обеспечение качества на всех этапах жизненного цикла продукта.
Для погружения в специфику работы рассмотрим, как QA fullstack понимают свои задачи с практической точки зрения. Дадим слово коллегам из направления QA.
QA fullstack-специалист — это QA, который владеет навыками автоматизации на проекте. Подобного взгляда придерживается руководитель группы QA fullstack SimbirSoft Валерий. Он работает в компании 4 года, из них 2,5 года успешно совмещает мануальное тестирование с автоматизированным:
Валерий
Руководитель группы QA fullstack SimbirSoft
«Для меня QA fullstack — это прежде всего QA, который занимается автоматизацией тестирования. Помимо этого он может и в ручном режиме протестировать продукт, и тестовой документацией заняться, и процессы на проекте улучшить. Иными словами, это fullstack в обеспечении качества. Кроме основных компетенций QA, он должен владеть и другими:
— Базовые знания языка программирования – принципы ООП, синтаксис, а в идеале еще структуры данных и алгоритмы.
— Фреймворк – знать, как он работает, как писать тесты с его помощью. А для тестирования web, mobile и API стоит знать несколько фреймворков.
— Отчеты – знать, как получать результаты автотестов в читабельном виде.
— СI/CD для автотестов – понимать, как работает, в идеале уметь настраивать и запускать».
QA fullstack выстраивает комплексное тестирование всей системы, отслеживает все процессы, происходящие на проекте, и умело использует любые виды тестирования в зависимости от специфики проекта. Наш коллега Николай согласен с данным утверждением. Он более года работает QA fullstack в SimbirSoft и всё это время практикует ручные и автоматизированные проверки на коммерческом проекте:
Николай
QA fullstack SimbirSoft
«Это специалист-универсал, который благодаря своему широкому спектру знаний может выстроить комплексный процесс обеспечения качества. Конечно, первостепенно он QA, поэтому необходимо обладать хорошей теоретической и практической базой в тестировании и понимании того, в каких плоскостях можно «вертеть» продукт.
Технологический стек такого специалиста, помимо техник тестирования и вопросов обеспечения качества, должен включать в себя как минимум один язык программирования на уверенном уровне и набор фреймворков для автоматизации. Хорошим тоном будет владение БД, умение настройки и конфигурации CI/CD».
QA fullstack занимается ведением тестовой документации, разработкой стратегии самого тестирования, проводит анализ отчетов и ведет контроль качества на всех этапах жизненного цикла продукта. Так видит свои задачи специалист из направления fullstack QA SimbirSoft Елена. Она пришла к нам в компанию 2,5 года назад, из них 2 года занимается автоматизацией.
Елена
QA fullstack SimbirSoft
«В силу своего опыта могу сказать, что в обязанности входят различные виды мануального тестирования, ведение тестовой документации, разработка стратегии тестирования, написание и поддержка автотестов, анализ отчетов, настройка CI/CD и обеспечение качества на всех этапах жизненного цикла продукта. Таким образом, QA fullstack универсальный специалист — он не только проводит ручные проверки, но и сразу их автоматизирует».
Путь развития профессиональных навыков QA fullstack
Как прийти к работе QA fullstack? Что нужно прокачать или подтянуть в знаниях? Выделим основные моменты развития специалиста и снова обратимся к коллегам.
Язык программирования для QA fullstack очень важен. Без знаний основ программирования у вас в принципе не получиться заниматься автоматизацией тестирования, так как нужно на чём-то писать фреймворк автотестов. Рассказывает Валерий:
Валерий
Руководитель группы QA fullstack SimbirSoft
«Мой путь в QA fullstack начался с изучения основ языка программирования, потому что это само по себе очень интересно. Но к автоматизации меня подтолкнули мастер-классы от SDET-направления внутри компании. На них я писал UI и API автотесты, запуск которых приводил в восторг. Именно тогда я понял, что автоматизация должна стать частью моей работы. Дело было за малым — месяцы постоянного поглощения обучающего контента позволили успешно внедрять автотесты на проекте. В дальнейшем это высвободило время, которое удалось вложить в улучшение процессов и ручное тестирование нового функционала».
Живой интерес к программированию и написанию кода облегчает рабочий процесс специалиста. Этот момент для Николая стал ключевым:
Николай
QA fullstack SimbirSoft
«Мой технический бэкграунд программного инженера не позволял останавливаться на изучении мануального тестирования. Однажды познав прелесть программирования и упрощения жизни путем написания кода, я начал знакомиться с материалами по Selenium и RestAssured. Эмоции, получаемые от прохождения тестов и от работы, доставляли огромное удовольствие. Затем был первый проект, первый адаптер. Я прошел «крещение огнем», где на собственных ошибках учился и закалялся. Сейчас являюсь ментором fullstack-практикума, чтобы новые специалисты не теряли время при возникающих трудностях и могли развиваться ещё стремительнее!».
Желание расти и развиваться в автотестировании, которое помогает улучшать качество выпускаемого продукта. Наша коллега согласна с этим утверждением:
Елена
QA fullstack SimbirSoft
«Первым моим проектом стала система, которая уже была реализована и нуждалась в полном регрессе перед выпуском первой стабильной версии. В этот период ко мне в команду добавили SDET-специалиста, который начал с нуля покрывать автотестами систему. После того, как я закрыла основные задачи по регрессу, появилось желание помочь с внедрением автотестов. За время регресса я хорошо познакомилась с системой и у меня сформировалось представление о том, какие проверки стоит делать. QA-лид поддержал мою идею, и я начала обучаться автоматизации.
На нынешнем проекте я продолжаю совмещать мануальное тестирование и написание автотестов. Помимо основных обязанностей QA-специалиста я также собираю беклог по автотестам, отслеживаю покрытие, разбираю отчеты, распределяю задачи на автоматизацию между такими же QA fullstack, консультирую и провожу ревью, поддерживаю существующие автотесты и пишу новые. Очень здорово осознавать, что благодаря твоей работе улучшается качество выпускаемого продукта, растет экспертиза во всей команде и сокращается время на регресс».
Напутствия и советы для тех, кто хочет развиваться как QA fullstack
Наши специалисты дают такие советы и рекомендации:
Приготовьтесь к тому, что поначалу обучение будет занимать у вас всё свободное время, если вы хотите добиться хорошего результата. Для этого нужна очень сильная мотивация – если обучение заряжает вас на достижение конкретной осязаемой цели, то всё точно получится. Если же оно вытягивает силы, то стоит воспользоваться помощью человека с опытом либо обратить внимание на что-то другое.
Поставьте цель и идите к ней, несмотря ни на что! Принимайте ошибки как уроки и набивайте руку в написании кода. Мотивируйте себя своим же собственным обучением.
Не бойтесь проявлять инициативу и задавать вопросы, особенно во время обучения. В интернете достаточно информации, чтобы начать развиваться в написании автоматизированных кейсов. Однако, чтобы не хвататься за всё сразу, лучше иметь ментора-помощника, который подскажет, с чего начать и на что обратить внимание в первую очередь, а также ответит на все возникающие вопросы. Таким человеком может быть эксперт с форума, коллега с опытом автоматизации или даже ваш QA lead, под чьим чутким руководством вы в дальнейшем будете внедрять на проекте полученные знания.
На основе интервью от специалистов-практиков попробуем выделить основные тезисы, которые будут полезны для будущих QA fullstack:
QA fullstack — это специалист-универсал. Он обладает широким спектром знаний и умело выстраивает комплексный процесс тестирования.
Основы программирования — путь к успеху. Фундаментом для развития качеств fullstack может стать тяга к изучению основ языка программирования и всего процесса разработки. Это поможет в полной мере оценить упрощение жизни путем написания кода.
Не жалейте свое время — это временно. Нужно быть готовым к тому, что обучение будет отнимать много времени. Но оно того стоит, поскольку специалист-универсал улучшает процессы разработки на проекте и повышает его качество.
Инициатива поощряется. Если у вас возникают вопросы в процессе обучения, задавайте их смело старшим товарищам, коллегам и команде. Ведь единственный глупый вопрос – не заданный.
Где и как получают знания специалисты QA fullstack?
В нашей компании сформирована обучающая система для специалистов, которые стремятся к развитию своих знаний, умений и навыков. Что в нее входит:
Внутренние практикумы для сотрудников по основным направлениям: тестирование, разработка, автоматизация, аналитика и другие.
Длительные практикумы для внешней аудитории. Они позволяют мотивированным ученикам овладеть основными навыками IT-специалиста.
Самое важное на первоначальном этапе: менторская поддержка молодых специалистов в первые месяцы после захода на проект.
Для эффективного ведения образовательного процесса у нас разработан опросник для оценки внутренней мотивации будущего специалиста, который проходит каждый участник практикума, прежде чем начать старт в профессии.
В итоге к нам в первую очередь попадают те, кто любит и умеет программировать, или у кого уже есть опыт работы с автотестами (хотя бы в виде пет-проекта). А если у желающего нет ни того ни другого, то даём ему тестовое задание в виде Java-тренажера с различными задачами.
Ещё одно очень важное условие — цель прихода в профессию. Если это только саморазвитие, то отправляем человека на самообучение. А менторскую поддержку оказываем тем, кто планирует использовать автоматизацию на своём проекте.
После того как будущий специалист прошел отбор, мы выдаем ему блоки теоретической информации по Java, видеолекции и практические задания. В процессе обучения он:
изучает теорию,
выполняет практику,
создает мерж реквест со своим кодом, который отправляет на ревью ментору.
После успешного прохождения ревью следует устный опрос, чтобы мы поняли, что будущий специалист действительно понял материал.
После изучения основ Java следуют блоки по сборщикам, тестовым фреймворкам и отчетам.
По завершению всех блоков проходит итоговый опрос, на котором мы проверяем все полученные знания.
Затем будущий специалист начинает писать автотесты на боевом проекте, который создан для внутренних нужд компании. Таким образом, каждый выпускник получает не только теоретические знания, но и опыт работы на реальном проекте.
Препятствия для погружения в специализацию
Может ли произойти отсев специлиста при вхождении в специализацию? Конечно, такое случается. Рассмотрим причины ухода, в том числе связанные со спецификой направления QA.
Неподготовленность к интенсивному труду в период самообразования, даже при верной внутренней мотивации
Речь о недостатке времени при наличии основной работы/учебы для изучения материала, разбора заданий, понимания сути специфичных моментов. То есть неверная оценка специалистом своих ресурсов.
Большой энтузиазм гаснет в процессе кропотливой и многозадачной деятельности
Тут нужно правильное понимание процессов профессионального роста. Он происходит не за один день, а через череду рабочих задач, выстраивание процессов и закрепление основных моментов практическим путем.
Пересмотр приоритетов
Иногда человек понимает, что ему более интересно другое направление развития, например лидство, менторство и другое.
Вместо вывода. Как развиваться в направлении QA fullstack
Как мы видим, большую роль в освоении играет собственная мотивация, готовность преодолевать трудности и решать непростые задачи. Но это необходимые составляющие, которые затем превращают вас в профессионала — всесторонне развитого и с отличным опытом. И конечно, такой специалист будет востребован в компании и на проектах.
Для кого важен и интересен QA fullstack?
В первую очередь, для самого специалиста, который пришел в IT-отрасль в качестве QA middle, имеет стремление расти, развиваться и быть конкурентоспособным на рынке.
Самый прозрачный путь для этого – повышать свою квалификацию и погружаться в хардкорную автоматизацию, или осваивать ее частично, сохраняя навыки ручных задач.
Во вторую очередь, QA fullstack интересен компании. И здесь важно понимать, для решения каких задач можно подключать специалиста на проекте. Это будет зависеть от масштаба, уровня ответственности, наличия автоматизации и от стека технологий. Более подробно изучить этот вопрос приглашаем в другой статье.
Спасибо за внимание! Надеемся, что этот материал был полезен для вас.
Контент для QA-специалистов и разработчиков мы также публикуем в наших соцсетях – ВК и Telegram.