Карьера в тестировании. С чего начать?

Опубликовано От Sergey
0 0
Read Time:6 Minute, 4 Second

С ростом популярности IT-направления (количества вакансий, обучающих курсов, интервью и прочего), у многих людей закрепилось мнение, что тестирование – это отличный старт карьеры в IT. Дмитрий Бормотов, QA Automation Lead, Project Lead в компании Flow Health, рассматривает, так ли это на самом деле, и как можно начать свой путь в тестировании.

Карьера в тестировании. С чего начать?

Алина Алещенко

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

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

Соответственно, тестировщик – это человек, который осуществляет процесс тестирования.

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

 

Какие бывают тестировщики

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

  • веб-приложения (сайты, по типу того, на котором вы читаете сейчас статью);
  • мобильные приложения (WhatsApp, Telegram и прочие-прочие, так как смартфоны есть у многих – примеры излишни);
  • настольные приложения (desktop – настольные версии Microsoft Word и т.п.);
  • API (серверная часть, к которой обращаются веб, мобильные и настольные приложения);
  • базы данных (да, есть даже тестировщики, которые тестируют БД, но это экзотика);
  • безопасность.

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

  • Веб-приложения (+ API в совокупности).
  • Мобильные приложения (+ API в совокупности).
  • Веб + мобильные приложения + API.
  •  

    Идеальный кандидат и важные навыки

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

    Однако на собеседованиях с тестировщиками интервьюеры любят спрашивать об опыте работы с SQL-базами данных и по синтаксису составления запросов (в том числе замудренных вариантов с LEFT/RIGHT/INNER JOIN-ами и пр.), в то время как на проекте вообще не предполагается работы с БД для тестировщиков. Но так или иначе – это частая практика, что кандидатов спрашивают по этой теме, поэтому подготовиться по ней тоже необходимо.

    Ещё один важный критерий – на многих проектах от тестировщиков потребуется смотреть логи различных сервисовскриптов на удалённом сервере. Для того, чтобы уметь подключиться к такому серверу и понимать как работать с CLICommand-Line Interface, необходимо также изучить базовые команды Linux CLI, а в частности – подключение к серверу по SSH, переход по директориям, взаимодействие с файлами и папками (создание, копирование, изменение, удаление) и умение из огромного массива информации выделить важную часть (при помощи grep). Интервью по этой части производится редко, но в работе эти навыки применяются часто.

    Так, мы видим, что кандидат должен уметь:

  • Знать и применять теорию тестирования.
  • Тестировать приложение на конкретной платформе (вебмобильное). В вебе необходимо обязательно научиться пользоваться Chrome DevTools, в мобильных приложениях – уметь развернуть мобильное устройство в эмуляторе (например, Android Virtual Device) и подключить устройство (реальноевиртуальное) к трафик-снифферу (Fiddler или Charles Proxy).
  • Тестировать API (инструменты – Postman, SOAP UI).
  • Составлять простые SQL запросы (включая простые JOIN-ы).
  • Работать с Linux CLI (переход по директориям, взаимодействия с файламидиректориями, grep).
  •  

    Онлайн-курсы

    Основу, а именно – теорию тестирования, практику тестирования веб или мобильных приложений и API, как правило, можно получить во многих онлайн-курсах, чего в принципе достаточно для трудоустройства. SQL и Linux CLI тоже местами мелькают, но присутствуют далеко не в каждом курсе. Поэтому рекомендую обращать внимание на состав учебной программы.

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

     

    Иные способы научиться тестировать

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

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

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

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

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

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

  • Базовые представления о том, как работает компьютер – что такое операционная система (семейства ОС – Windows, Linux, MacOS, в т.ч. мобильные – Android, iOS) и зачем они нужны.
  • Базовые представления о работе телекоммуникационных сетей (интернетлокальные сети).
  • Простейшие операции в командной строке (Linux CLI).
  • Базовые знания SQL, включая простые JOIN-ы.
  • В зависимости от направления – уметь работать с Chrome DevTools (если это веб-приложения), либо же с трафик-снифферами типа Charles Proxy или Fiddler и эмуляторами мобильных устройств (если это мобильные приложения).
  • Знать, что такое CRUD, уметь отправлять запросы при помощи Postman или подобных приложений.
  • Теория тестирования: что такое тестирование, цели и задачи тестирования, виды тестирования, методологии тестирования, техники тест-дизайна, документация по тестированию (тест-планы, тест-кейсы, чек-листы, баг репорты).
  • Фото на обложке: pixabay.com

    Нашли опечатку? Выделите текст и нажмите Ctrl + Enter

    Источник: https://rb.ru/

    Happy
    Happy
    0 %
    Sad
    Sad
    0 %
    Excited
    Excited
    0 %
    Sleepy
    Sleepy
    0 %
    Angry
    Angry
    0 %
    Surprise
    Surprise
    0 %

    Average Rating

    5 Star
    0%
    4 Star
    0%
    3 Star
    0%
    2 Star
    0%
    1 Star
    0%

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

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