Skip to content

Карта развития в автоматизированном тестировании

Notifications You must be signed in to change notification settings

alexzoo/qa-python-map

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 

Repository files navigation

Карта развития в автоматизированном тестировании Python

Содержание

Перед тем, как начать

Перед тем, как начать обучение автоматизированному тестированию на Python, ожидается, что вы уже знаете теорию тестирования (азы!). Если нет, то не стоит перепрыгивать ступень. Эта карта написана для студентов, которые только что прошли курсы по теории тестирования и хотят двигаться дальше. Здесь я собрал материал, исходя из своего опыта (у каждого он разный). У каждого материала проставлен вес, где 3*🚀 = пройти обязательно, а 🚀 - можно оставить на потом.

Ниже будут ссылки на курсы. Сразу скажу - я не сотрудничаю с данными площадками, но имел положительный опыт (на момент июля 2023 года).

По моим подсчетам, обучение займет 13-15 месяцев (да, тестирование это не легкий способ войти в IT). Но каждый человек уникален, так что вы можете потратить меньше или больше времени, это нормально!

И еще (очень важное!) - при обучении неизбежны спады/трудности. Держать темп обучения на длинную дистанцию трудно. Не надо паниковать, переживать, бросать учебу. Отдохните, займитесь любимым делом и на следующий день возвращайтесь. Удачи!

Можно ли стать мидлом, автоматизатором по курсам/книгам?

Ответ

🚀🚀🚀 Вход в программирование/разработку

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

Для себя я определил, что есть 3 варианта:

  1. Книги
  2. Youtube
  3. Курсы

Книги:

сайт

список книг

Youtube:

канал

Курсы:

hexlet (начальный уровень) бесплатно

hexlet (курс разработчика, не обязательно доходить до конца) платно, оплата помесячно

🚀🚀🚀 Вход в автотестирование

Youtube:

канал

Курсы:

яндекс практика (Курс «Тестирование веб-приложений на Python») платно

🚀🚀🚀 HTTP/HTTPS

После того, как веб тестирование и программирование будет освоено, плавно переходим на тестирование API. Начнем с протокола HTTP/HTTPS

habr видео

🚀🚀 Команды терминала Linux

Рано или поздно вы столкнетесь с работой в терминале

репозиторий

сайт c описанием команд

🚀🚀 Docker

Docker — это программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации.

50 вопросов по Docker, которые задают на собеседованиях, и ответы на них

описание docker и примеры использования

🚀🚀🚀 Git

Ваш код где-то надо хранить. Для этого есть git. Git — система управления версиями с распределенной архитектурой. Для начала достаточно будет выучить около 10 основных команд (остальному вас успешно научат на работе)

репозиторий

Git и GitHub Курс Для Новичков

🚀 SQL

Язык структурированных запросов (SQL) – это язык программирования для хранения и обработки информации в реляционной базе данных.

репозиторий

онлайн тренажеры

🚀🚀🚀 CI/CD

CI/CD (Continuous Integration, Continuous Delivery — непрерывная интеграция и доставка) — это технология автоматизации тестирования и доставки новых модулей разрабатываемого проекта заинтересованным сторонам (разработчикам, аналитикам, инженерам качества, конечным пользователям и др.).

описание

Зачем CI/CD тестировщикам?

GitLab CI для тестировщика

🚀🚀 Фреймворки тестирования

Основной фреймворк для тестирования в Python это pytest

Pytest имеет мощный функционал:

  • фикстуры
  • параметризация
  • хуки
  • плагины
  • параллелизация тестов
  • ...

Рекомендую освоить эту тему, после того, как пройдете основные темы

продвинутый pytest

Мастер-класс «PyTest на примере UI-тестов»

Pytest Plugins: Как расширить функционал тестового фреймворка через плагины

документация

🚀🚀 Selenium или Playwright

Для тестирования UI есть популярный Selenium и Playwright . Что из них выбрать? По моему мнению, если вы начинаете новый проект, то предпочтительнее будет Playwright.

🚀🚀 Отчеты в тестировании

Отчеты тестирования необходимы будут вам, разработчикам и менеджерам. Например, в отчет можно добавить скриншот, если UI тест упал или логи для API тестов.

самый простой отчет

Allure

Allure, pytest, gitlab CI

Еще есть отчеты об покрытии кода ,покрытия API тестов 1 и 2

🚀🚀 TMS

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

TestRail

Qase

Allure TestOps

🚀🚀 Нагрузочное тестирование

Нагрузочное тестирование это отдельная дисциплина. Но лучше провести хотя бы какое-то нагрузочное перед релизом, чем без него. Можете узнать много интересного о своем приложении. В python применяется locust.

Locust

пример

🚀🚀 Типизация в Python

Типизация в языках программирования. У Python динамическая/сильная типизация. Что это значит ?

Вот так сделать нельзя

a = 1 //int
b = '1' //str
print(a + b)

а вот так сделать можно

a = 1
b = '1'
b = 1
print(a + b)

Вопрос, является ли это хорошо/плохо является открытым. Для того, что бы добавить в Python типы (с оговорками) используем type hint

Пример с типизацией

🚀🚀 Полезные библиотеки для тестирования

Какие библиотеки помогут нам при тестировании

HTTP библиотека для Python

Mypy - это статическая проверка типов для Python

Faker - это пакет Python, который генерирует файковые данные

Schema Validation

Webdriver Manager

Проверка данных и управление настройками с помощью аннотаций типа Python

pre commit hook

poetry - аналог pip

Black - форматирование кода

🚀 HTML/CSS/React

HTML — стандартизированный язык гипертекстовой разметки документов для просмотра веб-страниц в браузере.

CSS — формальный язык описания внешнего вида документа, написанного с использованием языка разметки.

React

Будет полезно изучить, как работает современный веб. И даже написать свое небольшое приложение, например, на React.

🚀 Django/Flask/FastApi

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

Django

Flask

FastApi

🚀🚀 Список книг

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

Список от hexlet

🚀🚀 Как составить резюме?

Пример

🚀🚀 Собеседования

Статья

🚀🚀🚀 Как правильно оформить свой репозиторий ?

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

Профиль в github

Пример репозитория

🚀🚀🚀 Ссылки

QA в телеграме

Нагрузочное тестирование в телеграме

About

Карта развития в автоматизированном тестировании

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published