Spoiler: никак.
Итак, вы решили стать программистом. Мы недавно создали группу помощи начинающим, а сейчас покажем вам, что потребуется для того, чтобы примкнуть к лиге тестировщиков на Python. Пост писался двумя человеками, поэтому, возможно, получился слегка сумбурным.
Для начала несколько общих вопросов про тестирование на Python:
Что делает тестировщик?
Тестирует программы. Его задача - отловить все возможные ошибки на каждом этапе жизни программного продукта.
Сколько получает тестировщик?
Обычно тестировщики получают слегка меньше программистов, зарплаты начинаются от тридцати тысяч и заканчиваются далеко за сотней. Зависит от вашего опыта (читай должности - Junior, Middle,Senior, Expert), уровня зарплаты в компании и в вашем городе).
А есть ли куда расти?
Тестировщики и разработчики тестов имеют возможности роста, ведь разработка тестов - это тоже разработка программного продукта, зачастую не менее сложного, чем сам продукт.
Можно идти в разных направлениях - в тест-менеджмент, развивать экспертизу и становиться высокооплачиваемым специалистом (хотя и не управленцем), можно перейти в чистую разработку.
Хочется заметить, что не стоит думать, что тестирование - это такой простой способ “войти в айти”:
“Вот я нихрена не умею, пойду в тестирование, хотя бы ручное, а там и дальше как-то пойдет.”
Не пойдет. Рынок труда переполнен людьми рассуждающими точно так же. К сожалению, такие люди не сильно востребованы на рынке. Когда на работу берут стажера или джуниора, ожидается, что его навыки значительно вырастут в обозримом будущем, и уже не придется тратить ресурсы на его обучение, наоборот, он должен будет приносить пользу компании. Причем это и в ваших интересах (как стажера) - становясь более опытным и ценным специалистом, вы можете претендовать на более высокую должность и оплату.
Итак, каков же путь тестировщика на Питоне.
1. Пройти базовый курс по python и полностью разобраться в каждой задаче. Мы предлагаем для начала бесплатный и общедоступный курс pythontutor.ru. Есть еще курсы с нуля:
https://stepik.org/course/67
https://www.sololearn.com/Course/Python/ (первые недели)
https://pythonworld.ru/kursy/free.html - большой обзор курсов
2. Пройти продвинутые курсы по python и программному обеспечению. Вот некоторые из них:
https://stepik.org/course/512 (продолжение первого курса)
https://www.sololearn.com/Course/Python/
3. Изучить технологии тестирования: юнит-тесты, функциональные тесты, регрессионное тестирование, интеграционное тестирование
https://stepik.org/course/16478 - теория тестирования.
https://stepik.org/course/575 - введение в автотетстирование.
4. Изучить инструменты тестирования: Selenium, Jenkins, Jmeter, SoapUI, Postman
и изучить сопутствующие технологии:
git - https://git-scm.com/book/ru/v2
Linux - https://stepik.org/course/73
docker - https://stepik.org/course/1612/syllabus (первый раздел)
sql - https://stepik.org/course/551
Необходимо понимать, что в разных компаниях могут быть различные технологии и инструменты тестирования в зависимости от того что именно тестируется. Вот короткое описание некоторых технологий.
Git - наиболее популярная система контроля версий, используется для хранения кода и отслеживания изменений в нём.
SQL - получение информации из баз данных, язык запросов.
Эти две технологии будут использоваться в большинстве мест. Вот ещё немного:
Linux - операционная система, на которой работают многие приложения, особенно, веб-сервисы.
Docker - технология создания и быстрого развертывания окружений для сервисов и приложений.
Selenium - автотестирование веб-страниц.
Jmeter - тестирование производительности веб-сервисов и проверка их работы под нагрузкой.
Postman - создание и отправка запросов к веб-сервисам.
Pytest - лучший (субъективно) фреймворк для тестирования на Python.
Pywinauto - библиотека Python для автоматизации тестирования десктопных приложений на Windows.
Allure - библиотека Python для удобных и красивых отчетов о результатах автотестов
тысячи их, гуглите и обрящете ;)
Крайне желательно изучить основные алгоритмы и структуры данных:
https://stepik.org/course/1547/promo
и дополнительные возможности питона:
https://stepik.org/course/2057/syllabus
ВАЖНО! Вы должны уметь постоянно учиться (при этом самостоятельно), быстро находить нужную информацию и разбираться в ней. В работе это требуется постоянно. Причем это происходит не только при смене работы. Регулярно появляются новые технологии и инструменты, использовав которые, можно повысить удобство и эффективность работы. Цитата к месту:
“Ну, а здесь, знаешь ли, приходится бежать со всех ног, чтобы только остаться на том же месте, а чтобы попасть в другое место, нужно бежать вдвое быстрее.” Алиса в Зазеркалье, Льюис Кэрролл
Готово! Теперь вы можете подаваться на вакансию стажёра-тестировщика (если повезёт, то стажировка будет оплачиваемой). Но учтите, если вы не студент (или не только что закончили вуз), то не на все стажировки вас возьмут (нередко берут только студентов). Однако, не стоит сдаваться - на собеседованиях часто стоит просить сделать тестовое задание, а дома напрячься, как следует разобраться и выполнить его как можно лучше. Даже если поначалу у вас может не получиться или работодателя не устроит результат, это даст вам опыт, который позволит далее справляться успешнее.
А теперь вопрос: сколько надо работать, чтобы стать программистом на Python?
Мой ответ таков: если у вас нет математического образования и нет предрасположенности к программированию, то работать придется очень много, очень часто и очень долго. А если у вас это есть, то все равно много и долго. Если у вас слабые нервы, я вам гарантирую, что у вас будут истерики. Приведу цитату о трудности изучения от автотестировщика на Python:
Это нормально, когда не получается ни с первого ни с десятого раза. Это нормально, постоянно гуглить, втуплять в документацию и дебажить снова и снова. Это нормально когда вроде это на курсе было легко, а потом тебя настигает ПРАКТИКА и начинается настоящее самообучение через страдания. Зато потом разбираешься как следует и понимаешь, что на самом деле после курса было лишь смутное представление.
Всё вышенаписанное совершенно серьёзно. Надо быть к этому морально готовым, чтобы не разочароваться. Куча народу покупается на красивую рекламу курсов, а потом бросает, потому что, оказывается, несмотря на то что все сказали что питон простой, мозги надо очень сильно напрягать.
Питон действительно более читаемый чем многие другие языки и его сравнительно легко освоить на начальном(!!) уровне. Однако сложные алгоритмы или сложные системы будет трудно писать на любом языке.
Как видите, вряд ли получится освоить python за 21 день и начать зарабатывать десятки тысяч долларов в месяц. Учиться будет очень трудно. Но поверьте, если у вас есть желание программировать и создавать, то все эти сложности преодолимы.
Будем рады увидеть ваши истории становления разработчиком на Python. Если у вас есть вопросы - вы можете задать их не только в комментариях, но и в группе (открытая, можно не вступать), один из авторов поста отсутствует на пикабу.
P. S. Все курсы бесплатны и доступны любым желающим, авторы поста денег за помощь не берут, ничего не рекламируют, платную помощь не предлагают. Но и телеграмм-канала у них нет. Даже чата нет - только группа вк.