КУРС ДЛЯ ПРОДВИНУТЫХ ИНЖЕНЕРОВ ПО АВТОМАТИЗАЦИИ ТЕСТИРОВАНИЯ НА PYTHON —
PYTHON ADVANCED

Стэк:
Python 3.12, FastAPI, gRPC, GraphQL, SOAP API, продвинутые практики Selenium и REST API, Kafka, Microservices, Docker, Postgres, React
КАК МЫ УЧИМ?
Много практики
01
Мы делаем акцент на практических заданиях, тестировании реальных продуктов и разработке проектов. Это поможет вам быстро закрепить и усовершенствовать свои навыки, а к концу обучения у вас будет готовый GitHub.
Гостевые преподаватели
02
Дополнительные занятия с приглашенными спикерам.
Отзывчивое сообщество и поддержка
03
Поддержка школы ответит на все ваши вопросы. Во время обучения вы можете запросить персональную консультацию или задать любой интересующий вас вопрос в чате курса. По желанию студента мы также проводим дополнительные разборы домашних заданий.
Собственная инфраструктура
04
В школе доступны функциональные инструменты для обучения:
  • Jenkins – для практических занятий.
  • Учебные доступы к Allure TestOps – для анализа результатов тестирования.
  • Учебный аккаунт в Jira.
  • Сервис для оформления и обновления CV.
