Что надо знать Automation QA Trainee (Java), чтобы устроиться на работу

Усі статті, обговорення, новини про тестування — в одному місці. Підписуйтеся на QA DOU!

Всем привет! Меня зовут Олег, и я Junior AQA Engineer в IT-компании AB Soft.

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

Какая база нужна для старта, чтобы начать обучение профессии

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

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

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

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

Что делать, если нет опыта

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

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

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

Есть два варианта прохождения курсов:

  • самостоятельно;
  • с ментором.

Я выбрал второй.

У курсов с ментором программа построена так, чтобы учащийся:

  1. Столкнулся с задачами как на реальных проектах.
  2. Получил возможность как можно быстрее освоить базу языка программирования.
  3. Получил свой первый опыт с различными инструментами автоматизации.
  4. Завел новые полезные знакомства.
  5. Получил опыт и знания от человека, который хорошо разбирается в своём деле и который сможет быстро откорректировать ваши ошибки и направить в правильное русло.

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

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

Обучающие курсы

JavaRush

Это онлайн-сервис для обучения программированию на Java с довольно интересной подачей материала. Обучение проходит в виде игры, где ваша задача — прокачать персонажа (робота Амиго), выполняя различные задания. В процессе выполнения задач вы зарабатываете черную материю, которую впоследствии тратите на открытие новых уровней. Задачи, кстати, самые разнообразные: от чтения кода и решения задач до исправления ошибок в коде.

JavaRush можно пройти только по подписке. Сейчас есть два тарифа: Premium (30$) и Premium Pro (50$) за месяц. Premium-подписка дает такие возможности:

  • доступ ко всем квестам;
  • бонусные задачи;
  • создание мини-проектов.

Подписка Premium Pro дает такие же возможности, как и Premium, но вдобавок вы получите:

  • проверку стиля кода (после решения задачи вы можете посмотреть, как бы её решил человек с опытом);
  • повторное решение задач (чтобы напомнить себе информацию какого-то модуля и снова попрактиковаться);
  • участие в онлайн-стажировке. Попробуйте выполнить тестовое задание на 35-м уровне, и, если справитесь, вас направят в группу к преподавателю на 3 месяца. Здесь в начале каждой недели вы будете получать видеозапись урока длиной 2–3 часа и, соответственно, домашку сроком на неделю.

Вашей целью будет пройти Java Syntex, Java Core и Java Collections, Java Multithreading — если хватит времени.

Java Syntex. Узнаете, что такое классы, объекты, методы и переменные. Изучите основные типы данных, массивы, условные операторы и циклы.

Java Core. Изучите основы ООП, познакомитесь с потоками, сериализацией, перегрузкой методов, узнаете много нового об интерфейсах и множественном наследовании.

Java Collections. Познакомитесь с паттернами проектирования, узнаете, как их применять, как работать с файлами, с JSON, JUnit и так далее.

Udemy

Это онлайн-сервис, который отличается тем, что в нем достаточно много курсов по большинству языков программирования и не только, например, дизайн/маркетинг/бизнес. Также радует цена за сам курс в размере 12$ по сравнению с JavaRush в 30$ за месяц!

От себя могу порекомендовать курс «Продвинутая Java» от Наиля Алишева. Его нужно проходить, когда уже знаешь основы, то есть, в нашем случае, после JavaRush. На этом курсе закрепите для себя и узнаете что-то новенькое о Java Collections, а также регулярных и лямбда-выражениях.

По автоматизации рекомендую: «Selenium и Selenide для начинающих Automation QA» от Сергея Семенова. Отлично построенный курс, на котором начнете знакомство с инструментами и технологиями автоматизации: Java, JUnit, Selenium WebDriver, Selenide, Git, Jenkins, Allure Report и тому подобное. Разберетесь с XPath-локаторами, CSS-селекторами для нахождения элементов на странице, изучите паттерны PageObject и PageFactory, рассмотрите, чем удобен Selenide в отличие от Selenium. А под финал у вас будет два проекта с отчетами в Allure. Их, кстати, Trainee-специалисту можно прикрепить в резюме.

QATestLab

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

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

Здесь вам расскажут, что такое баг, жизненный цикл бага, вы научитесь правильно оформлять отчеты, протестируете пару интересных Web-проектов (их я тоже прикреплял к резюме, чтобы продемонстрировать навыки). Узнаете про подходы/техники функционального тестирования, изучите жизненный цикл ПО, попрактикуетесь в написании своего первого тест-плана, познакомитесь с Jira (инструмент для управления Agile-проектами), изучите, что такое тест-кейс, ознакомитесь с его атрибутами и составите парочку. А также узнаете, как проходит тестирование мобильных приложений и игр.

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

Резюме. Как выглядело мое CV

