Python QA Engineer

Курс по активной прокачке навыков программирования на Python для QA-инженеров

Длительность

4 месяца

Начало занятий

В декабре

Продолжительность
4 месяца, 3 академических часа в неделю
Начало занятий
В декабре
Что даст вам этот курс

Курс позволит узнать, как решаются задачи автоматизации тестирования на реальных проектах с использованием языка Python. На первый план мы ставим понимание принципов построения и решения задач, а не изучение конкретного инструмента. Освоив данный курс, вы получите навыки решения основных задач в области автоматизации тестирования веб-приложений.

Это комплексная программа подготовки автоматизатора в тестировании, где вы научитесь уверенно решать задачи в тестировании веб-приложений: от тестирования и поиска неисправностей в бекенде до проверки работоспособности фронтенда с помощью драйвера браузера Selenium и тестирования REST API, а также запуска тестов в системах непрерывной интеграции.

Для кого этот курс:
— для специалистов в области функционального тестирования с опытом работы от 1 до 3 лет и стремящихся перейти в автоматизацию на Python;
— для специалистов автоматизированного тестирования на Python с опытом работы до 1 года и желающих углубить и систематизировать свои знания.

Особенности курса:
— повышение технической грамотности функционального тестировщика до уровня разработчика и девопс-инженера, чтобы общаться на равных и влиять на архитектуру продукта;
— поиск неисправностей в работе веб-приложений, чтобы не было больше вот этих вот: "Это не баг, а фича";
— гибкий и простой в использовании инструмент для написания автотестов Python, который вытесняет привычный всем язык Java с рынка автоматизаторов в тестировании и позволяет запускать процесс автоматизированного тестирования в сжатые сроки на проекте любой сложности;
— изучение инструментов и практик devops, чтобы знать, как и где запустить тесты с пользой для проекта.


42 работодателя

Изучение инструментов диагностики работы сети и ОС Linux для определения причины возникновения багов, чтобы больше не было стыдно за Incomplete-задачи

Постоянная практика и решение кейсов, чтобы можно было рассказать на собеседовании о том, что делал, а не о том, что прочитал на хабре

Изучение всех видов тестирования: API, UI, бекенд, безопасности, чтобы быть максимально универсальным специалистом

Преподаватели
Семён Вяземский
Руководитель тестирования в УБРиР
Михаил Чирков
Александр Краснов
Более 4-х лет профессионально занимался обеспечением качества программного обеспечения. Тестировал биллинговые системы, CRM, ERP, веб-приложения, мобильные и десктоп-приложения.

Участвовал в создании и развитии систем автоматизированного и нагрузочного тестирования. Руководил командой тестирования, занимался подбором и обучением тестировщиков.

Профессиональные интересы: управление качеством, тест-менеджмент, Python, Java, Selenium.

Ex-QA Engineer в Yandex. QA Automation Engineer в ivi.ru.

Занимается созданием и разработкой инфраструктуры тестирования кроссплатформенной интеграции web / android / ios

Стек технологий, используемый в работе: python, pytest, selenium, appium, jenkins

В тестировании с 2015 года. Работал в КиноПоиске.
Сейчас работает тестировщиков в Mail.ru.

Создает инфраструктуру и внедряет автоматизацию с нуля.

Технологии,которые использует в работе: python, javascript, selenium

Семён
Вяземский
Михаил
Чирков
Александр
Краснов
Преподаватели
Семён Вяземский
Руководитель тестирования в УБРиР
Более 4-х лет профессионально занимался обеспечением качества программного обеспечения. Тестировал биллинговые системы, CRM, ERP, веб-приложения, мобильные и десктоп-приложения.

Участвовал в создании и развитии систем автоматизированного и нагрузочного тестирования. Руководил командой тестирования, занимался подбором и обучением тестировщиков.

Профессиональные интересы: управление качеством, тест-менеджмент, Python, Java, Selenium.

Михаил Чирков
Ex-QA Engineer в Yandex. QA Automation Engineer в ivi.ru.

Занимается созданием и разработкой инфраструктуры тестирования кроссплатформенной интеграции web / android / ios

