Qr инженер что такое

Обновлено: 07.07.2024

В трудовом договоре написано "Старший специалист по тестированию", но в миру мы известны как QA-инженеры или попросту тестировщики.

Доход: 150 000 Р на руки

Выбор профессии

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

По образованию я бакалавр направления "Прикладная информатика в экономике" и моя карьера начиналась в 1С-франчайзи. 1С я изучала самостоятельно и на краткосрочных курсах, в вузах этому не учат.

На старте карьеры я работала не в Москве, а в другом городе-миллионнике, и в 2016 году я получала около 25 000 рублей.

Однако, жизнь сложилась так, что я переехала в Москву, устроилась также в компанию 1С на зарплату 55 000 рублей, но долго не продержалась. Сыграли разные факторы: мне не нравилась предметная сфера, не устраивала политика 1С в области сертификации специалистов и вообще узкая направленность этой сферы. Также при устройстве у меня была серая зарплата, а в 2017 году ее срочно полностью "обелили", потому что компания рисковала нарваться на штрафы. После этого зарплата стала 50 000 рублей (конец 2017 года) и я решила искать новую работу.

Я хотела остаться с ИТ, но программировать на популярных языках, например Python или Java, не умела, да и учиться особенно не было желания. Тогда по совету знакомого разработчика решила попробовать себя в качестве тестировщика.

Я почитала книги, в том числе легендарного Савина "Тестирование дот ком", посмотрела кое-какие видео на ютубе, почитала блоги, немного потренировалась писать запросы SQL (тут меня спасло то, что внутренний язык запросов 1С — это как SQL, только на русском, было просто). С этим багажом и вышла на рынок.

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

Суть профессии

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

Работая тестировщиком, я часто вспоминаю цитату из "Дивного нового мира" Хаксли: "Как хорошо, что я бета… У альф работа гораздо трудней, чем у нас, потому что альфы страшно умные. Прямо чудесно, что я бета, что у нас работа легче". Под альфами, конечно, понимаются программисты:)

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

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

Место работы

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

Мне нравится отношение компании к сотрудникам. У нас белая зарплата, регулярные премии, ДМС со стоматологией, скидки на фитнес, уютный офис недалеко от метро. Не могу сказать ничего про корпоративы, так как устроилась после начала пандемии, но говорят, раньше они были:)

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

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

Рабочий день

Я работаю на удаленке, и мой рабочий день начинается в промежутке с 9 до 10 часов. Мы работаем по скраму (а кто по нему сейчас не работает), и в 11 часов у нас daily scrum meeting, а по-русски — ежедневная летучка. Обсуждаем, кто что сделал вчера, чем будет заниматься сегодня и какие есть проблемы. После этого каждый расходится по своим делам.

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

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

Когда разработчик закончил свою работу, он переводит задачу на меня, и я исполняю свои тесты. Каждый тест я отмечаю: если все хорошо, то "пройден" (passed), а если нашлась ошибка — тест "завален" (failed). Я составляю баг — отчет о дефекте, где описываю шаги воспроизведения (что я делала), ожидаемый результат (он основан на технической документации) и фактический результат (что происходит на самом деле). Баг — это любая ситуация, когда ожидаемый и фактический результат не совпадают. Например, пользователь вводит неверный пароль, а программа все равно разрешает вход, — это баг.

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

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

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

Удивительный случай

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

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

Подработки

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

Есть сервисы по краудтестингу, но это больше развлечение для стажеров. Денег там не заработать (это как биржи копирайтинга с расценками 10 рублей за 1000 збп).

Доход

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

Чтобы зарабатывать больше, говорят, надо устроиться в другой всем известный банк, а я туда не хочу:)

Расходы

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

  • 33 000 Р — квартира с коммуналкой и интернетом
  • 27 000 Р — супермаркеты. Сюда входит еда, бытовая химия, предметы гигиены и всякая мелочь с Озона и Вайлдбериз
  • 7000 Р — уход, косметология
  • 5000 Р — развлечения
  • 5000 Р — еда не дома
  • 5000 Р — фитнес
  • 5000 Р — проезд, в том числе такси
  • 30 000 Р — на ИИС

Сколько получится — в подушку безопасности. Сейчас у меня накоплена сумма, которая позволяет спать спокойно, поэтому пополнение подушки идет по остаточному принципу.

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

Экономия

Особых лайфхаков по экономии у меня нет. Еду покупаю во Вкусвилле, одежду в массмаркете, шкаф стараюсь не захламлять.

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

Финансовая цель

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

Будущее

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

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

