Профессия «qa-инженер»

Содержание:

Варианты карьеры QA-тестировщика

В QA-тестировании существуют общепринятые названия специальностей на английском языке. Это навыки и умения с технической стороны – hard skills. Рассмотрим карьерный рост в соответствии с этими названиями:

  1. Trainee QA Engineer (стажёр) — начинающий специалист, имеющий только теоретическую базу без опыта работы.
  2. Junior QA Engineer (новичок) — сотрудник с опытом работы в должности QA-тестировщика до 6 месяцев. Такому инженеру нужно иметь представление о процессе разработки, написании тестов, что такое дефект и как с ним работать.
  3. QA Engineer (QA-тестировщик) — специалист, с опытом работы более 6 месяцев. Владеет навыками написания сценариев тестирования, проведения тестирования продукта, составления отчетов по обнаруженным ошибкам, анализа результатов и улучшения показателей, отслеживания правок и оптимизация этапов разработки. Может обучать сотрудников из предыдущих пунктов.
  4.  Senior QA Engineer (старший QA-тестировщик) — опытный программист с высоким уровнем квалификации. Помимо самостоятельного выполнения задач, обучает сотрудников и берёт на себя ответственность за выполнение более сложной работы. Знает и умеет использовать разные виды тестирования.
  5. Lead Software Testing Specialist (ведущий инженер) —более 5 лет профессионального опыта, может руководить группой инженеров, оценивает риски, составляет сроки и уровни бюджетирования, определяет варианты тестирования и координирует его процесс.
  6. Разработчик — поработав в тестировании некоторое время и получив необходимый опыт, некоторые специалисты уходят в разработку программного обеспечения.

7 ДНЕЙ БЕСПЛАТНОГО ДОСТУПА К КУРСАМ И ИНТЕНСИВАМ ОТ SKILLBOX

Тем, кто любит общение и взаимодействие с коллегами подойдет развитие по типу soft skills:

  • Менеджер — работает с командой, ставит задачи подчинённым и осуществляет контроль за их выполнением.
  • Бизнес-аналитик — посредник между заказчиком и командой, проводящей тесты.

QA-тестирование представляет собой неограниченную вселенную для развития карьеры.

Как стать QA?

Фактически для того чтоб ступить на стезю QA не нужно знание языков программирования или строения баз данных. Главное иметь представление о структуре процесса разработки ПО и разбираться в процессе тестирования. Нужно почитать литературу (в основном зарубежную), потренироваться на “кошках” (потренироваться использовать ПК стараясь замечать все недочеты и баги в приложениях/сайтах). Для большей уверенности можно пройти пару обучающих курсов в интернете и/или стажировку в обучающих центрах (в институтах эту специальность, к сожалению, не преподают). Подтянуть английский (при отборе кадров IT компании предпочитают кандидатов со знанием английского).

В любом случае начинающего QA в первую очередь проверяют на знание процесса тестирования ПО: для чего оно вообще нужно, какие есть виды тестирования, что такое баг, как его задокументировать и какие шаги нужно пройти для его закрытия. Поначалу вашим уделом будут именно тесты. А после того как освоитесь с этой работой и немного поближе узнаете как построена разработка ПО в вашей компании — перейдете на более высокий уровень и получите свою долю ответственности за разрабатываемый продукт. Уровень вхождения на специальность QA существенно ниже, чем на программиста из-за чего конкурс на данную вакансию может быть очень, ооочень, ОЧЕНЬ большим. Потому для успешного собеседования помимо знаний нужно обладать и определенным набором личных качеств

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

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

Также нужны и аналитические навыки — для определения путей улучшения процесса разработки и самого приложения.

Плюсы и минусы профессии

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

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

Обязанности

Главная задача QA-инженера – обеспечивать качество IT-продукта. Что это значит? Процесс его контроля состоит из нескольких последовательных этапов:

  1. Проверить требования заказчика к ПО.
  2. Оценить возможные риски.
  3. Генерировать идеи повышения качества готового продукта.
  4. Выполнить тестирование.
  5. Проанализировать результаты тестов.

