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

Меня зовут Никита Кулаченков, работаю тестировщиком в «Афише» и наставником на курсе «Инженер по тестированию» в Яндекс Практикуме. Много лет назад я попал в тестирование без каких-либо курсов и практикуясь самостоятельно — и с этим я собираюсь помочь и вам.

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

С одной стороны, если мы говорим об IT, то тестировщики находятся не в самом завидном положении, если хотят попрактиковаться. Разработчики, например, могут писать свои пэт-проекты — создавать различные приложения, придумывать и реализовывать продукты, даже если они самые простенькие. Дизайнеры могут заниматься тем же самым — открыть Photoshop / Figma / другой любимый графический редактор и начать творить. Хочешь — придумай свой вымышленный продукт с уникальным дизайном. Хочешь — попробуй улучшить чужой и положи его в портфолио со словами «смотрите, как я могу».

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

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

  • Резюме

  • Собеседование

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

Давайте посмотрим, что с этим можно сделать.

Перед тем как начать

Исключаем очевидное

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

Так как я работаю в Практикуме, говорить буду только за него — здесь есть практика и по веб-тестированию, и по мобилкам, и по API, и по SQL, и даже блок по автоматизации есть. Если подход онлайн-школ вас устраивает — то я бы рекомендовал его. Он даёт структурированные знания с минимумом необходимости в постоянном поиске открытых ресурсов для практики.

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

Начните с собеседований

Возможно, у вас есть судорожный позыв «практиковать всё, что видел/читал/изучал». В таком случае вы, вероятно, можете потерять много времени.

Мой базовый совет всегда и для всех один — отшлифуйте резюме и отправляйте столько откликов, сколько можете. Если видите, что в целом скилы, описанные в резюме, соотносятся с тем, что вы умеете, — отправляйте отклик. И да, даже если там указано, что нужен опыт больше вашего. Моя первая работа вообще была связана с вакансией, в которой требовалось 1—3 года опыта работы и наличие высшего технического образования (ни того, ни другого у меня не было).

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

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

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

Беритесь за тестовые (но только если интересно)

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

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

А во-вторых, тестовые задания — это хорошая (и часто даже интересная) практика. Они могут быть любыми — ответить на теоретический вопрос, решить задачку с SQL, протестировать приложение, найти и завести баги. Если это вызывает любопытство и занимает не больше одного вечера — а почему бы и нет? Особенно если стоит внутренняя задача «вгрызаться зубами в любую практику».

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

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

Приходилось и баг-репорты составлять:

Те тестовые, правда, не привели ни к какому результату — в те компании меня не взяли, но было довольно интересно позаниматься исследовательским тестированием.Итак, как практиковаться?

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

  • Ручное тестирование (неожиданно)

  • Работа с тестовой документацией

  • Тестирование API

  • Тестирование БД (обычно с SQL)

  • Написание автотестов

В ручном тестировании

Этот навык — самый неспециализированный в списке, но несмотря на это, его сложнее практиковать без реального проекта.

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

Тестируя известные проекты (возьмите любой — VK, Google, Okko, YouTube), увы, максимально приблизиться к боевым условиям не получится, потому что вы видите уже готовый продукт — (достаточно) отполированную версию.

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

Экран может быть, например, такой:

В ситуации, когда не у кого уточнить требования и есть только готовый экран, я стараюсь ответить на следующие вопросы:

  1. Какие элементы есть на экране?

  2. Для чего нужен каждый конкретный элемент?

  3. Какие виды тестирования я могу применить, тестируя этот экран?

  4. Какие проверки я могу составить исходя из подобранных видов тестирования?

  5. Какие техники тест-дизайна помогут мне наиболее полно и правильно протестировать экран?

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

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

Работа с тестовой документацией

Для начала давайте разберёмся, с чем чаще всего мы будем иметь дело:

  • чек-листы

  • тест-кейсы

  • баг-репорты

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

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

Тестирование API

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

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

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

Начать можно со специальных ресурсов, специально созданных для практики тестирования API. Например, это Reqres.in

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

Если вы хотите что-то посерьёзнее, я бы советовал действовать так:

  1. Найдите сайт, который вам нравится (или который вы хорошо понимаете)

  2. Попробуйте найти у него документацию к API

  3. Попытайтесь найти в документации гайд по начале работы

  4. Найдите запрос, который вы понимаете, что делает

  5. Выполните этот запрос, следуя документации

  6. Посмотрите результат выполнения на сайте

Когда я изучал API, я выбрал Trello — это таск-трекер, где можно создавать доски и карточки с задачами для выполнения. На самом деле в основе почти каждого IT-проекта используются подобные продукты — скажем, та же Jira.

Вот так это может выглядеть изнутри:

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

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

  • Для начала нужно разобраться с тем, как через тот же Postman подключиться к вашему аккаунту, — для этого используются ключи авторизации, о работе которых написано на странице знакомства с Trello API.

  • Далее можно вернуться и найти какой-нибудь простой и понятный запрос — например, создающий карточку на выбранной доске:

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