Что касается более далекой перспективы, я вижу себя в роли тестировщика лет до 55-60. Я трудоголик и собираюсь работать до последнего, не хочу просиживать старость дома (даже если он будет на берегу Тихого океана), как это сейчас делают мои бабушки (нет, они не на берегу, они в хрущевках города-миллионника). Я буду энергичной бабулей, которая поднимает штангу в качалке и путешествует по миру (надеюсь, к тому времени ковидные ограничения снимут).

Сейчас я вижу, как набирает обороты онлайн-образование, и ютьюб часто предлагает мне освоить профессию тестировщика:) Может, лет через 20 я стану методистом в условном Скилл Боксе, а может скрам-мастером (если к тому времени аджайл не умрет). В общем, после 50 надо будет начинать думать про переквалификацию в менее техническую должность, потому что мозги будут уже не торт.

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




Больше трёх лет я занимаюсь обеспечением качества продуктов. И всё это время наблюдаю за эволюцией процессов тестирования в компании.

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

До текущих процессов с блэкджеком Scrum-Less и автотестами на Selenium.

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

QA, QC и тестировщики: три большие разницы?

Начнём наши поиски и копания с обращения к Международному стандарту системы менеджмента качества ISO 9000:2015. В каждой статье, в каждом видео на тему отличия этих понятий есть ссылка на этот документ, моя статья не исключение.


В пункте 3.2 стандарта раскрываются два определения:

    Обеспечение качества (3.2.10) — часть управления качеством, направленная на обеспечение уверенности в том, что требования к качеству будут выполнены.

Quality assurance (3.2.10) — part of quality management focused on providing confidence that quality requirements will be fulfilled. Quality control (3.2.11) — part of quality management focused on fulfilling quality requirements.
Отмечу, что в стандарте ISO 9000:2015 вообще нет понятия tester как такового. Я искал.

Так каким же образом взаимосвязаны понятия Quality assurance, Quality control и Тестирование между собой?

Часто можно встретить такого рода иллюстрации со слоёной структурой качества, где тестирование — часть контроля качества, контроль качества — часть обеспечения качества.


Но лично мне кажется, что раз в стандарте нет понятия tester или testing, а QC — это и есть разного рода тестирование, то и иллюстрации должны быть такими:


Однако стандарт есть стандарт, а у нас тут реальная жизнь. И в реальной жизни IT-индустрии встречаются только два названия нашей профессии:

  1. QA-инженер.
  2. Тестировщик Программного обеспечения (ПО).

Ищу Тестировщика ПО (QA-инженера)

Я бы не писал эту статью, если бы в индустрии не смешивали эти роли и не называли тестировщиков QA-инженерами и наоборот. По моим наблюдениям, в России не разделяют две профессии. Всех для простоты (а может по незнанию) называют тестировщиками. И ладно бы таким грешили только работодатели, но путаницу поддерживают и сами тестировщики. Например, на Хабре можно встретить статьи, где авторы на протяжении всего текста называют одних и тех же людей тестировщиками, QC-инженерами, QA-специалистами, инженерами по тестированию и тестерами.

Масла в огонь подливают HR-менеджеры: часто для увеличения охвата аудитории они пишут в названии вакансии «Тестировщик ПО (QA инженер)». Шапкой вакансии дело не заканчивается, винегрет продолжается и в самом описании.

Давайте обратимся к вакансиям QA-инженеров:


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

Или ещё один красочный пример:



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

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

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

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

  1. Для кого эта конференция?
  2. С чем она у вас ассоциируется?

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

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

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

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

Quality is a customer determination, not an engineer's determination, not a marketing determination, nor a general management determination. It is based on the customer's actual experience with the product or service, measured against his or her requirements — stated or unstated, conscious or merely sensed, technically operational or entirely subjective — and always representing a moving target in a competitive market (Armand Feigenbaum «Total quality control»).

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

QA ≠ QC: как их различить

QC: кто эти люди, какие у них задачи, какие у них ограничения

Кто эти люди? Люди, которых называют тестировщиками, тождественны контролю качества QC. По логике вещей они на последнем этапе разработки проверяют качество продукта (любым видом и типом тестирования — ручным, автоматизированным, нагрузочным, тестированием безопасности и т.д.).