Вот что делает QA-инженер в течение своего рабочего дня:

  • детализирует требования заказчика, предъявляемые к программе (этот этап работы выполняется вместе с клиентом);
  • планирует процесс тестирования ПО;
  • пишет тест-кейсы (сценарии);
  • отслеживает жизненный цикл каждой ошибки;
  • анализирует и улучшает процессы работы внутри команды;
  • тестирует ПО;
  • вносит обнаруженные дефекты в баг-трекинговую систему;
  • обсуждает варианты исправления с командой разработчиков;
  • отслеживает процесс устранения неисправности;
  • повторно тестирует проблемные места;
  • анализирует результаты вторичного тестирования;
  • дорабатывает созданные тест-кейсы;
  • оптимизирует процессы разработки, чтобы не допустить дальнейшего возникновения ошибок (если причина появления недочетов заключается в несогласованности работы разных отделов компании или в нарушении стандартов разработки, обязанность QA-инженера – показать проблему и достичь ее ликвидации);
  • ведет документы по проведенным тестам.

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

Что такое обеспечение качества

Конференция QualityConf целиком и полностью посвящена качеству, а не тестированию. Однако при подготовке очередной конференции организаторы провели исследование и задали вопрос своим посетителям: «С чем у вас ассоциируется конференция?».
Как вы все уже, наверное, догадались, главные ассоциации были исключительно с тестированием.
Получается, что сегодня, говоря слово «качество», многие слышат «тестирование», и очень часто это функциональное тестирование, хотя понятие качество гораздо шире.
Качество — это определение потребителя, а не определение инженера, не определение маркетинга и не общее определение менеджмента. Оно основано на фактическом опыте клиента в отношении продукта или услуги, измеряется в соответствии с его требованиями — заявленными или неустановленными, осознанными или просто ощущаемыми, технически действующими или полностью субъективными. Качество всегда представляет собой движущуюся цель на конкурентном рынке.

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

Кто же такой QA и чем он занимается?

Работа Quality Assurance engineer заключается скорее не в проверке качества (хоть это слово и присутствует в названии профессии), а в контроле за правильностью выполнения всех этапов разработки и правильностью работы итогового продукта. Звучит немного похоже на задачи тестировщика. Но тот занимается только проверкой работы приложения и по результатам (наличию багов и ошибок) принимает его или не принимает. А QA engineer также контролирует соблюдение стандартов при разработке программ, взаимодействует с разработчиками, дизайнерами, заказчиками, предотвращая само появление багов и ошибок в ПО. Правда у нас профессии тестировщика и QA чаще всего воспринимаются как единое целое.

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

  • детализация требований к программе (выполняется совместно с заказчиком);
  • анализ и расчет времени нужного на создание приложения или исправление бага (задача, конечно, не для джунов, но как человек с взглядом “со стороны”, QA выдает самые реалистичные эстимейты по времени);
  • разработка сценариев тестирования;
  • сам процесс тестирования;
  • внесение обнаруженных недочетов в трекинговую систему
  • обсуждение исправлений с всеми участниками разработки;
  • отслеживание процесса исправления;
  • повторное тестирование проблемных моментов;
  • анализ результатов тестирований;
  • доработка сценариев тестирования’
  • анализ процесса командной разработки;
  • оптимизация процессов разработки для избежания повторного появления обнаруженных ошибок (если ошибки возникают из-за несогласованности действий разных подразделений или потому что кто-то не следует установленным стандартам разработки, то как раз работа QA указать на это проблемное место и добиться его устранения);
  • ведение документации по тестам.

На первый взгляд обязанностей очень много, но на практике часть из них оказывается в зоне ответственности тестировщиков, работников занимающихся Quality Control, разработчиков, бизнес-аналитиков и технических писателей. Так что в разных компаниях обязанности QA engineer будут немного отличаться: где-то будет больше работы по планированию работы над программой и багами, где-то больший упор делается на тесты и отслеживание фиксов, а где-то QA сам участвует в создании правок.

Соответственно в каждом отдельном случае рабочий день будет выглядеть по-разному. В общем случае QA engineer начинает день с работы над тестами и отслеживанием прогресса разработки по трекинговой системе. В течение дня он общается с разработчиками (уточняя ход разработки и проблемы его замедляющие) и заказчиком (уточняя требования по разрабатываемым в данный момент функциям). Под конец дня все изменения вносятся в тестовую документацию.

Как проходит собеседование

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

  • задача на логику;
  • теория и практика тестирования;
  • проверка уровня владения английским языком;
  • вопросы о навыках и личных качествах.

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

Подготовка к экзамену

англоязычный вариант конспектарусский доступен на сайте rstqbFoundations of Software Testing: ISTQB CertificationSoftware Testing: An ISTQB-ISEB Foundation GuideISTQB Foundation Exam Preparation GuideISTQB Glossary of Testing Termsавторизированные тренеры

  1. Основы тестирования.
    В этом разделе изучаются основы тестирования. Здесь объясняется, что такое тестирование и почему оно необходимо, к чему может привести наличие дефектов в ПО, рассказывается о целях тестирования на разных стадиях жизненного цикла ПО. Приводятся 7 принципов тестирования, отдельная глава посвящена психологии тестирования и кодексу этики тестировщика.
  2. Место тестирования в жизненном цикле разработки ПО.
    В этом разделе рассказывается о моделях разработки ПО (V-модель, итеративно-инкрементные модели), об основных уровнях тестирования и их взаимосвязи (компонентное, интеграционное, системное и приёмочное тестирование), о типах тестирования (функциональное/нефункциональное, структурное, подтверждающее и регрессионное тестирование), об особенностях тестирования в период сопровождения.
  3. Статические методы тестирования.
    В разделе рассказывается о методах статического тестирования:
    — рецензирование, здесь рассказывается о типах рецензирования (неформальное, сквозной контроль, технический анализ, инспекция), о ролях и обязанностях — применительно к каждому типу, о факторах успешного проведения рецензирования;
    — статический анализ с помощью инструментальных средств.
  4. Методы проектирования тестов.
    Рассказывается о процессе разработки тестов основанных на спецификациях (это методы «чёрного ящика», сюда входят эквивалентное разбиение, анализ граничных значений, тестирование таблицы решений и таблицы переходов, тестирование по сценариям использования), на структуре (это методы «белого ящика», сюда входит тестирование операторов и покрытия, тестирование альтернатив и покрытия, а также другие методы, которые основаны на структуре ПО) и на основе опыта. Объясняется, как происходит выбор методов тестирования.
  5. Управление тестированием.
    Рассказывается об организации процесса тестирования и почему важна независимость тестирования, о задачах руководителя тестирования и обычного тестировщика, о планировании тестирования (критерии входа/выхода, оценка трудозатрат тестирования), о мониторинге прогресса и контролировании тестирования, об управлении конфигурацией/версиями, о возможных рисках тестирования (риски проекта, риски продукта), об управлении инцидентами.
  6. Инструментальные средства поддержки тестирования.
    В этом разделе рассказывается о типах инструментов, применяющихся в процессе тестирования, их классификация (инструменты для управления тестированием и тестами: инструменты управления тестированием и требованиями, средства управления конфигурацией; инструменты статического тестирования: инструменты рецензирования, статического анализа, моделирования; инструменты для работы с тестовыми спецификациями: инструменты проектирования тестов, подготовки тестовых данных; инструменты выполнения тестов и протоколирования: инструменты выполнения тестов, интегрированной среды модульного тестирования, тестовые компараторы, инструменты измерения покрытия и тестирования безопасности; инструменты для тестирования производительности и мониторинга: инструменты для тестирования производительности, нагрузочного/стресс-тестирования и мониторинга; инструменты оценки качества данных). Далее идет речь об эффективности использования инструментальных средств, о возможных выгодах и рисках, об основных принципах внедрения новых инструментов тестирования в организации.

Основные задачи тестирования

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

  • Стимулы – это данные, которые подаются на вход программе.
  • Реакции — это то, что получается на выходе.
  • Оракул — это способ проверки наблюдаемого результата, совпадает он с некоторыми ожиданиями или не совпадает.

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

  • Пользовательский интерфейс (UI)
  • Программный интерфейс (API)
  • Сетевой протокол
  • Файловая система
  • Состояние окружения
  • События