Резюме — своеобразная визитная карточка, на которую сперва смотрят рекрутеры, а затем — команда, в которую идёт набор. Какой формат резюме выбрал для себя я?

  1. Мое резюме было на лист А4. Так как я прочел статьи и рекомендации в интернете и понял, что рекрутеры получают много запросов на вакансии и читать большое количество текста они точно не будут.
  2. Резюме было в формате PDF. Я понимал, что не каждая компания пользуется услугами Office365, поэтому воздержался от форматов .doc и .docx. Есть вариант, что рекрутер откроет ваше резюме через сторонний софт и оно поплывет в шрифтах, отступах и так далее. Если вы уже оформляете в Word, ничего страшного, есть отличные онлайн-источники, которые конвертируют в .pdf, достаточно просто загуглить «word to pdf».
  3. Оно было на английском.
  4. Название pdf-файла тоже на английском и в таком формате → CV_город_желаемая должность_имя и фамилия. Например, «CV_Odessa_Trainee-Junior_AQA_Oleh Donchenko».
  5. Креатив. Если вы целенаправленно подаете резюме в определенную компанию, то желательно придумать, как выделиться среди других кандидатов еще на этом этапе. Рекрутеры каждый день обрабатывают десятки резюме, и когда они видят, что кандидат уделил этому должное внимание, то отношение к такому соискателю будет другим. В какой именно форме подавать креатив — тут уже решение за вами, главное — не переборщить.

Что компании ожидают увидеть в резюме?

  1. Информация о вас. Имя, фамилия, желаемая должность, город, номер телефона, почта, ссылка на LinkedIn, чтобы связаться с вами, фото/желаемая зарплата (но не обязательно). Лайфхак по зарплатным ожиданиям: лучше их не указывать с самого начала, чтобы не попасть в такую ситуацию, когда вам могли бы предложить больше, чем вы указали.
  2. Опыт работы. Курсы, компания/организация, срок, краткое перечисление задач, стек технологий. Непрофильный опыт лучше кратко и в двух словах описать.
  3. Ключевые навыки. Тут можно написать, как о ваших интересах, так и личных качествах.

Какие самые частые ошибки совершают?

  1. Старайтесь избегать таких названий: «Резюме 3», «CV%C2%A0», «My resume» и так далее.
  2. Лучше не прикреплять фото с пляжа, селфи, в полный рост или плохого качества. Я постарался сделать фото с хорошим освещением и на белом фоне.
  3. В блоке с контактной информацией лучше не указывать лишнюю информацию, например, жилой адрес.
  4. И в блоке «hard skills» постараться указывать технологии, которые вы точно знаете, а не которые видели одним глазом в гугле.

Собеседование. Какие темы и какие вопросы готовить

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

Тестирование (Manual QA-часть)

По ручному тестированию могут спросить про defect life cycle, отличия между error/defect/bug/failure, что такое severity/priority, типы severity/priority, разницу между verification/validation, какие виды тестирования знаете.

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

По Web могут спросить что-то типа такого: «Что происходит, когда пользователь набирает в браузере адрес сайта?». Можно раскрыть, как браузер начинает искать сервер, как отправляет запрос к DNS-серверам, как попакетно устанавливается соединение с сервером, процесс обработки запросов и так далее.

Кроме того, могут спросить про коды состояний HTTP (Informational/Success/Redirection/Client Error/Server Error) и методы HTTP (GET/POST/PUT/DELETE).

Небольшой лайфхак, можно еще гуглить что-то такого плана: «Top 50 Manual Testing Interview Questions and Answers».

По Selenium я бы также советовал подготовиться. Примеры вопросов есть тут и тут.

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

Программирование

Тут уже посерьезнее и нужно будет готовить вопросы о типах данных, переменных, циклах, массивах, ООП, исключениях, коллекциях, строках, паттернах проектирования (Singleton/PageObject/PageFactory/Builder и прочее). Ознакомиться с примерными вопросами, в данном случае — Java, можно тут.

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

Как проходит процедура?

Обычно собеседования проходят в таком порядке:

  1. Интервью с рекрутером или HR.
  2. Тестовое задание.
  3. Техническое собеседование.

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

1. Интервью с рекрутером. На этом этапе обычно рекрутер знакомится с вашим резюме, и, если всё ок, с вами созваниваются для небольшого small talk, чтобы оценить, насколько компания подходит вам, а вы — компании. Могут спросить про ваш опыт с теми или иными технологиями, с какими бы хотели работать, зарплатные ожидания и так далее. Как правило, это легкие вопросы, но расслабляться сильно не стоит, так как на этом этапе технически подкованный рекрутер может провести легкое техническое собеседование, а также проверить ваш английский (обычно это 5–10 минут, которые проходят в виде монолога-рассказа «О себе»).

2. Тестовое задание. На этом этапе вам выдают тестовое задание. Это делается для того, чтобы проверить ваши hard skills и чтобы впоследствии не потратить время на людей, которые еще недостаточно подготовились и выучили только теорию.

Мое тестовое заключалось в том, чтобы написать автотесты для проверки того, что функциональность определенного продукта работает или не работает, используя следующий стек технологий: Java + TestNG + Gradle + Selenium + любой инструмент для формирования репорта на мой выбор. Я выбрал Allure. Также надо было добавить документацию по работе с проектом и загрузить в public репозиторий на GitHub.

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

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