Какая у них задача? Их задача — провести валидацию продукта и предоставить информацию бизнесу и разработчикам о соответствии продукта заявленным требованиям.

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

  • До взятия фичи в проверку такие сотрудники не влияют на процесс обеспечения качества и разработки, хотя их участие могло бы предотвратить некоторое количество багов и тем самым сократить затраты на тестирование.
  • Зачастую такие сотрудники не могут давать рекомендации, как сделать продукт лучше. Потому что поезд ушёл и уже поздно. Им остаётся лишь сверять соответствие продукта требованиям. FYI: хотя на самом деле тестировщикам есть что сказать по поводу улучшений, которые необходимо сделать.
  • Эти ребята чаще всего не видят полной картины процесса, поэтому искренне не понимают, почему разработчики дают им код, в котором приложение крашится при попытке запуститься. И, согласно п.1, ничего не могут с этим сделать. Даже если хотят.
  • Они не могут взять на себя полную ответственность за качество продукта.
  • Очень часто между тестировщиками и разработчиками возникают конфликты. Так бывает, когда разработчики считают свой код самым лучшим и работающим, а в тестировщиках видят лишь попытки его сломать и показать, что код не работает. Такое положение дел порождает всем известные мемы «Это не баг, а фича».

QA: кто эти люди, какие у них задачи, какие у них ограничения

Кто эти люди? Инженеры по обеспечению качества (QA) — это люди, которые помогают командам разработки выпускать качественный продукт, как можно быстрее за как можно меньшие деньги. Ведь все мы знаем, что чем раньше найден баг, тем дешевле его пофиксить. Лучше всего фиксить баги ещё на уровне идеи.


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

Какая у них задача? Задача QA-инженера — не допустить несоответствия продукта предъявляемым требованиям. QA-инженер замеряет качество продукта, знает его актуальное состояние и что нужно сделать, чтобы его поднять не только на этапе тестирования, но и на этапе разработки, дизайна или составления требований.

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

В отличие от QA, работу QC оценить можно, особенно если отталкиваться от самого простого и оценивать эффективность по количеству багов — сколько багов нашёл и сколько багов пропустил на прод.

Как дальше жить?

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

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

Я знаю, что большинству из вас не всё равно на то, что вы тестируете. И вы искренне хотите поставлять хороший продукт, которым приятно будет пользоваться.

Кто такой QA engineer и как им стать - 1

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

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

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

Кто такой QA engineer и как им стать - 2

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

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

Кто такой QA engineer и как им стать - 3

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

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

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

Кто такой QA engineer и как им стать - 4

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

Как стать QA?

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

Кто такой QA engineer и как им стать - 5

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

Перспективы

Работа QA, как одна из относительно легких точек входа в ИТ, предлагает довольно много вариантов развития. Можно остаться в этой специальности и подняться по лестнице: junior QA, middle QA, senior QA, QA team lead, QA manager, head of QA department. Если вы больше тяготеете к программированию, но не готовы идти в программисты, то можно переключится на QA automation engineer. Тогда вы сможете попробовать свои силы в автоматизации проверки приложений.

Гид по профессии тестировщик: чем занимается специалист в сфере QA, сколько з. главное изображение

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

Кто такой тестировщик, за что отвечает и чем занимается

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

За что отвечает тестировщик

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

В широкое понятие QA входит ещё одно направление деятельности: QC, quality control или контроль качества. Инженеры QC контролируют продукт на этапе разработки и поддержки. Тестирование программного обеспечения — один из инструментов контроля качества. То есть тестировщик проверяет приложение в рамках мероприятий по контролю качества (QC), которые входят в комплекс работ по обеспечению качества (QA).

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

Чем занимается тестировщик

Как сказано выше, тестировщики проверяют программное обеспечение. Разберёмся, как они работают.

Есть ручное и автоматизированное тестирование ПО. Соответственно, специалисты по ручному тестированию проверяют приложения вручную, а специалисты по автоматизированному тестированию работают с помощью программ.

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

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

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

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

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

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

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

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

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

Работа тестировщиком: где работают QA-инженеры, сколько зарабатывают, какие вакансии есть на рынке

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

QA-инженеров и QC-тестировщиков часто привлекают команды, которые используют DevOps. В таких командах разработка, тестирование и поддержка ПО выполняется циклически с использованием подходов Agile или Scrum.

Сколько зарабатывают тестировщики

По данным QA-инженера Антона Якутовича, на рынке есть несколько уровней тестировщиков. Новички получают меньше $600 в месяц, зарплата специалистов среднего уровня составляет от $1500, опытные специалисты получают до $2300. Эксперты по автоматизации тестирования экстракласса могут рассчитывать на зарплату от $2300 в месяц.

Большая часть вакансий открыта в Москве и Санкт-Петербурге. Но тестировщики требуются и в регионах. Например, в Новосибирской области открыто 293 вакансии по тестированию, в Татарстане — 219 вакансий, в Свердловской области — 210 вакансий.

Как стать тестировщиком: что надо знать и где учиться

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