Стек технологий, используемый в работе: python, pytest, selenium, appium, jenkins

Александр Краснов
В тестировании с 2015 года. Работал в КиноПоиске.
Сейчас работает тестировщиков в Mail.ru.

Создает инфраструктуру и внедряет автоматизацию с нуля.

Технологии,которые использует в работе: python, javascript, selenium

Отзывы
4
Вадим
Бурдюк
Отличный курс
Читать целиком
Павел
Жуков
В целом курс очень понравился. Хотелось бы чтоб на курсе во время вебинара побольше озвучивалось описание что конкретно требуется выполнить в домашнем задание. У меня иногда были проблемы с быстрым пониманием поставленной задачи. Планирую после нового года пойти на ваш курс по разработке python+django
Спасибо большое за такой полезный курс.
Читать целиком
Семён
Корнеев
Отличный
Читать целиком
Семён
Корнеев
Отличный курс, отличные преподаватели. Полученные знания применяются уже на рабочем проекте. Спасибо!
Читать целиком
Вадим
Бурдюк
Отличный курс
Читать целиком
Павел
Жуков
В целом курс очень понравился. Хотелось бы чтоб на курсе во время вебинара побольше озвучивалось описание что конкретно требуется выполнить в домашнем задание. У меня иногда были проблемы с быстрым пониманием поставленной задачи. Планирую после нового года пойти на ваш курс по разработке python+django
Спасибо большое за такой полезный курс.
Читать целиком
Семён
Корнеев
Отличный
Читать целиком
Семён
Корнеев
Отличный курс, отличные преподаватели. Полученные знания применяются уже на рабочем проекте. Спасибо!
Читать целиком
Минимальные знания

— базовые навыки программирования на Python;
— основы работы с сетями и Linux-подобными ОС;
— основы работы веб-приложений;
— знание теории функционального тестирования;
— навыки работы с консолью разработчика в браузере.
Процесс обучения
Обучение проходит в формате вебинаров (онлайн). Слушателям предлагаются к выполнению домашние задания, которые позволят применить на практике полученные во время вебинаров знания. По каждому домашнему заданию преподаватель дает развернутый фидбек.

Расписание занятий включает 2 вебинара в неделю по 2 академических часа и от 2 до 4 часов на домашнюю работу.

