Проходил 18 марта в 20:00

День открытых дверей
Всё о курсе «Автоматизация веб-тестирования»

День открытых дверей онлайн

День Открытых Дверей — отличная возможность узнать подробнее о программе курса, особенностях онлайн-формата, навыках, компетенциях и перспективах, которые ждут выпускников после обучения. Также преподаватель расскажет о своём профессиональном опыте и ответит на вопросы участников. Поэтому если есть вопрос, запишитесь на онлайн-трансляцию и задайте его в прямом эфире!
Преподаватель
Михаил Самойлов

Запись

О курсе

Python QA Engineer
1 ₽
Начало в июле
Курс позволит узнать, как решаются задачи автоматизации тестирования на реальных проектах с использованием языка Python. На первый план мы ставим понимание принципов построения и решения задач, а не изучение конкретного инструмента. Освоив данный курс, вы получите навыки решения основных задач в области автоматизации тестирования веб-приложений. Это комплексная программа подготовки автоматизатора в тестировании, где вы научитесь уверенно решать задачи в тестировании ...
Программа курса
Модуль 1
Введение в автоматизацию тестирования
Модуль 2
Тестирование UI
Модуль 3
Отчётность и анализ логов
Модуль 4
Работа с бэкендом
Модуль 5
Практики DevOps и безопасность
Модуль 6
Другие виды тестирования
Введение в автоматизацию тестирования
В данном модуле будут рассмотрены теоретические аспекты автоматизации тестирования, базовый фреймворк для запуска автотестов в Python — Pytest, плюс студенты узнают, как тестировать API и использовать подход Data Driven Testing в своей работе.
Введение в разработку и тестирование
Изучить виды, цели, инструменты и инфраструктуру для автоматизированного тестирования.
Домашние задания: 3
ДЗ
Подготовка рабочего окружения. Подготовка рабочего окружения для разработки автоматических тестов.
ДЗ
Пирамида автоматического тестирования (Опционально). Описать пирамиду автоматического тестирования своего текущего проекта.
ДЗ
Запуск тестов с помощью Pytest.. Создание и запуск тестов с помощью Pytest.
Введение в Pytest
Познакомить студентов с фреймворком для запуска тестов Pytest.
Тестирование API
Научиться тестировать REST API-сервисы.
Домашние задания: 1
ДЗ
Параметризованное тестирование REST API.. Тестирование REST API сервиса с помощью Python используя библиотеки pytest, requests, json.
Data Driven Testing
Изучить подходы Data Driven Testing. Научиться выбирать правильный формат представления данных.
Тестирование UI
В данном модуле будет изучен основной инструмент для тестирования UI — Selenium.
Основы Selenium
Изучить минимальный набор знаний и навыков для работы с Selenium.
Домашние задания: 2
ДЗ
Настройка окружения. 1. Установить OpenCart по инструкции
2. Настроить selenium для запуска тестов
ДЗ
Первый тест. 1. Написать фикстуру для запуска трех разных браузеров (ie, firefox, chrome) в полноэкранном режиме с опцией headless. Выбор браузера должен осуществляться путем передачи аргумента командной строки pytest. По завершению работы тестов должно осуществляться закрытие браузера.
2. Добавить опцию командной строки, которая указывает базовый URL opencart.
3. Написать тест, который открывает основную страницу opencart (http://<ip_or_fqdn>/opencart/) и проверяет, что мы находимся именно на странице приложения opencart.
Поиск элементов
Научить искать элементы с помощью Selenium. Познакомиться с базовыми алгоритмами поиска элемента в массиве.
Домашние задания: 1
ДЗ
Поиск элементов на странице.. Найти элементы на странице используя различные виды локаторов.
Работа с элементами
Научиться работать с элементами. Изучение основ ООП в Python.
Домашние задания: 1
ДЗ
Работа с элементами.. Работа с текстом и другими атрибутами элемента веб страницы.
Действия с элементами
Научиться работать с объектом WebElement и изучить основы ООП в Python.
Ожидание элементов
Научиться работать с ожиданиями элементов. Изучить работую с исключениями в Python.
Домашние задания: 1
ДЗ
Ожидание элементов.. Нажатие кнопок, заполнение и очистка текстовых полей.
Шаблон проектирования PageObject
Изучение паттерна PageObject.
Домашние задания: 1
ДЗ
PageObject.. Пишем тесты в паттерне PageObject.
Работа с окнами
Научиться работать с окнами.
Домашние задания: 3
ДЗ
Написать тест создания товара с добавлением картинок. Добавить 3 картинки к товару
ДЗ
Тест с добавлением нового пункта меню и перетаскиванием этого пункта меню наверх.
ДЗ
Добавить файл для скачивания (в админ панели кнопка добавить - в выпадающем списке пункт "Загрузку". /admin/index.php?route=catalog/download/add&token=oESV9zO9k5pKb3vpYTJlFt1OtrJqfGxY
Протоколирование и отчетность
Научиться логировать действия Selenium.
Домашние задания: 1
ДЗ
Протоколирование. Настроить протоколирование проекта
Удаленный запуск Selenium
Научиться запускать Selenium удаленно.
Домашние задания: 2
ДЗ
Постройте небольшой грид. Установите виртуальную машину, внутри которой работает Windows/Linux, и создайте грид, который состоит из диспетчера, работающего на вашей основной машине, и двух узлов -- один тоже на основной машине, а другой внутри виртуальной машины.

Настройте узлы так, чтобы в виртуальной машине был доступен браузер Firefox/Chrome, а на основной машине, наоборот, он был недоступен.

Попробуйте запустить какие-нибудь тесты удалённо на этом гриде, указывая разные браузеры, и убедитесь, что Firefox/Chrome, действительно запускается внутри виртуальной машины, а другие браузеры, наоборот, на вашей основной машине.

Можно использовать любую систему виртуализации, но если у вас нет предпочтений -- берите https://www.virtualbox.org/

Готовые образы Windows для разных систем виртуализации можно найти здесь: https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/
ДЗ
Научитесь использовать облачный грид. Запустить несколько тестов в каком-нибудь облачном сервисе на выбор:

https://www.browserstack.com/
https://www.gridlastic.com/
https://saucelabs.com/
https://testingbot.com/

Отчётность и анализ логов
В этом модуле студенты изучат такие важные аспекты процесса работы автоматизатора в тестировании, как построение отчётов по результатам выполнения тестов, анализ логов веб-приложений, а так же научатся искать неисправности в работе бекенда.
Pytest-отчёты
Научиться генерировать Pytest-отчёты.
Домашние задания: 1
ДЗ
Кастомизированные отчеты pytest..
Allure-отчёты
Изучить Allure для генерации отчётов.
20 мая, 20:00 — 21:30
Лектор: Михаил Самойлов
Домашние задания: 1
ДЗ
Отчеты Allure. Поддержка отчетов Allure.
Анализ логов веб-серверов
Научить студентов разбираться в логах веб серверов.
22 мая, 20:00 — 21:30
Лектор: Семён Вяземский
Домашние задания: 1
ДЗ
Анализ логов веб-сервера. Анализ логов веб-сервера, который поможет понять причины проблемы.
Траблшутинг в Linux. Файловая подсистема и работа процессов
Научить студентов диагностировать проблемы в работе файловой подсистемы и работы процессов.
27 мая, 20:00 — 21:30
Лектор: Михаил Самойлов
Траблшутинг в Linux. Диагностика сетевых неисправностей
Студенты научатся диагностировать проблемы на уровне сети.
5 июня, 20:00 — 21:30
Лектор: Михаил Самойлов
Траблшутинг в Linux. Архитектура ОС Linux. Дебаг.
Научить студентов использованию инструментам дебага. Изучить архитектуру Linux.
10 июня, 20:00 — 21:30
Лектор: Михаил Самойлов
Работа с бэкендом
В данном модуле студенты научатся работать с бекендом средствами Python.
Работа с СУБД
Научить студентов работать из Python с СУБД.
17 июня, 20:00 — 21:30
Лектор: Семён Вяземский
Домашние задания: 1
ДЗ
Работа с СУБД.. Тестирование работы СУБД на примере работы с PostgreSQL с помощью библиотеки psycopg2.
Работа с сетью I. Протоколы прикладного уровня
Научить студентов работать с сетевыми протоколами прикладного уровня.
19 июня, 20:00 — 21:30
Лектор: Михаил Самойлов
Домашние задания: 2
ДЗ
Работа с сетью. Протоколы прикладкого уровня.*. Пишем код, который будет осуществлять подключения по SSH и работать с FTP.
ДЗ
Тесты бэкенд с использованием SSH клиента. Добавить тесты, которые используют SSH клиент для реализации следующих сценариев: перезагрузка сервера opencart с последующей проверкой, что opencart доступен, рестарт основных сервисов для opencart с последующей проверкой, что сервис доступен.
Работа с сетью II. Протоколы низкого уровня
Научить работать с сетевыми протоколами низкого уровня, углубить знания в области работы сетей и веб-приложений.
24 июня, 20:00 — 21:30
Лектор: Михаил Самойлов
Домашние задания: 2
ДЗ
Работа с сетью. Протоколы низкого уровня.. Пишем собственный HTTP клиент с использованием библиотеки socket.
ДЗ
Парсинг html страницы средствами python.*. Необходимо расширить предыдущее домашнее задание по парсингу заголовков HTTP функциональностью парсинга тела ответа.
Работа с ОС Linux с помощью Python
Студенты научатся работать с операционной системой Linux средствами Python.
26 июня, 20:00 — 21:30
Лектор: Михаил Самойлов
Домашние задания: 1
ДЗ
Работа с ОС Linux с помощью Python.. Тесты, которые работают с сетевой, файловой и системой управления процессами Linux.
Практики DevOps и безопасность
В данном модуле студенты узнают, как взаимодействуют друг с другом основные практики и инструменты DevOps с инструментами для автоматизации тестирования, а также изучат основные аспекты безопасности веб-приложений.
Виртуализация. Контейнеры
Изучить основные виды виртуализации.
1 июля, 20:00 — 21:30
Лектор: Семён Вяземский
Домашние задания: 1
ДЗ
Работа с Docker контейнерами.. Создаем свой контейнер, в который помещаем код тестового репозитория
Виртуализация. Виртуальные машины
Изучить основы виртуализации и узнать как реализованы докер контейнеры изнутри.
3 июля, 20:00 — 21:30
Лектор: Михаил Самойлов
Непрерывная интеграция
Изучение основ непрерывной интеграции в контексте тестирования.
8 июля, 20:00 — 21:30
Лектор: Михаил Самойлов
Домашние задания: 3
ДЗ
Настройка стилистического анализа в Jenkins. Настраиваем Jenkins на запуск стилистических анализаторов на проверку кода тестового фреймворка по каждому коммиту.
ДЗ
Установка Jenkins. Установить Jenkins на виртуальную машину Ubuntu или в докер контейнер.
ДЗ
Запуск тестов с помощью Jenkins.. Создать в дженкинсе пайплайн, который:
1. Разворачивает докер контейнер с последним кодом тестов
2. Запускает тесты
3. Сохраняет отчет о тестах в артифакт джобы
Подготовка тестового окружения
Изучение основ сборки пакетов.
Изучить основные практики подготовки тестового окружения.
10 июля, 20:00 — 21:30
Лектор: Михаил Самойлов
Домашние задания: 1
ДЗ
Сборка wheel тестового фреймворка. Добавить setup.py для тестового фреймворка.
Основы безопасности веб-приложений
Изучение основ безопасности веб-приложений для проведения тестирования безопасности.
15 июля, 20:00 — 21:30
Лектор: Михаил Самойлов
Другие виды тестирования
Основы Behaviour Drivet Testing. Введение в Robot Framework
Изучение основ BDT и знакомство с Robot Framework.
17 июля, 20:00 — 21:30
Лектор: Семён Вяземский
Домашние задания: 1
ДЗ
BDT. Robot Framework.. Пишем тесты на Robot Framework.
Расширенное использование Robot Framework
Закрепление навыков работы с Robot Framework.
22 июля, 20:00 — 21:30
Лектор: Семён Вяземский
Модульное тестирование.
Научить писать студентов модульные тесты.
24 июля, 20:00 — 21:30
Лектор: Михаил Самойлов
Домашние задания: 1
ДЗ
Модульное тестирование. Mock Objects.. Пишем модульные тесты в стиле xunit используя MockObjects.
Использование Mock
Изучение подхода Mock в тестировании.
29 июля, 20:00 — 21:30
Лектор: Михаил Самойлов

Преподаватель

Михаил Самойлов
Ведущий автоматизатор в тестировании в Group-IB
В области информационных технологий около 10 лет. Начинал сетевым инженером и с проектов в области сетевой безопасности, работал в таких компаниях, как Orange Business Services, ИнфоТеКС, РТКОММ, «Ростелеком».

В 2014 году начал работать в компании «Мирантис» в области автоматизации тестирования. В «Мирантисе» был в команде Fuel, в которой занимался написанием API, CLI и системных автотестов на Python.

После закрытия московского офиса «Мирантиса» работал в компаниях Postgres Professional и ASP Labs, в которых занимался созданием инфраструктуры тестирования с нуля. В ASP Labs руководил отделом разработки.

В 2011 году закончил МГИУ, специалист по защите информации.

«Люблю сложные задачи, которые связаны с сетями, сетевой безопасностью, разработкой и тестированием на Python под Linux. Изучаю C/C++ в части разработки под Linux».
Преподаватель курсов:
Python QA Engineer

F.A.Q.: Наиболее часто задаваемые вопросы:

Нужно ли оплачивать обучение до Дня открытых дверей, если я хочу гарантированно попасть в группу?
Да, мы рекомендуем заранее оплатить обучение, чтобы гарантированно попасть в группу. В период проведения Дня открытых дверей резко возрастает количество желающих обучаться, поэтому может случиться так, что к окончанию Дня открытых дверей мест в группе не останется
Кто будет проводить День открытых дверей?
Проводить День открытых дверей будет преподаватель курса.
Как принять участие в Дне открытых дверей?
Для того, чтобы принять участие в Дне открытых дверей, оставьте свой e-mail в поле регистрации на мероприятие. Перед началом Дня открытых дверей мы пришлем вам ссылку, пройдя по которой, вы сможете присоединиться к вебинару.
Какие вопросы будем обсуждать на Дне открытых дверей?
На дне открытых дверей мы поговорим о проекте OTUS (о программе курса, почему мы не принимаем в группы новичков, почему учиться у нас интересно, но сложно), карьерных перспективах выпускников (почему вероятность карьерного роста у лучших студентов стремится к 100%), учебном процессе (оплатах, оценке знаний, сертификатах и прочих аспектах). Также ведущий мероприятия с радостью ответит на все ваши вопросы.