Что должен знать и уметь тестировщик, какие софт-скилы нужны этому специалисту

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

Тестировщик должен уметь работать с командной строкой, знать браузеры и инструменты разработчиков. Также понадобится умение работать с инструментами автоматического тестирования, например, HP-UFT (бывший QTP), Selenium, Sahi и так далее.

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

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

Профессии «Тестировщик» на Хекслете пока нет. Тем не менее у нас есть полезные для будущих тестировщиков курсы и интенсивы. Вот некоторые из них:

Также вы можете посмотреть программы обучения в других школах. Например, курсы для будущих специалистов в области QA есть в «Тинькофф Образование», «Нетологии», GeekBrains, Skillbox и в других русскоязычных школах. А если вы владеете английским языком, можете пройти курсы на известных англоязычных площадках, включая Udacity, edX, Udemy, Coursera и так далее.

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

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

Мы обратились к опытным специалистам в сфере QA, чтобы узнать о нюансах профессии тестировщик. Они ответили на несколько вопросов о профессии.

Константин Виноградов: после курсов программистов можно смело становиться тестировщиком

Дмитрий Дементий: Чем работа тестировщика отличается от работы программиста? И что есть общего в работе тестировщика и программиста?

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

Конечно, есть отдельные специализации, такие, как специалист по автоматизации тестирования (test automation engineer) или разработчик в тестировании (software development engineer in tests), чья работа почти идентична работе программиста. Она предполагает написание кода автоматических тестов и тестовых фреймворков.

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

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

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

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

Д. Д.: Кем проще стать: разработчиком или тестировщиком?

К. В.: Тестировщиком. Но не потому, что им быть проще. Просто порог входа ниже. Карьера разработчика начинается с позиции junior software developer, которая требует наличия минимальных знаний: язык программирования, основные алгоритмов и структур данных, знакомство с фреймворками и так далее. Чтобы стать джуном, ты уже должен быть разработчиком.

Карьера тестировщика начинается с уровня специалиста по ручному тестированию (manual testing): есть описание тестов, делай руками, вноси результаты в отчет. Очевидно, что начинать во втором случае проще.

Д. Д.: С финансовой точки зрения к чему выгоднее стремиться: к позиции тестировщика или программиста?

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

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

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

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

Д. Д.: Можно ли рассматривать позицию тестировщика как один из простых способов войти в IT?

Д. Д.: Какими инструментами пользуются тестировщики: окружение, редакторы и IDE, библиотеки и фреймворки?

Все зависит от продуктового стека и того, чем автоматизируется тестирование. У меня:

  • Linux/macos;
  • VScode;
  • Pytest;
  • Jenkins;
  • Gitlab.

Д. Д.: Где можно научиться тестировать ПО? Можно ли стать тестировщиком после курсов программирования?

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

Станислав Урюпин: тестированию можно научиться только на практике

alt_text

Станислав Урюпин, QA-инженер, руководитель волонтёрского образовательного проекта Sciberia

Дмитрий Дементий: Чем работа тестировщика отличается от работы программиста? И что есть общего в работе тестировщика и программиста?

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

Д. Д.: Кем проще стать: разработчиком или тестировщиком?

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

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

Д. Д.: С финансовой точки зрения к чему выгоднее стремиться: к позиции тестировщика или программиста?

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

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

С. У.: Этот тезис не является верным. Лучше самих программистов в коде не может и не должен разбираться кто-либо ещё. Тестировщики работают чаще всего по стратегии черного ящика, когда непосредственный доступ к коду закрыт для анализа. Зато тестировщику доступны различные способы и инструменты для определения работоспособности программ.

Д. Д.: Можно ли рассматривать позицию тестировщика как один из простых способов войти в IT?

С. У.: Можно, но лишь отчасти. Всё зависит от конкретных целей. Например, часто новички работу в тестировании рассматривают как промежуточный этап перед переходом в разработку. Тестирование и разработка — это разные области деятельности. В каждой из них найдутся характерные особенности, без которых продуктивная работа невозможна. Потому неизбежно придётся тратить ресурсы на погружение в предметную область.

Если цель — пройти в разработчики или иные направления работы в IT, такие, как DevOps или аналитика, стоит отдельно изучать эти направления. Но получится ли это делать без падения продуктивности работы в тестировании, вопрос открытый.

Д. Д.: Какими инструментами пользуются тестировщики: окружение, редакторы и IDE, библиотеки и фреймворки?

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

Д. Д.: Где можно научиться тестировать ПО? Можно ли стать тестировщиком после курсов программирования?

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

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

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

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

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

Читайте также: