План начинающего тестера: от “Войти в IT” до “Я — Инженер!”

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

    image

    Если забежать вперед, то ответ, безусловно, будет — «Да, это возможно!». Но и здесь есть определенные условия: необходимые и достаточные.

    Эта статья будет полезна не только тем, кто хочет найти себя в мире IT и тестирования, но и тем, кто уже начал свой путь!

    Я хочу стать тестировщиком! С чего начать?


    Тестирование как часть процесса разработки программного обеспечения зародилось в начале 1980-х годов благодаря Гленфорду Майерсу. Его книгу "The Art of Software Testing", несмотря на то, что она была написана очень давно, я рекомендую к прочтению всем. В те времена тестировщик должен был обладать «тайными» знаниями систем, которые тогда существовали. Постепенно компьютеры и программное обеспечение становились доступнее для рядового пользователя. И стало возможным тестировать, имея только навыки пользователя данного ПО. Плюс, конечно же, желание. 

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

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

    Hard skills:


    Soft skills:

    • Быть страстным в работе, которую ты делаешь;
    • Быть творческим и инновационным;
    • Умение системно мыслить;
    • Способность поставить себя на место заказчика/потребителя;
    • Навык визуализации;
    • Навык анализа;
    • Умение рассуждать и правильно задавать вопросы;
    • Умение охранять, защищать качество;
    • Умение отлично коммуницировать, находить общий язык (никто не хочет быть токсичным)
    • Быть хорошим командным игроком.

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

    Тестировщик — это прежде всего человек с критическим складом ума, это инженер, который смотрит в суть проблемы и видит полную картину применения продукта. Бывает, что программисты, «голубая кровь» цикла разработки ПО, пренебрежительно относятся к тестировщикам. Раньше мне приходилось слышать высказывания о том, что тестировщики вовсе не нужны, так как программисты сами могут все протестировать, и по большому счету код изначально идеален! Но ваша задача как тестировщика и как инженера, работающего над качеством продукта, принять такое отношение и постараться изменить его на положительное. Ведь вы, как и программист, как и DevOps, часть одного целого продукта и ваша задача — это общая задача обеспечения качества. Вы находите ошибки не у конкретного человека, вы находите ошибки в коде и решаете вместе, как их исправить. Если вы будете пропагандировать такие идеи, то в скором времени программист станет вам лучшим другом и помощником и уже не будет смотреть на вас с немым вопросом: «Ну что опять?».

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



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

    Давайте разберем, где же взять необходимые хард-скилы.

    Основой любой профессии будет теория. Без знания принципов тестирования невозможно понять процессы, происходящие в разработке ПО, и оценить его качество. Не старайтесь в начале своего пути сразу пытаться постичь что-то сложное. Начинайте погружение в профессию постепенно. Если вы пропустите основные понятия и перейдете к изучению автоматизации, фреймворков и языков программирования, то велика вероятность того, что вы потеряете интерес к тестированию вообще, так как посчитаете его слишком сложным. Обычно желание изучать автоматизацию у новичков появляется после того, как они слышат о том, что без нее попасть в профессию практически невозможно. Но это не так. Спрос на «качественных» мануальных тестировщиков не падает, и они все еще в цене. Поэтому еще одной полезной книгой для освоения теории тестирования будет «tестирование dot com» Романа Савина. Если вы прочитали перечисленную выше литературу и уже ориентируетесь в теории, то вам очень пригодится сайт с выжимкой основ тестирования — Protesting.ru.

    Как закрепить теорию практикой? Выбирайте любой объект из повседневной жизни (ПО на мобильном телефоне, микроволновка и даже карандаш) и тестируйте его. Можно проговаривать тест-кейсы, но лучше сразу записывать их на бумаге/компьютере в формальном виде так, как вы будете это делать уже на своей работе тестировщиком. Далее проходите эти тест-кейсы и составляйте отчеты о тестировании. Этот способ самый простой, но действенный. 

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


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

    Что же дальше? Вы изучили теорию, получили небольшой практический опыт. Но перед следующим шагом вернемся к тому, как должен мыслить тестировщик. Выше я уже использовал термин «инженер по тестированию». Каждый тестировщик, как и любой другой член продуктовой команды, должен в первую очередь иметь определенный склад мышления. Инженер должен уметь системно мыслить, уметь смотреть на задачу с разных точек зрения, уметь абстрагироваться, не зацикливаться на определенном решении и наборе инструментов (технологическом стеке). На вопрос: «А как нам это сделать?» инженер не имеет права ответить: «Я не могу этого сделать, так как не умею писать на Python, Java, Ruby и т.д.». Правильным ответом будет следующий: «Я не могу это сделать, так как это повлечет за собой негативный пользовательский опыт, но у меня есть решение, как этого избежать!».  Чтобы познакомиться с таким подходом на примере известной компании, я рекомендую к прочтению книгу Джеймса Уиттакера «Как тестируют в Google». Наша компания, как и Google, поддерживает такую инженерную культуру. 

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

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

    После того, как резюме составлено, его необходимо активно отправлять на все понравившиеся вам вакансии. Здесь можно применить следующую формулу: отправив резюме на 50 вакансий, вы получите 15 приглашений на собеседования и три предложения о работе. Еще один важный момент заключается в том, что если вам отказали на 9 собеседованиях из 10, а на одном вы получили предложение о работе, то это успех. И все девять отказов стоит воспринимать только как опыт, а не поражение.

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

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

    Содержание программы Базового уровня:

    • Основы тестирования программного обеспечения;
    • Жизненный цикл тестирования;
    • Динамическое тестирование;
    • Статическое тестирование;
    • Управление тестированием;
    • Средства тестирования.

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

    Таким образом, знание основ тестирования, правильно составленное резюме, опыт прохождения интервью и наличие сертификата, безусловно, выделят вас среди остальных кандидатов!

    Что же дальше? Вы прошли интервью и получили свой первую работу тестировщиком!


    Я пришел в тестирование из другой профессии и получил свой первый оффер после четвертого собеседования. Передо мной открылся новый, интересный мир, у которого я на тот момент не видел границ! У меня появилось огромное желание приходить на работу и помогать делать продукт качественнее! Но со временем встал вопрос: «А что же делать дальше? Сколько можно работать мануальным (ручным) тестировщиком?». Да, это интересно, но хотелось двигаться дальше и развиваться. Хотя я твердо убежден и вижу на практике, что ручное тестирование еще очень долгое время будет актуально, и это позволит попадать в мир IT новым тестировщикам.

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

    Попав в Exness, я был рад узнать, что здесь практикуют такую инженерную культуру, которая позволяет тебе быть не тестировщиком, а Software Engineer в продуктовой команде. Мы стараемся не фокусироваться на разделении инженеров по позициям (разработчик, тестировщик, девопс). В нашей команде каждому даются равные возможности для развития и применения своих навыков. Для меня подобный опыт был первым. И я с уверенностью могу сказать, что он очень мотивирует двигаться и развиваться дальше! В тоже время весь этот процесс не происходит сам по себе. Компания корректирует процессы и скиллы всех членов команды, дабы избежать рисков. Когда, например, все в команде начнут программировать.  

    Так кем вы станете в конце концов?


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

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

    Желаю всем найти себя в тестировании и раскрыть инженера в себе!
    Exness
    Финтех-компания, признанный лидер индустрии

    Комментарии 16

      0
      Быть страстным в работе, которую ты делаешь;

      Наблюдал такое у тестеров только в течение нескольких месяцев. Потом это уже грустные люди, которым надо уже в уже сотый раз делать одни и те же регрессионные тесты. Рутина убивает.
        0
        Да, рутина присутствует в работе тестировщика. Но тестировщик не ограничивается только прогонами имеющихся тестов. Почти всегда есть необходимость в написании новых кейсов, в валидации текущих и новых требований. И о движении по пути развития тоже не стоит забывать. Все это разбавляет рутину. Если вы чувствуете, что рутина убивает, то я бы порекомендовал обратиться с советом к «старшим» коллегам, возможно они тоже через это проходили и подскажут как выйти их этого состояния.
          0
          На сколько я знаю, тестеры пишут новые тесты для нового функционала. Регресс проверяют по уже ранее написанным тестам, где ничего не меняется. А регрессионных тестов со временем становится только больше. Они (тестеры) постоянно ходят на всякие минитнги, вебинары и прочее для того, чтобы получить совет как им быть, как уйти от рутины, но советы не очень помогают, потому что никак нельзя уйти от регресса. Иначе кто же будет проверять, что ничего не сломалось. Новые фичи для них как глоток свежего воздуха, но это несравнимо с ростом числа тестов для регрессии. Поэтому вопрос стоит как бы удержать человека от увольнения, а не почему у него страсть пропала.
            0
            Вполне валидно, от регресса не уйти. Но регрессионные тесты тоже не постоянно копятся, некоторые из них устаревают и больше не нужны. То есть их количество растет не постоянно. А если это так, то стоит задуматься почему. Некоторые нужно изменить, регрессионные тесты обязательно меняются, а это уже выход из рутины. Твкже тесты нужно по возможности автоматизировать и это тоже точка для роста.
              0
              Не совсем понятно, как устаревают регрессионные тесты. Старый функционал никуда не девается — его нужно проверять. Следовательно регрессионные тесты тоже никуда не уходят. Если вы имеете в виду пестицидные тесты, то время на их актуализацию относительено небольшое или вовсе равно нулю, если старый функционал не менялся. То есть рутину это не разбавляет, судя по унынию тестеров. А что касается автоматизации, то да — это выход. Проблема бывает в том, что не все тестеры могут автоматизировать и не везде можно применить автоматизацию. В любом случае, проверять что-то ручками обязательно надо, даже при 100% покрытии функционала автотестами.
                0
                В любом случае, проверять что-то ручками обязательно надо, даже при 100% покрытии функционала автотестами.
                Да, и я в статье тоже делаю акцент на том, что мануальный тестинг никуда не денется еще очень долго. Но, если рассматривать проблему уныния, то здесь либо максимально автоматизировать и находить пути для творчества либо искать другие пути развития. Я еще говорил больше о том, что тесты не всегда прогоняются все при регрессии. Если не менялся функционал, то зачем гнать тесты? Если поменялся функционал, то это повод написать новые тесты. Я не пытаюсь отрицать проблему уныния. Она есть, но над ней можно работать.
                  0
                  Если не менялся функционал, то зачем гнать тесты

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

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

        Висят только одни и те же странные вакансии в небольшом количестве, новых давно нет. Выловил только одну свежую на удалёнку в одну аутсорс компанию, так там конкурс был 300+ кандидатов на одно место и надо быть боженькой от тестирования чтобы взяли на 20к.
          0

          А мы вот ищем qa инженера уже давно, на нормальные деньги. И знаете что я скажу: многие кандидаты жмут "откликнуться" даже не дочитав вакансию, на шару, ковровыми бомбардировками рассылая свое говнорезюме. Указывают технологии, которые на собеседовании не подтверждаются. По 3-6 месяцев стаж на каждом предыдущем месте. Но с запоосами все в полном порядке. Мой совет — освойте 1 технологию, но освойте ее хорошо, с чем можно идти на собеседование.

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

            Указывают технологии, которые на собеседовании не подтверждаются.

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

            В этом нет ничего страшного или отрицательного. Существуют же контрактные формы работы. Если тестировщик говорит, что он проработал в компании шесть месяцев, но при этом может подтвердить свои знания. Такого тестировщика можно послушать.
            Посыл моей статьи в том, что при наличие большого желания, нужного склада ума, необходимых навыков все еще можно попасть в IT через тестирование. Я не говорю о том, что инженером может стать каждый. Но это не исключает того момента, что инженером может стать бывший историк, врач и т.д. Все зависит от человека. И мы можем помочь таким людям.
              0
              Я бы не стал обольщать потенциальных тестировщиков. Сейчас войти на порядок сложнее, чем в 2006, когда начинал, например, я. Сейчас скорость смены стеков почти равна времени их освоения. Поэтому новичкам будет сложно угнаться если они приходят из других профессий, исключения возможны, конечно. Но собеседуя кандидатов с биологическим, филологическим и др образованием я замечаю, что им не хватает базы.
                0
                Я с вами согласен. У меня еще есть телеграм-канал где я тоже делюсь своими мыслями по поводу тестирования и входа в профессию — t.me/testerinlife (правда сейчас не так часто получается что-то писать, поэтому есть еще и чат где мы стараемся помогать друг другу). И там и в этой статье, я не пытаюсь продвигать мысль о том, что тестирование и IT это легко, нет, это сложно, но в тоже время очень интересно и сюда можно попасть. Я стараюсь вдохновить тех, кто хочет, но почему то не решается. Поэтому я и сделал упор на то, что начинающему необходимо сначала получить базу и не стоит хвататься за что-то сложное. Получив базу и поработав некоторое время тестировщик уже будет в потоке и сможет видеть куда ему двигаться дальше.
            0
            В компании, где работаю, только за время карантина наняли трех начинающих тестировщиков. Близко познакомился с одним из них и путь в точности такой, как описал автор: студент на инженерной специальности, с самостоятельным изучением курса по тестированию + работа на utest. Уже пишет автотесты. Еще один недавний случай: бригадир из компании по сборке и изготовлению металлоконструкций перешел в тестирование. Без законченного высшего образования и опыта в ИТ. В компаниях работающих на аутсорс и аутстаф, постоянная текучка линейного персонала и постоянный кадровый голод. Но, для начала карьеры это неплохое место.
            Все это в Москве, но и в провинции дела обстоят похоже, с поправкой на уровень зарплат. В нашей области одна из компаний открыла курсы по обучению тестировщиков, чтобы создать кадровый резерв. Слежу за вакансиями в областном центре, и они бывают — 2-3 раза в месяц. Все не так уж и плохо. Экономический спад до ИТ-индустрии пока не докатился, а когда докатится, то ударит меньше чем по остальным.
              0
              У меня за 4 месяца было 2 собеседования, оба раза галеры искали себе мидлов по цене джунов, что не стесняясь и сообщали) Не знаю, что у вас там в столице, в моем городе-миллионнике за весну было только 2 вакансии на junior, где всё равно требовался минимальный коммерческий опыт.
                0
                Сочувствую. Попробуйте расширить круг поиска. Сейчас на удаленую работу стали набирать охотнее. Может здесь что найдете: t.me/qa_jobs — там бывают вакансиии на удаленку
                  0
                  Я сижу во всех крупных каналах) вот конкретно в этом ни в одной вакансии не было в требованиях менее полугода коммерческого опыта. В линкдине тоже есть) 0 сообщений за всё время существования профиля.

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

          Самое читаемое