Кроме технического собеседования, могут и затронуть soft skills часть, чтобы посмотреть, как вы будете работать в команде, другими словами, проверить командный вы игрок или нет. Кстати, оно может проводиться как Team Lead проектов, так и командой.

Какие самые частые ошибки может допустить кандидат?

  1. Когда кандидаты отвечают нечестно и неискренне, это чувствуется. Вы можете иногда приукрасить ситуацию, но ни в коем случае нельзя обманывать, если на самом деле вы с чем-то не работали или чего-то не знаете.
  2. Кандидаты зачастую не интересуются обратной связью после собеседования. Советую всегда просить обратную связь и не стесняться этого. Только так вы получите feedback и увидите со стороны свои минусы и пробелы в знаниях, а значит сможете их подкорректировать.
  3. После того как кандидаты получают оффер, многие не интересуются литературой и материалами, чтобы быстрее войти в профессию. И это серьезная ошибка. Ведь как сказала однажды мой Team Lead Виктория Мазяр: «Как правило, именно лучшие Trainee/Junior еще до первого дня выхода на работу спрашивают, что надо почитать и посмотреть, чтобы быстрее и лучше влиться в проект».

Итог

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

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

По Java:

По QA/AQA:

  • Software Testing Tutorial — сжатые туториалы на любую интересующую вас тему по QA.
  • Selenium Tutorial — крутая шпаргалка с примерами по Selenium.
  • «Учебник Selenium» — не менее крутой учебник по Selenium, очень много тем с примерами.
  • TestNG Tutorial — шпаргалка по TestNG с примерами.
  • Git Tutorial — шпаргалка по Git с примерами.
👍ПодобаєтьсяСподобалось18
До обраногоВ обраному19
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

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

Я дуже хепі завжди читати такі статті успіху входження в нову професію. Це завжди цікаво, мотивуюче і надихає читача.
Але автори завжди мають бути готові до коментарів абсолютно різного характеру. Як такі, які скажуть, що все круто, і такі, які вкажуть на помарки, чи скоригують напрямок думок і зроблять їх більш коректними.

Що в статті вважаю не дуже коректним.
«Там я и узнал пути развития QA-инженера и что можно стать автоматизатором сразу, если правильно подготовиться»

Інженер автоматизатор відділу тестування, чи відділу якості — це лише один з напрямків роботи в ІТ сфері.
Будь яку роботу в ІТ можна робити одразу і ставати можна ким завгодно одразу. Як розробником можна ставати одразу, бізнес аналітиком, так і автоматизатором в напрямку тестування.

«Тестирование (Manual QA-часть)
По ручному тестированию могут спросить про defect life cycle, отличия между error/defect/bug/failure, что такое severity/priority, типы severity/priority, разницу между verification/validation, какие виды тестирования знаете.»

Це називається в основному — знання теорії тестування та артефактів(або документації) в розробці. Це не manual qa часть. Все вищеперараховане має знати будь який інженер в розробці, чи то програміст, чи то інженер з тестування, чи то знову ж таки бізнес аналітик і тд.
Всі мають справу з багами, валідаціями, пріоритетністю. А також мають знати ази тестування.

А загалом успіху в роботі)

якось один пан, якого співбесідували на автомейшен ліда, сказав на питання по теорії — рєбята, я уже всьо єта забил і нє гатовілся патаму шо ано мнє нє нада)))

Стаття хороша!
Але додам кілька порад від себе:
— всі курси/книжки/статті/etc читати і дивитись на англійській, бо потім коли прийдеться гуглити щось(а спочатку цце дуже дуже часто), на російській інфи значно менше
— вчити, розуміти і притримуватись не стільки паттернів, скільки анти-паттернів (і code smells сюди ж), бо трейні це по суті стажер без досвіду роботи, тому йому важливо також зрозуміти, як НЕ треба робити
— познайомитись з SQL хоча б на рівні базових запитів

Також з мого досвіду інтерв’ю кандидатів, дуже часто приходять люди, які ніби добре розбираються в Selenium WD/Selenide, а мову програмування (в даному випадку Java) вже не дуже, бо «я ж автоматизатор, а не дев, тому головне з тулою розібратись». Це неправда, найголовніше — це мова програмування.

Всім успіхів!

Толково. Гарний приклад наполегливості

Получается для AQA JavaScript, Python и C# не вариант? Эх, снова чарты доу вводят в заблуждение..
Понимаю, что это Ваш личный опыт, но лучше четко указывать это в оглавлении статьи

Привет, спасибо большое, что заметили, сейчас укажем :)

Рекомендую резюме делать в Google Docs

Там же сразу можно его скачать в формате .pdf

Тоже как вариант. Пожалуй самый удобный и безболезненный. Можно спокойно брать на заметку :)

Підписатись на коментарі