НАШИ ПРЕПОДАВАТЕЛИ
популярных в автоматизации инструментов и библиотек, которые используют тестировщики по всему миру.
Занятия ведут авторы
Qameta Software
Артём Ерошенко
Более 14 лет занимается автоматизацией тестирования околопоисковых сервисов в "Яндекс". С 2011 года разработчик Allure Reports и Allure TestOps.
Основатель QA.GURU
Станислав Васенков
Более 9 лет опыта в автоматизации тестирования. Основатель сообщества в Telegram @qa_automation, организатор конференции qa.cyprusitforum.com.
Dodo Brand
Дмитрий Тучс
В IT более 12 лет. Начинал в аналитике, управлял проектами, в настоящее время занимается менторством, пишет и автоматизирует на Java. Head of QA at Dodo Brands.
QA Lead
Сергей Хомутинин
6 лет опыта SDET от крупного энтерпрайза до миниатюрных стартапов. Контрибьютор опенсорсных проектов, связанных с тестированием на Python, Java, TypeScript.
Dodo Engineering
Владислав Зингер
Занимается автоматизацией с 2015 года. Начинал в IT .Net (С#) разработчиком. Сейчас QA automation инженер и mobile SRE в Dodo Brands.
QA Lead
Александр Котляр
В тестировании с 2015 года, 3 года автоматизировал на Java, с 2018 года автоматизирует на Python. Контрибьютор Selene, webdriver-manager. Автор gitlab-allure-history, local-allure-history-trends-bash, pytest-rocketchat.
ПРОГРАММА КУРСА
Дата и время начала обучения:
четверг 18 июля 20:00 по МСК
Выпускной!
Вводный урок "Intro to QA.GURU Python Advanced"
  • В ходе обучения мы будем учиться разрабатывать микросервисы на Python - Python 3.8, FastAPI, Docker, Postgres.
  • Будем тестировать полностью самописное приложение в стеке (Java 17, Spring Boot 3, Spring Security 6, Spring Data, OAuth2, gRPC, GraphQL, Microservices, Docker, Postgres, React).
  • Вы будете не просто понимать, как написать автотест на REST / SOAP / GraphQL / GRPC, а разберетесь, как это работает под капотом.
  • Узнаете, как сделать запрос в БД из теста и зачем это вообще может быть нужно в микросервисной архитектуре.
3. Автоматизация на проекте «с нуля» — строим минимальный фреймворк
  1. Для чего стоит и не стоит писать свой фреймворк.
  2. Решаемые задачи.
  3. Как не писать фреймворк.
  4. Если пишете – о чем думать.
6. Параллелизация тестов в pytest: как не выстрелить себе в ногу
  1. Краткая теория concurrency.
  2. Пишем безопасный в многопоточной среде код тестов.
  3. Особенности работы с pytest fixtures при многопоточном выполнении тестов.
2. Расширение функциональности Pytest: пишем свои фикстуры и управляем запуском теста
  1. Жизненный цикл теста.
  2. Фикстура для работы с WebDriver.
7. Кастомизация фреймворков – расширяем Allure, Selenium
  1. Кастомные шаблоны.
  2. Allure lifecycle.
  3. Кастомные Conditions.
  4. Нестатический код через Selenium.
4. Работаем с реляционными базами данных из тестов: Psycopg2
  1. Psycopg2 краткая теория.
  2. Пишем код на Psycopg2.
  3. Транзакции в Psycopg2.
8. Реализуем OAuth авторизацию с помощью кастомизации requests
  1. Краткая теория OAuth авторизации.
  2. Пишем свои HTTP interceptors.
  3. Реализуем авторизацию через pytest fixtures.
1. Знакомство с проектом и введение в Pytest Fixtures
  1. Обзор проекта.
  2. Необходимые предусловия для работы с проектом.
  3. Запуск локально: настройка в PyCharm.
  4. Необходимые предусловия для запуска проекта в Docker, отличия для Windows и Linux. Запуск проекта в Docker.
  5. Введение в pytest Fixtures: функции, классы.
  6. Разбор теста, написанного на вводном занятии, с разнесением фикстур по разным файлам.
5. Работаем с реляционными базами данных из тестов: SQLAlchemy
  1. SQLAlchemy краткая теория.
  2. Пишем код на SQLAlchemy.
  3. Применимость DAO и Repository.
9. Создаем веб-сервис на Python
  1. FastAPI (context, DI, сервисы).
  2. FastAPI REST framework (REST сервис).
  3. SQLAlchemy (работа с базой).
10. Unit-тесты — пишем тестируемый код и тесты для него
  1. О Unit-тестах.
  2. Пишем небольшое приложение.
  3. Пишем unit-тесты для него.
11. Тестируем gRPC сервисы с помощью нативных библиотек
  1. Теория и применимость.
  2. gRPC в FastAPI.
  3. Тесты на gRPC.
  4. Интеграция с Allure.
12. Продвинутые техники автоматизации REST-API
  1. Продвинутые автотесты для REST API с библиотекой requests
13. Расширяем тестовое покрытие — применяем pytest fixtures для построения полноценного фреймворка
  1. Пишем веб и API тесты с созданием всех тестовых данных через pytest fixtures.
14. Установочное занятие по диплому
  1. Презентация дипломного проекта и постановка задачи.
15. Тестирование микросервисов в docker-compose
  1. Поднимаем микросервисы через docker-compose.
  2. Тестирование микросервисов: теория и практика.
  3. Selenoid & Selenoid UI.
16. Wiremock в тестах
  1. Используем in-memory Wiremock прямо в тестах.
  2. Используем HTTP и gRPC Wiremock в docker-compose.
17. Тестируем GraphQL сервисы с помощью requests
  1. Теория и применимость.
  2. GraphQL в FastAPI.
  3. Тестирование GraphQL – requests.
18. Тестируем SOAP сервисы с помощью requests
  1. Теория и применимость.
  2. SOAP в FastAPI.
  3. Тестирование SOAP – requests.
  4. Интеграция с Allure.
  5. lxml.
19. Apache Kafka - тестируем асинхронные микросервисы
  1. Apache Kafka — теория и применимость.
  2. Kafka в проекте на FastAPI.
  3. Пишем свой Consumer и pytest fixture для его использования в тестах.
20. CI/CD в GitHub Actions
  1. Рассматриваем вопросы сборки проекта и деплоя на прод с использованием GitHub Actions.
22. Нативное тестирование iOS – Swift + XCTest. Часть 1
  1. Сравнение XCUITest с другими фреймворками – плюсы и минусы.
  2. Среда разработки Xcode.
  3. Полезные вспомогательные приложения.
  4. Подпись приложений и модели распространения iOS приложений.
  5. Схема и таргет.
  6. Основы программирования на Swift.
  7. Swift Playground.
  8. Переменные. Базовые операторы. Методы. Классы и структуры.
  9. Фреймворки XCTest и XCUITest.
  10. Локаторы и типы локаторов. Как искать локаторы. Взаимодействие с локаторами.
  11. Тест отчеты – XCResult.
  12. Q&A + полезные ссылки.
25. Конференции – готовим доклад и себя к выступлению
  1. Как попасть на конференцию спикером.
  2. Как готовиться.
  3. Презентация – хорошая и плохая.
  4. Дискуссия до и после доклада.
  5. Ради чего? Плюсы и минусы.
Q&A по дипломному проекту
Отвечаем на вопросы, возникшие при работе над дипломным проектом.
21. Нативное тестирование Android – Kaspresso
  1. Обзор Kaspresso
  2. Написание тестов с Kaspresso
23. Нативное тестирование iOS – Swift + XCTest. Часть 2
  1. Менеджеры зависимостей – SPM, cocoapods и carthage.
  2. Паттерны автотестов – Page Factory и Page Object.
  3. Мокирование сети в тестах.
  4. Интеграция с Allure.
  5. Интеграция с CI/CD.
  6. Fastlane.
  7. Интеграция со Slack.
  8. GitHub Actions + iOS.
  9. Сторонние нативные фреймворки iOS автоматизации.
  10. Q&A + полезные ссылки.
24. Нативное тестирование iOS. XCTest. Часть 3
  1. Ассерты и ожидания.
  2. Взаимодействие со системными диалогами.
  3. XCTContext – делаем тест отчет информативным.
  4. Выгрузка отчетов в testops после прогона в Xcode.
  5. Кастомные аннотации для отчета.
КОМУ ПОДОЙДЕТ НАШ КУРС
Для QA Automation Engineer с опытом от 1-го года работы
От вас потребуется знание Python, Docker, реляционных баз данных и SQL.
Для тех, кто хочет получить углублённые знания в рамках автоматизации на Python
Настроите кастомные шаблоны для тестов и отчетности и создадите собственные, научитесь параллелизации и нативному тестированию Android и iOS (нужен macOS).
Повысить квалификацию, попасть в комьюнити
Освоите актуальный стек, подтянете и систематизируете знания, присоединитесь к экспертному сообществу и получите поддержку даже за пределами программы курса.
01
02
03
59 000 ₽
  • Занятия в прямом эфире с возможностью задать вопросы преподавателям, часть занятий – в записи.
  • Занятия будут записаны и выложены с тайм-кодами, к занятиям прилагаются полезные ссылки и домашние задания с проверкой и обратной связью.
  • Чат со студентами и преподавателями потока.
  • Консультации наставников и преподавателей при необходимости.
  • Участие в живых разборах ДЗ.
  • Сертификат участника с пометкой о выполненном дипломе по окончании курса (при успешной сдаче дипломного проекта).
  • Сертификат участника по окончании курса (при неуспешной сдаче дипломного проекта).
О КУРСЕ
Доступна рассрочка
от 4 950 руб/мес.
-15%
49 500 ₽
Курс предназначен для QA Automation инженеров с опытом работы от 1 года, с неплохими знаниями Python Core и базовыми знаниями Docker и SQL. Тем, кто стремится систематизировать свои знания и углубиться в автоматизацию на Python.

Обучение длится 3 месяца, c живыми лекциями, консультациями по пройденному материалу (сразу записывай вопросы!) и домашками с проверкой от менторов.