Во время обучения преподаватель находится в едином коммуникационном пространстве с группой на протяжении всего курса, т. е. слушатель может задавать преподавателю уточняющие вопросы по материалам лекций и домашних заданий.
Программа обучения
Модуль 1
Введение в автоматизацию тестирования
Модуль 2
Тестирование UI
Модуль 3
Отчётность и анализ логов
Модуль 4
Работа с бэкендом
Модуль 5
Практики DevOps и безопасность
Модуль 6
Другие виды тестирования
Введение в автоматизацию тестирования
В данном модуле будут рассмотрены теоретические аспекты автоматизации тестирования, базовый фреймворк для запуска автотестов в Python — Pytest, плюс студенты узнают, как тестировать API и использовать подход Data Driven Testing в своей работе.
Тема 1: Введение в разработку и тестирование
Изучить виды, цели, инструменты и инфраструктуру для автоматизированного тестирования.
Домашние задания: 2
1 Подготовка рабочего окружения
Цель: Создать учетную запись на GitHub
2 Пирамида автоматического тестирования (Опционально)
Цель: Оценить текущий уровень зрелости компании в автоматизации тестирования и предложить свой вариант развития автотестов на проекте.
Тема 2: Введение в Pytest
Познакомить студентов с фреймворком для запуска тестов Pytest.
Домашние задания: 1
1 Запуск тестов с помощью Pytest.
Цель: Познакомиться с pytest
Тема 3: Тестирование API
Научиться тестировать REST API-сервисы.
Домашние задания: 1
1 Параметризованное тестирование REST API.
Цель: Закрепить знания по базовой работе с PyTest Понять принципы работы с API и освоить основы чтения документации.
Тема 4: Data Driven Testing
Изучить подходы Data Driven Testing. Научиться выбирать правильный формат представления данных.
Домашние задания: 1
1 Генерация данных для тестирования
Цель: Применить на практике методы работы с данными
Тестирование UI
В данном модуле будет изучен основной инструмент для тестирования UI — Selenium.
Тема 1: Основы Selenium
Изучить минимальный набор знаний и навыков для работы с Selenium.
Домашние задания: 2
1 Настройка окружения
1. Установить OpenCart по инструкции
2. Настроить selenium для запуска тестов
2 Первый тест
1. Написать фикстуру для запуска трех разных браузеров (ie, firefox, chrome) в полноэкранном режиме с опцией headless. Выбор браузера должен осуществляться путем передачи аргумента командной строки pytest. По завершению работы тестов должно осуществляться закрытие браузера.
2. Добавить опцию командной строки, которая указывает базовый URL opencart.
3. Написать тест, который открывает основную страницу opencart (http://<ip_or_fqdn>/opencart/) и проверяет, что мы находимся именно на странице приложения opencart.
Тема 2: Поиск элементов
Научить искать элементы с помощью Selenium. Познакомиться с базовыми алгоритмами поиска элемента в массиве.
Домашние задания: 1
1 Поиск элементов на странице. Описание страниц. Тесты с использованием эдементов.
Цель: ДЗ во вложении текстовым файлом.
Тема 3: Работа с элементами
Научиться работать с элементами. Изучение основ ООП в Python.
Домашние задания: 1
1 Работа с элементами.
Работа с текстом и другими атрибутами элемента веб страницы.
Тема 4: Действия с элементами
Научиться работать с объектом WebElement и изучить основы ООП в Python.
26 августа, 20:00 — 21:30
Лектор: Семён Вяземский
Тема 5: Ожидание элементов
Научиться работать с ожиданиями элементов. Изучить работую с исключениями в Python.
28 августа, 20:00 — 21:30
Лектор: Семён Вяземский
Домашние задания: 1
1 Ожидание элементов.
Нажатие кнопок, заполнение и очистка текстовых полей.
Тема 6: Шаблон проектирования PageObject
Изучение паттерна PageObject.
2 сентября, 20:00 — 21:30
Лектор: Михаил Чирков
Домашние задания: 1
1 PageObject.
Пишем тесты в паттерне PageObject.
Тема 7: Работа с окнами
Научиться работать с окнами.
4 сентября, 20:00 — 21:30
Лектор: Михаил Чирков
Домашние задания: 3
1 Написать тест создания товара с добавлением картинок
Добавить 3 картинки к товару
2 Тест с перетаскиванием пункта меню
Выполнять ДЗ на демо по адресу
http://demo23.opencart.pro/admin/
юзер demo пароль demo
3 Добавить файл для скачивания (в админ панели кнопка добавить - в выпадающем списке пункт "Загрузку"
/admin/index.php?route=catalog/download/add&token=oESV9zO9k5pKb3vpYTJlFt1OtrJqfGxY
Тема 8: Протоколирование и отчетность
Научиться логировать действия Selenium.
9 сентября, 20:00 — 21:30
Лектор: Семён Вяземский
Домашние задания: 1
1 Протоколирование
Настроить протоколирование проекта
Тема 9: Удаленный запуск Selenium
Научиться запускать Selenium удаленно.
11 сентября, 20:00 — 21:30
Лектор: Семён Вяземский
Домашние задания: 2
1 Постройте небольшой грид
Установите виртуальную машину, внутри которой работает Windows/Linux, и создайте грид, который состоит из диспетчера, работающего на вашей основной машине, и двух узлов -- один тоже на основной машине, а другой внутри виртуальной машины.

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

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

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

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

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

Отчётность и анализ логов
В этом модуле студенты изучат такие важные аспекты процесса работы автоматизатора в тестировании, как построение отчётов по результатам выполнения тестов, анализ логов веб-приложений, а так же научатся искать неисправности в работе бекенда.
Тема 1: Pytest-отчёты
Научиться генерировать Pytest-отчёты.
16 сентября, 20:00 — 21:30
Лектор: Семён Вяземский
Домашние задания: 1
1 Кастомизированные отчеты pytest.
Тема 2: Allure-отчёты
Изучить Allure для генерации отчётов.
18 сентября, 20:00 — 21:30
Лектор: Михаил Чирков
Домашние задания: 1
1 Отчеты Allure
Поддержка отчетов Allure.
Тема 3: Анализ логов веб-серверов
Научить студентов разбираться в логах веб серверов.
23 сентября, 20:00 — 21:30
Лектор: Александр Краснов
Домашние задания: 1
1 Анализ логов веб-сервера
В качестве источника логов взять логи opencart.
1. Написать скрипт анализа access.log для apache или nginx

Требования к реализации
1. Должна быть возможность указать директорию где искать логи или конкретный файл
2. Должна быть возможность выбрать все файлы логов отпарсить или только заданный
3. В случае если файл не может быть обработан, то скрипт должен завершится с ошибкой
4. Для access.log должна собираться следующая информация:
- общее количество выполненных запросов
- количество запросов по типу: GET - 20, POST - 10 и т.п.
- топ 10 IP адресов, с которых были сделаны запросы
- топ 10 самых долгих запросов, должно быть видно метод, url, ip, время запроса
- топ 10 запросов, которые завершились клиентской ошибкой, должно быть видно метод, url, статус код, ip адрес
- топ 10 запросов, которые завершились ошибкой со стороны сервера, должно быть видно метод, url, статус код, ip адрес
5. Собранная статистика должна быть сохранена в json файл
6. Должен быть README файл, который описывает как работает скрипт


Тема 4: Траблшутинг в Linux. Файловая подсистема и работа процессов
Научить студентов диагностировать проблемы в работе файловой подсистемы и работы процессов.
25 сентября, 20:00 — 21:30
Лектор: Александр Краснов
Тема 5: Траблшутинг в Linux. Диагностика сетевых неисправностей
Студенты научатся диагностировать проблемы на уровне сети.
30 сентября, 20:00 — 21:30
Лектор: Александр Краснов
Тема 6: Траблшутинг в Linux. Архитектура ОС Linux. Дебаг.
Научить студентов использованию инструментам дебага. Изучить архитектуру Linux.
2 октября, 20:00 — 21:30
Лектор: Дмитрий Котегов
Работа с бэкендом
В данном модуле студенты научатся работать с бекендом средствами Python.
Тема 1: Работа с СУБД
Научить студентов работать из Python с СУБД.
14 октября, 20:00 — 21:30
Лектор: Семён Вяземский
Домашние задания: 1
1 Работа с СУБД.
Тестирование работы СУБД на примере работы с PostgreSQL с помощью библиотеки psycopg2.
Тема 2: Работа с сетью I. Протоколы прикладного уровня
Научить студентов работать с сетевыми протоколами прикладного уровня.
16 октября, 20:00 — 21:30
Лектор: Александр Краснов
Домашние задания: 2
1 Работа с сетью. Протоколы прикладкого уровня.*
Пишем код, который будет осуществлять подключения по SSH и работать с FTP.
2 Тесты бэкенд с использованием SSH клиента
Добавить тесты, которые используют SSH клиент для реализации следующих сценариев: перезагрузка сервера opencart с последующей проверкой, что opencart доступен, рестарт основных сервисов для opencart с последующей проверкой, что сервис доступен.
Тема 3: Работа с сетью II. Протоколы низкого уровня
Научить работать с сетевыми протоколами низкого уровня, углубить знания в области работы сетей и веб-приложений.
21 октября, 20:00 — 21:30
Лектор: Александр Краснов
Домашние задания: 2
1 Работа с сетью. Протоколы низкого уровня.
Пишем собственный HTTP клиент с использованием библиотеки socket.
2 Парсинг html страницы средствами python.*
Необходимо расширить предыдущее домашнее задание по парсингу заголовков HTTP функциональностью парсинга тела ответа.
Тема 4: Работа с ОС Linux с помощью Python
Студенты научатся работать с операционной системой Linux средствами Python.
23 октября, 20:00 — 21:30
Лектор: Александр Краснов
Домашние задания: 1
1 Работа с ОС Linux с помощью Python.
Тесты, которые работают с сетевой, файловой и системой управления процессами Linux.
Практики DevOps и безопасность
В данном модуле студенты узнают, как взаимодействуют друг с другом основные практики и инструменты DevOps с инструментами для автоматизации тестирования, а также изучат основные аспекты безопасности веб-приложений.
Тема 1: Виртуализация. Контейнеры
Изучить основные виды виртуализации.
28 октября, 20:00 — 21:30
Лектор: Семён Вяземский
Домашние задания: 1
1 Работа с Docker контейнерами.
Создаем свой контейнер, в который помещаем код тестового репозитория
Тема 2: Виртуализация. Виртуальные машины
Изучить основы виртуализации и узнать как реализованы докер контейнеры изнутри.
30 октября, 20:00 — 21:30
Лектор: Семён Вяземский
Тема 3: Непрерывная интеграция
Изучение основ непрерывной интеграции в контексте тестирования.
6 ноября, 20:00 — 21:30
Лектор: Александр Краснов
Домашние задания: 3
1 Настройка стилистического анализа в Jenkins
Настраиваем Jenkins на запуск стилистических анализаторов на проверку кода тестового фреймворка по каждому коммиту.
2 Установка Jenkins
Установить Jenkins на виртуальную машину Ubuntu или в докер контейнер.
3 Запуск тестов с помощью Jenkins.
Создать в дженкинсе пайплайн, который:
1. Разворачивает докер контейнер с последним кодом тестов
2. Запускает тесты
3. Сохраняет отчет о тестах в артифакт джобы
Тема 4: Подготовка тестового окружения
Изучение основ сборки пакетов.
Изучить основные практики подготовки тестового окружения.
11 ноября, 20:00 — 21:30
Лектор: Дмитрий Котегов
Домашние задания: 1
1 Сборка wheel тестового фреймворка
Добавить setup.py для тестового фреймворка.
Тема 5: Основы безопасности веб-приложений
Изучение основ безопасности веб-приложений для проведения тестирования безопасности.
13 ноября, 20:00 — 21:30
Лектор: Александр Краснов
Другие виды тестирования
Тема 1: Основы Behaviour Drivet Testing. Введение в Robot Framework
Изучение основ BDT и знакомство с Robot Framework.
18 ноября, 20:00 — 21:30
Лектор: Семён Вяземский
Домашние задания: 1
1 BDT. Robot Framework.
Пишем тесты на Robot Framework.
Тема 2: Расширенное использование Robot Framework
Закрепление навыков работы с Robot Framework.
20 ноября, 20:00 — 21:30
Лектор: Семён Вяземский
Тема 3: Модульное тестирование.
Научить писать студентов модульные тесты.
25 ноября, 20:00 — 21:30
Лектор: Александр Краснов
Домашние задания: 1
1 Модульное тестирование. Mock Objects.
Пишем модульные тесты в стиле xunit используя MockObjects.
Тема 4: Использование Mock
Изучение подхода Mock в тестировании.
27 ноября, 20:00 — 21:30
Лектор: Александр Краснов
Прошедшие открытые вебинары по курсу
Открытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
Основы сетей для тестировщика
Михаил Самойлов
День открытых дверей
22 июля в 20:00
После обучения вы
- получите репозиторий на github, в котором будут примеры тестов;
- сохраните материалы по всем занятиям: видеозаписи занятий и презентации;
- сможете писать все виды тестов: от юнит до системных, используя язык программирования Python;
- сможете решать любые задачи, которые возникают в трудовых буднях автоматизатора в тестировании;
- получите сертификат об окончании курса;
- получите приглашение пройти собеседование в компаниях-партнерах (в случае успешного обучения на курсе).
Дата выдачи сертификата: 23 января 2020 года
Ваш сертификат

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «Python QA Engineer»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Генеральный директор ООО “Отус Онлайн-Образование”
Виталий Чибриков

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018г.

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «Python QA Engineer»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Генеральный директор ООО “Отус Онлайн-Образование”
Виталий Чибриков

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018г.