Вполне очевидно, что профессия ручного тестировщика всегда будет существовать, но каждый год она стает все менее популярной, уровень получаемой заработной платы остается на прежнем месте, а монотонные задачи уже порядком надоели.
Но если у вас есть стойкое желание «превратиться» в востребованного и квалифицированного автоматизатора, данная статья именно для вас.
Давайте разбираться с самого начала.
Что было раньше
Все то, что было раньше, было лучше. Около 15 лет назад профессия тестировщика только зарождалась на бескрайних просторах IT сообществ. К каждой продуктовой компании приходило понимание того, что тестирование это очень важная вещь, поэтому менеджеры по найму персонала искали подходящих специалистов.
Базовыми требованиями к профессии тестировщика обычно считаются навыки начинающего программиста, который не смог начать зарабатывать написанием кода, а также поверхностные познания из сферы тестирования ПО.
Со временем тестировщики поделились на специалистов по ручному тестированию и автоматизаторов. Автоматизаторы начинали работать с продуктами HP, изучали Selenium, разнообразные скриптовые языки. Ручные тесстировщики проводили ручное тестирование ПО, постепенно работали над созданием технической документации.
Прошло время, и ручные тестировщики воссоединились с автоматизаторами. Причем, в данных когортах, доминирующую позицию заняли именно автоматизаторы.
Как есть сейчас и как пополнить ряды автоматизаторов?
Знания для старта
[highlight dark=”no”]Теория тестирования должна отскакивать от зубов![/highlight] Это обязательное требование.
Нужно бегло разбираться в типах тестирования, уметь составлять я тестовую документацию, иметь познания и навыки в применении техник тест-дизайна на практике.
Также нужно понимать основы пирамиды тестирования. Ее необязательно знать в полной мере, но со временем она откроется полноценно.
Пару книжек по теории, несколько уроков на Youtube
Итак, базовый материал изучен, опыт в проведении ручного тестирования закреплен. Теперь постепенно, маленькими, но уверенными шагами можно двигаться в сторону автоматизации.
Существующие мифы:
- работать тестировщиком это очень легкая точка входа в IT;
- Автоматизаторы скоро перестанут пользоваться спросом. Это ведь программисты, которые имеют низкий уровень знаний;
- Мы тестировщики, а не программисты, мы не должны это знать или это необязательно.
Первые 2 высказывания очень часто можно найти на просторах Интернета. Третье постоянно говорится в живую, в каждой второй продуктовой компании.
[highlight dark=”no”]Если человек хочет стать профессиональным и востребованным автоматизатором, то соглашаться с этими мифами не стоит![/highlight]
Будет очень тяжело поначалу, но затем станет интересней.
Ваши технические познания должны быть на уровне программистов, а, в большинстве случаев, и лучше.
Подбор языка программирования для начала обучения
Не очень важно, какому из них вы отдадите предпочтение. Глобальные языки программирования, на сегодняшний день, очень сильно похожи друг на друга и за всю карьеру вы обязательно сможете выучить несколько схожих языков.
[highlight dark=”no”]Если вы запросто освоите основы одного языка, то без проблем сможете перейти на особенности второго.[/highlight]
Начинайте обучение с базовых концепций: виды данных, классы, используемые массивы, циклы, функции, ООП, взаимодействие со строками. После этого – переход к конкретному языку программирования.
На практически середину 2020 года можно прицениваться к таким языкам:
- JavaScript — отлично подходит под цели тестирования UI. Очень сильно развивается и совершенствуется в сфере тестирования. Сегодня практически больше половины доступных платформ на JS вытесняют скрипты на Selenium;
- Java — очень популярный язык программирования в странах СНГ. Предлагает массу профильных вакансий для автоматизаторов;
- Python — программный язык с самым простым «входом», очень легко изучается и читается.
Также стоит понимать, что изучение языка (полноценное изучение) — это долгий процесс, а значит, придется запастись терпением. В зависимости от особенностей синтаксиса обучение может занять от 4 месяцев до года.
Паттерны проектирования
Паттерны проектирования позволяют описать типичные виды решения часто встречающихся проблем при проектировании программ.
Конечно же, понимание основ Page Object это хорошо, но в современных реалиях этого недостаточно, ведь есть множество других шаблонов, которые могут сделать процесс разработки и тестирования более простым и понятным. Чем раньше человек решит этот актуальный вопрос, тем меньше проблем в будущем возникнет.
Если нет возможностей разобраться с этим вопросом, то можно заручиться помощью разработчиков, которые работают в вашей компании.
Рекомендуется также ознакомиться с материалом Head First. Паттерны проектирования (авторы — Фримен Эрик и Робсон Элизабет).
С какой ОС начать работать?
Ответ: не имеет значения. На сегодняшний день, это просто вопрос вашей привычки, применяйте то, на чем лично вам будет удобнее всего работать.
Для новичков лучше всего подойдет простая UNIX-подобная операционная система. Так как именно практический опыт взаимодействия с ней крайне популярен на рынке труда IT.
Фреймворки для тестирования
Фреймворк — определенная совокупность решений по одной архитектуре, структуре и типам объединения компонентов одной системы, которые могут использоваться для решения множества разнообразных задач.
Здесь мы уже осторожно подходим к тестированию.
Для каждого языка программирования есть свои фреймворки. Для JS это Puppeteer, Cypress и Nightwatch. Для Java – Selenide, а в Python используется Pytest.
Знакомьтесь с ними, как придет время. В Интернетие есть множества документации по работе с ними.
Наступит время, и вы самостоятельно будете развивать свой фреймворк, конечно же, перед этим закрепив знания по нескольким паттернам проектирования.
GIT и проверка
Придет время, и свой программный код придется где-то хранить. Для этого и придумали Git.
Процесс обучения этому инструменту можно выстроить по такому сценарию:
- Установить git;
- Обзавестись аккаунтом на github.com;
- Ознакомиться с предоставленной документацией;
- Открыть Youtube, найти соответствующие уроки и постараться поработать по их содержанию.
Для начального «входа» придется изучить базовые команды git: clone, add, commit, push, rebase, checkout. Это все можно изучить буквально за одну неделю. Главное постоянная практика и стремление.
Процесс проверки кода — это действенный инструмент для обмена записями, нахождения дефектов и простых ошибок, банальная проверка на «чистоту» написанного вами программного кода.
Первое время, в большей степени, будут проверять только вас, но со временем, вы сами сможете проверять работу остальных.
[highlight dark=”no”]Постарайтесь воспринимать эту проверку как действенную помощь и развитие своих навыков.[/highlight] Ошибки и некоторые опечатки есть и будут всегда.
С чем еще стоит ознакомиться?
CI/CD (непрерывная интеграция / непрерывное развертывание). Базовые цели CI/CD — снизить количество ошибок к минимуму, постараться ускорить работу, повысить качество проекта.
Docker — специальная платформа, которая изначально создана для процесса разработки, разворачивания и последующего запуска приложения в специальных контейнерах.
Нужно изучить HTTP — особый протокол обмена данными внутри сети. Может быть, без точных познаний HTTP вы и сможете создавать тесты, но проводить тестирование API не получится. Да и локализация бага будет выполнять быстрее, когда у вас будут подобные познания.
Xpath — язык запроса к объектам XML-документации.
SQL — простой компьютерный язык для процессов менеджмента реляционными базами данных и обработки информации. SQL всегда используется для запроса, вставки или редактирования информации.
Данный список можно продолжать большим количество полезного материала, но думаем, для начала этого будет достаточно, а затем человек самостоятельно может выбирать русло для своего последующего профессионального развития.
Где отыскать эти знания?
- YouTube;
- Тематические форумы в Интернете;
- Книги;
- Специализированные курсы по автоматизации тестирования;
- Курсы по программированию.
Мы целенаправленно разделили курсы автоматизации и курсы по программированию. Лучше начинать обучение с посещения курсов по программированию.
На вторых (по автоматизации) у вас уже будет некоторый базис самых популярных познаний и вам будет проще научиться автоматизировать.
[highlight dark=”no”]Желательно сначала заложить базу, а потом уже двигаться по направлению к автоматизации.[/highlight]
Нужно ли финансово экономить на обучении? Может просто изучить книгу или бесплатный курс? Нет! Если есть такая возможность, естественно.
Каждый профильный курс сопровождается подсказками со стороны наставников, это существенным образом продвигает обучение.
Есть масса разнообразных заданий, которые смогут повысить ваши профильные навыки.
Главное, с умом подходите к подбору преподавателей.
Краткий итог
Как писалось выше, процесс обучения никогда не будет простым и легким в своем понимании.
Для входа в такую профессию как автоматизатор, нужно потратить год с небольшим своего времени.
Есть много статей, как правильно выстроить процесс обучения, но можно отметить два базовых пункта:
- Пытайтесь правильно отдыхать и выполнять перерывы в обучении;
- Постоянно практикуйтесь. Ищите сайты, профильные проекты. Пишите на них тесты, проверяйте работу API. Храните персональный программный код на github, призывайте друзей или коллег по работе к проверке вашей работы.
Ну и просто удачи!
0 Comments