Наиболее распространенные интерфейсы это

  • графический,
  • текстовый,
  • консольный,
  • и речевой.

Через пользовательский интерфейс компьютер взаимодействует с человеком, с пользователем.

Через программный интерфейс программы взаимодействуют друг с другом (человек тут не нужен).

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

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

Это состояние окружения, которое могут программы модифицировать и, соответственно, тоже читать.

Это события, в частности, таймер. То есть некоторые механизмы отслеживания времени.

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

Верно ли, что QA-автоматизаторам нужно разбираться в программировании чуть ли не лучше разработчиков?

ЕКАТЕРИНА ЖУКОВСКАЯ: QA-автоматизатор – это такой же разработчик, что и Python Developer или .NET Developer. В задачах обычного разработчика и QA-автоматизатора стоит даже одинаковая цель –  автоматизация. Только в привычной нам разработке автоматизируют бизнес-процессы, а QA-автоматизатор – тесты для проверки автоматизации этих бизнес-процессов. Так что я считаю, что в программной части должны разбираться отлично и те и другие, ведь от эффективности первых, зависит и качество работы вторых.

АЛЕКСЕЙ БЕДУНКЕВИЧ: Я не считаю что автоматизатору надо разбираться в коде на уровне разработчика, но всегда хорошо если человек разносторонне развит. Но даже простое знание базы и наличие здравого смысла уже позволит стать довольно успешным автоматизатором.

Нерешительность и страх перемен

В 2016 году я, будучи студентом 3-го курса технического университета, решил искать работу, которая как-то связана с ИТ. Друг предложил пойти с ним в техподдержку Skyeng. Честно говоря, я не сразу согласился: мне сложно коммуницировать с людьми, обычно боюсь первым начать разговор и чувствую себя неловко при общении с незнакомыми. Но затем рискнул и прошёл собеседование.

Уже через 3-4 месяца я точно понял, что мне нужно расти над собой и пойти во что-то более айтишное. Мой друг тогда перешёл в отдел QA. Общаясь с ним, я открыл для себя совершенно новую область в разработке — тестирование ПО! С первого взгляда это было именно то, что мне нужно: я хотел набраться опыта, залезть с головой в программную часть и расти дальше — ведь учился я на разработчика.

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

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

Решение мне далось не сразу. Около месяца я взвешивал все за и против. Руководить отделом в 22 и иметь долгосрочную стабильность (мне даже родные говорили: «Да зачем тебе этот айти? Вон, начальником, может, будешь!») — ну разве не кайф?

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

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

Я выбрал долгую и «туманную» перспективу: сначала вкладываешься, потом пожинаешь. Но есть одно но: чтобы добиться результата, нужно постоянно самосовершенствоваться, думать головой, брать ответственность за свои действия и идти на риски, которые не всегда могут окупиться. Страшно. Но я решил, что мечты надо добиваться любыми силами, и начал готовиться к собеседованиям. Специально взял отпуск, чтобы понять и впитать всю возможную литературу и лучшие практики. Но этого оказалось недостаточно… Это интересный опыт: быть уверенным в том, что всё знаешь, но тебя никуда не берут.

Какие пути карьерного роста есть из этой специальности?

АЛЕКСЕЙ БЕДУНКЕВИЧ: DevOPS – первое что вспоминается, так как очень часто Auto QA встраивает свою работу в пайплайн разработки. Development – тут все понятно 🙂

ЕКАТЕРИНА ЮРАСОВА: Пути могут отличаться. Главное чувствовать, что автоматизация – это твоё. Иначе, если не случилась любовь с профессией, то уже через 2-3 года выгоришь. 

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

Есть ли у тебя какой-нибудь персональный лайфхак, который бы упростил жизнь всем QA-автоматизаторам?

АЛЕКСЕЙ ПОБОЛЬ: Если я нахожу какое-то интересное решение, то сразу документирую это на внутреннем портале, чтобы другие члены команды тратили меньше времени в будущем