После создания карточки через запрос мы сможем её увидеть на сайте на выбранной нами доске — ну не чудеса ли?

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

Работа с SQL

Вот тут нам, начинающим тестировщикам баз данных, конкретно повезло, потому что тренажёров по SQL неимоверное множество.

Выбирайте любой:

  • SQL-Ex — наверное, самый старый и проверенный онлайн-тренажёр для задач по SQL. И пусть вас не пугает его дизайн — переходите в раздел «Упражнения по SQL» и наслаждайтесь!

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

  • LeetCode SQL 50 — литкод является самым популярным источником задач для программистов, но и для нас (тестировщиков, изучающих SQL) он может пригодиться. Можно порешать интересные задачки, и, конечно, бесплатно.

  • Интерактивный тренажер по SQL на Stepik — ещё один хороший тренажёр, помогающий закрепить знания на практике.

На самом деле от тестировщиков обычно требуется не очень высокий уровень знания этого языка запросов (если умеете в SELECT'ы и JOIN'ы — скорее всего, вам хватит).

Написание автотестов

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

  1. Выберите проект

  2. Выберите функциональность

  3. Напишите ручные тесты для выбранной функциональности

  4. Напишите автотесты

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

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

А можно ли всё и сразу?

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

Из приятных открытий для решения задачи «А можно ли всё и сразу, да ещё и бесплатно?»: недавно я нашел платформу TestGrow — там есть тесты и практические задания на все основные навыки тестировщика. И да, это бесплатно — создатель продаёт менторство и поддержку, но в остальном задачи доступны всем без исключения.

Напомню мой основной посыл:

  1. Закончите обучение

  2. Хорошо поработайте над резюме

  3. Отправляйте много откликов

  4. Ходите на собеседования

  5. Практикуйтесь в тех навыках, в которых вы показали себя слабее всего

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

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


  1. Vitaliy_pro
    17.01.2024 08:14

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

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

    Успехов всем, кто в начале пути!


    1. kulac Автор
      17.01.2024 08:14

      Привет!

      Совсем забыл указать про стажировки, но, видимо, потому, что сам с ними не сталкивался. У меня сложилось субъективное ощущение, что у нас не так развита система стажировок, как на Западе. Подскажи, так ли это или я заблуждаюсь?


      1. Vitaliy_pro
        17.01.2024 08:14

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


        1. kulac Автор
          17.01.2024 08:14

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


  1. JaneGame
    17.01.2024 08:14
    +1

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

    А ещё подбешивает, что в "Центре занятости" при курсах рекомендуют ставить учебу в опыт. Как по мне самый адекватный вариант для опыта - это стажировки, проекты наподобие "Хомячков" (@clipsa, привет!) или примазаться к какому-нибудь пет-проекту (их тоже можно тестировать).


    1. kulac Автор
      17.01.2024 08:14

      Привет!

      По поводу курсов - видимо, сильно зависит от программы. У нас в Практикуме дают веб, мобилки, API и БД - четыре всадника тестирования, про которые спрашивают приблизительно на всех собеседованиях. Когда устраивался, активно изучал тренажер - и понял, что практически все здесь реально применяется (или применялось в определенные периоды) в моей работе. По автоматизации есть бонусный модуль, но упор, конечно, на ручное тестирование (в базовом курсе "Инженер по тестированию"). Несмотря на то, что я в целом в курсам также отношусь скептически (и сам учился без них), Практикум я бы мог рекомендовать тем, кому такой формат подходит.

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

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


      1. JaneGame
        17.01.2024 08:14

        Мне кажется, что практически любой опыт работы, если он был, лучше обучения))) По крайней мере если говорить про тестирование. Написание инструкций/статей, проверка оборудования, работа с людьми (привет, менеджер по продажам) - это всё формирует важные для будущего тестировщика навыки. Просто их надо грамотно подать.


        1. kulac Автор
          17.01.2024 08:14

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

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


          1. JaneGame
            17.01.2024 08:14

            Вот я так же - привязала свой опыт по проверке лабораторной техники. Чем не работа тестировщика?) Работа с документацией опять же - написание отчетов, инструкций - всё в копилку. Главное не переусердствовать)

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


            1. kulac Автор
              17.01.2024 08:14

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


      1. JaneGame
        17.01.2024 08:14

        Кстати, немного статистики. После 2х проектов от Хомячков и 1 от моей наставницы с курсов (о, забыла, ещё один плюс от курсов, но тут как повезет с преподавателем) меня уже рассматривали как человека с минимальным опытом. По итогу - 2 оффера почти одновременно (правда, один ну очень подозрительный) и меня взяли на мидловскую позицию (искали от года).

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


        1. kulac Автор
          17.01.2024 08:14
          +1

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

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