Как стать QA Automation? Пошаговая инструкция

В сети немало статей на данную тематику, но, как мне кажется, это не самая плохая тема для первого поста. Не ставлю задачу взвешивать все за и против различных языков программирования и фреймворков для автотестов. Личный опыт, не более.
Этот текст посвящен ручным тестировщикам, которые задумались о переходе в автоматизацию, но не знают, с чего начать. Не во всех компаниях отлажен процесс перехода в автоматизацию, и не любой инструмент может вам подойти. Как и не каждый онлайн-курс поможет освоить тему, а не отобьет все желание развиваться в этой сфере.
Здесь будут ссылки на Stepik.org и это не реклама. Просто так сложилось, что именно там я наткнулся на курсы, которые дали старт моему переходу в автоматизацию.
Итак, поехали:
1. Сначала начинаем учить Python. Проходим этот курс до главы 3.2 включительно, дальше по желанию. Не получается решить какие-то задачи курса? Пофиг, двигаемся дальше. Задачи абстрактны, а с абстрактным мышлением не у всех хорошо. У меня, например, плохо. Как автотестировщик, вы будете решать прикладные задачи. Любой популярный язык многогранен и заточен под различные задачи, не стоит пытаться объять необъятное, особенно на первом этапе.
2. Переходим к изучению Selenium с этим курсом. Именно из-за данного курса на первом шаге был выбран Python, а не из-за “френдли” синтаксиса, кажущейся простоты и популярности. По факту, это просто вкусовщина. Все ООП языки плюс/минус похожи, как и базовая логика различных фреймворков для автоматизации. По окончанию курса вы уже будете способны писать терпимые автотесты для веб-сайтов и повысите свою привлекательность на рынке.
3. Расширяем знания в Selenium с данным курсом. В отличие от предыдущих, за него нужно будет заплатить символическую сумму.
4. Автоматизация Web UI — вещь важная и полезная. Но если ваш проект не просто сайт, а вполне себе WebApp, то вам придется взаимодействовать напрямую с API. Авторизовываться через cookies, готовить окружение, чистить мусор после автотестов. Тут еще пригодится умение работать с базами данных, но API вещь в принципе незаменимая. Тут вам поможет курс того же автора.
Пройдя все шаги, вы уже будете неплохо ориентироваться в Selenium, иметь достаточный минимум с Python, PyTest, Git, Allure и научитесь собирать логи. А такие вещи, как CI/CD, Docker и прочее, эффективнее изучать непосредственно на проекте, и тут вам смогут помочь коллеги.
Естественно, никто не отменял Google и GPT. Когда начнете работать над своим первым проектом по автоматизации, вам волей-неволей придется открыть для себя много нового, что не описано в рамках вышеуказанных курсов. Вы прокачаете и знание языка и владение сопутствующими пакетами. Начнете смотреть по сторонам в поисках новых скиллов для изучения и применения. Тем более, освоив один язык программирования, легче вкатиться в другой. Так же и с новыми фреймворками.
И тут я могу посоветовать обратить внимание на более современные фреймворки, а именно Cypress и Playwright. Не стану рассуждать о плюсах и минусах, это можно погуглить или сразу проверить в работе. Опять же, все сильно зависит от задач проекта, над которыми вы работаете.
Что касается Cypress, то тут вам придется отойти от привычного Python и выбрать между JS и TypeScript, но не стоит этого бояться. У Cypress лучшая документация, которую я когда-либо видел, к тому же есть свои бесплатные курсы. Также, фреймворк сам по себе прекрасно взаимодействует с API, и если у вас уже был опыт создания скриптов в Postman, работа с Cypress не составит большого труда.
Playwright позволяет писать тесты, в том числе на уже привычном Python+PyTest. Советую ознакомиться с документацией и этим курсом. Из трех опробованных мной фреймворков, этот мне кажется лучшим.
На этом все! Надеюсь, мой опыт кому-то поможет с максимальным комфортом перейти в автоматизацию без покупки дорогостоящих курсов и бессмысленной траты времени.