ЕКАТЕРИНА ЖУКОВСКАЯ: Сложно назвать это лайфхаком, но могу сказать, что нужно уметь писать не только красивый и правильный по структуре код, но также и уметь создавать, так называемые, “костыли”. Это действительно упростит жизнь и сократит время на решение какой-то нетривиальной проблемы, где красота кода ничем не помогает, ведь это уже будет критическое мышление, основанное на опыте.

А самое главное – не нужно бояться, что ты чего-то не знаешь, главное желание и усердие. Мы учимся всю жизнь –  “Чем больше мы знаем, тем ещё больше нам придётся узнать”.

Результаты внедрения нагрузочного тестирования в Miro

  1. Понятный и описанный процесс. Чётко описано, какие шаги нужно выполнить и что нужно делать на каждом из шагов.
  2. Большие тесты: 200K, 500K пользователей online при типичном сценарии использования. Каждый сложный тест зачастую проходит много итераций перед успешным выполнением, поэтому без автоматизации столько раз гонять большие тесты было бы чрезвычайно долгим и утомительным занятием, полным ошибок.
  3. Проверка компонентов перед выкаткой на прод.
  4. Обоснованный выбор параметров компонентов для поддержки планируемой нагрузки. То есть не просто с потолка брать «ну наверное хватит сотни воркеров», а выбирать параметры на основе результатов проверок.
  5. Автоматизация, упрощение и ускорение проведения НТ. Я говорил в начале про список из 16 пунктов, которые надо было пройти вручную при каждом запуске НТ на кластере. Теперь это один конфиг и одна команда. Больше автоматизации даёт больше надёжности и больше возможностей уделить время более творческим и сложным задачам.
  6. Деградационное тестирование (начало). Автоматическое выполнение тестов по реалистичному API сценарию на типичной нагрузке каждую ночь на последней версии сервера и построение графиков трендов для отслеживания динамики показателей скорости ответа и числа ошибок.

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

Тестировщики сегодня получают не меньше, чем разработчики. Разница практически неощутима. Если средняя заработная плата в России около 40 000 рублей, то на старте карьеры в качестве инженера по тестированию в Москве вы сможете получать примерно в полтора-два раза больше.

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

Значение профессии

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

Профессия инженер по тестированию от «Яндекс.Практикума»

Для кого:

— для тех, кто хочет получить новую профессию

Длительность: 4 месяца

Сколько стоит: вводный курс — бесплатно, далее 15 000 рублей в месяц или 50 000 рублей при единоразовой оплате.

Подробнее здесь.

Профессия тестировщик от Skillbox

Для кого:

— для новичков в IT

— для начинающих тестировщиков

Длительность: 586 онлайн-уроков

Сколько стоит: 3 месяца бесплатно, далее 7415 рублей в месяц

Подробнее здесь.

Профессия тестировщик ПО от «Нетологии»

Для кого:

— для тех, кто хочет получить профессию в ИТ

— для тех, кто работает в техподдержке

— для начинающих тестировщиков

Длительность: 6 месяцев

Сколько стоит: 77 900 рублей

Подробнее .

Тестировщик в BI Group

Опыт работы: 1-3 года

Требования:

— понимание модели разработки ПО

— знания в классификации тестирования

— опыт тестирования веб- или мобильных приложений

— опыт работы с баг-трекинговыми системами

— умение писать простые SQL-запросы.

Подробнее здесь.

Тестировщик ПО в «Like Центр»

Опыт работы: не требуется

Заработная плата: 40 000 — 60 000 рублей

Требования:

— понимание особенностей тестирования клиент-серверных, мобильных и web-приложений

— понимание жизненного цикла разработки ПО

— умение четко излагать свои мысли

— аналитический склад ума, ответственность и целеустремленность.

Подробнее здесь.

Асессор-тестировщик в «Яндекс»

Опыт работы: не требуется

Требования:

— опыт ручного тестирования сервисов и приложений

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

— способность к монотонной деятельности

— наличие надежного и быстрого интернет-канала

— широкий кругозор во всем, что связано с интернетом.

Подробнее здесь.

Навыки

Знание основ HTML. Это язык, который применяется для структурирования и отображения web-страницы и контента на ней

Знание SQL. Язык запросов, тестировщику нужен для бэкенд-тестирования, для проверки тестовых данных, вставки, удаления, обновления их значений в базах данных

Работа с Java. Один из базовых языков программирования, тестировщику нужен, помимо прочего, для автотестов

Знание основ CSS. Это язык описания внешнего вида HTML-документа, без которого не обходится практически ни один web-ресурс или приложение

Работа с Jira. Это система баг-трекинга, с помощью которой можно выявлять, контролировать и регистрировать найденные в ПО ошибки

Начало профессии

  1. Использование Selenium. Инструмент для автоматизации действий web-браузера, чаще всего применяется для тестирования web-приложений.
  2. Работа с Git. Система, которая отслеживает и фиксирует изменения в файлах.
  3. Знание инструментов devTools. Программы, позволяющие тестировать и отлаживать ПО.
  4. Работа с Python. Еще один популярный язык программирования наряду с Java.

Продвинутый уровень

  1. Знание методологии разработки Agile/Scrum. Обычно используются при разработке крупных проектов.
  2. Работа с Docker. Инструмент контейнеризации, при помощи которого можно создавать и распространять контейнеры с необходимым софтом, настраивать взаимодействие тестов и т. д.
  3. Уверенные навыки в тестировании UI, UX. UI – это графический дизайн, UX – это тестирование интерфейса на предмет пригодности для быстрого решения задач пользователя.
  4. Уверенные навыки в API-тестировании. Данное тестирование используется для выявления ошибок взаимодействия между модулями системы или между системами.

Согласно рейтингу, составленному по результатам опроса, более 57 тысяч респондентов SQL, Java, HTML и CSS являются самыми востребованными технологиями среди разработчиков.

Как стать QA-аналитиком

Итак, потолок достигнут, вы проработали мануальным тестировщиком один-два года и ощутили, что ваше предназначение — это именно аналитика, а не DevQA. Предлагаем действовать по такому плану: 

1. Возьмите ознакомительный курс по аналитике и почитайте литературу:

  • К. Вигерс, Д. Битти «Разработка требований к программному обеспечению»;
  • А. Коберн «Современные методы описания функциональных требований к системам»;
  • Д. Леффингуэлл «Принципы работы с требованиями к программному обеспечению. Унифицированный подход».

2. Проанализируйте проект, на котором работаете сейчас.

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

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

Именно такой подход — самый правильный. Часто сотрудники — и не только из QA — ставят вопрос иначе: «Я хочу развиваться, скажите мне, как». Это плохое начало. 

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

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

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

Итак, аналитика — это путь, открытый мануальному тестировщику при следующих условиях:

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

В чем проблема?

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

Eye Driven Development является самым простым способом удостовериться в работоспособности кода, но не самым оптимальным. Прост этот способ тем, что не предполагает практически никакой интеллектуальной работы: мы тестируем руками приложение, сервис, класс и т.д. с точки зрения конечного пользователя, не рассматривая граничные значения, классы эквивалентности, негативные сценарии, сценарии с разными уровнями permissions и прочее. Такой способ не дает быстрой обратной связи при разработке, не позволяет проверить сущность на разнообразной выборке данных, занимает много времени и не улучшает качество продукта.

Наиболее оптимальный способ — это написание автотестов на разрабатываемый код

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

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

Почему люди хотят стать тестировщиком?

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

Тестировщик ПО в SmartSeeds, в прошлом учитель, военный и работник метрополитена, подчеркивает: 80% успешного обучения — самообразование. Это книги, вебинары, видео уроки на YouTube.

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

Главные причины, по которым выбирают профессию тестировщика:

  • достойная зарплата (от $600-700 и выше);
  • долгосрочная перспектива карьерного продвижения;
  • возможность быстро переключиться с фриланса на постоянную работу в офисе.

Тестировщик уровня Middle и выше осваивает популярные языки программирования, прокачивает уровень своего английского. Это хорошее подспорье для дальнейшей переквалификации или подъема на новую ступеньку.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector