Автоматизация веб-тестирования

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

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

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

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

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


36 работодателей

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

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

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

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

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

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

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

«Люблю сложные задачи, которые связаны с сетями, сетевой безопасностью, разработкой и тестированием на Python под Linux. Изучаю C/C++ в части разработки под Linux».
Более 4-х лет профессионально занимался обеспечением качества программного обеспечения. Тестировал биллинговые системы, CRM, ERP, веб-приложения, мобильные и десктоп-приложения.

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

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

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

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

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

«Люблю сложные задачи, которые связаны с сетями, сетевой безопасностью, разработкой и тестированием на Python под Linux. Изучаю C/C++ в части разработки под Linux».
Семен Вяземский
Руководитель тестирования в УБРиР
Более 4-х лет профессионально занимался обеспечением качества программного обеспечения. Тестировал биллинговые системы, CRM, ERP, веб-приложения, мобильные и десктоп-приложения.

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

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

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

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

Во время обучения преподаватель находится в едином коммуникационном пространстве с группой на протяжении всего курса, т. е. слушатель может задавать преподавателю уточняющие вопросы по материалам лекций и домашних заданий.
Программа обучения
Модуль 1
Введение в автоматизацию тестирования
Модуль 2
Тестирование UI
Модуль 3
Отчётность и анализ логов
Модуль 4
Работа с бэкендом
Модуль 5
Практики DevOps и безопасность
Модуль 6
Другие виды тестирования
Введение в автоматизацию тестирования
В данном модуле будут рассмотрены теоретические аспекты автоматизации тестирования, базовый фреймворк для запуска автотестов в Python — Pytest, плюс студенты узнают, как тестировать API и использовать подход Data Driven Testing в своей работе.
Введение в разработку и тестирование
Изучить виды, цели, инструменты и инфраструктуру для автоматизированного тестирования.
Домашние задания: 3
1 Подготовка рабочего окружения
Подготовка рабочего окружения для разработки автоматических тестов.
2 Пирамида автоматического тестирования (Опционально)
Описать пирамиду автоматического тестирования своего текущего проекта.
3 Запуск тестов с помощью Pytest.
Создание и запуск тестов с помощью Pytest.
Введение в Pytest
Познакомить студентов с фреймворком для запуска тестов Pytest.
Тестирование API
Научиться тестировать REST API-сервисы.
Домашние задания: 1
1 Параметризованное тестирование REST API.
Тестирование REST API сервиса с помощью Python используя библиотеки pytest, requests, json.
Data Driven Testing
Изучить подходы Data Driven Testing. Научиться выбирать правильный формат представления данных.
Тестирование UI
В данном модуле будет изучен основной инструмент для тестирования UI — Selenium.
Основы 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.
Поиск элементов
Научить искать элементы с помощью Selenium. Познакомиться с базовыми алгоритмами поиска элемента в массиве.
Домашние задания: 1
1 Поиск элементов на странице.
Найти элементы на странице используя различные виды локаторов.
Работа с элементами
Научиться работать с элементами. Изучение основ ООП в Python.
Домашние задания: 1
1 Работа с элементами.
Работа с текстом и другими атрибутами элемента веб страницы.
Действия с элементами
Научиться работать с объектом WebElement и изучить основы ООП в Python.
Ожидание элементов
Научиться работать с ожиданиями элементов. Изучить работую с исключениями в Python.
22 апреля, 20:00 — 21:30
Лектор: Михаил Самойлов
Домашние задания: 1
1 Ожидание элементов.
Нажатие кнопок, заполнение и очистка текстовых полей.
Шаблон проектирования PageObject
Изучение паттерна PageObject.
24 апреля, 20:00 — 21:30
Лектор: Михаил Самойлов
Домашние задания: 1
1 PageObject.
Пишем тесты в паттерне PageObject.
Работа с окнами
Научиться работать с окнами.
29 апреля, 20:00 — 21:30
Лектор: Семен Вяземский
Протоколирование и отчетность
Научиться логировать действия Selenium.
8 мая, 20:00 — 21:30
Лектор: Семен Вяземский
Домашние задания: 1
1 Протоколирование и отчетность.
Настраиваем протоколирование и отчетность средствами Selenium.
Удаленный запуск Selenium
Научиться запускать Selenium удаленно.
13 мая, 20:00 — 21:30
Лектор: Семен Вяземский
Отчётность и анализ логов
В этом модуле студенты изучат такие важные аспекты процесса работы автоматизатора в тестировании, как построение отчётов по результатам выполнения тестов, анализ логов веб-приложений, а так же научатся искать неисправности в работе бекенда.
Pytest-отчёты
Научиться генерировать Pytest-отчёты.
15 мая, 20:00 — 21:30
Лектор: Михаил Самойлов
Домашние задания: 1
1 Кастомизированные отчеты pytest.
Allure-отчёты
Изучить Allure для генерации отчётов.
20 мая, 20:00 — 21:30
Лектор: Михаил Самойлов
Домашние задания: 1
1 Отчеты Allure
Поддержка отчетов Allure.
Анализ логов веб-серверов
Научить студентов разбираться в логах веб серверов.
22 мая, 20:00 — 21:30
Лектор: Семен Вяземский
Домашние задания: 1
1 Анализ логов веб-сервера
Анализ логов веб-сервера, который поможет понять причины проблемы.
Траблшутинг в Linux. Файловая подсистема и работа процессов
Научить студентов диагностировать проблемы в работе файловой подсистемы и работы процессов.
27 мая, 20:00 — 21:30
Лектор: Михаил Самойлов
Траблшутинг в Linux. Диагностика сетевых неисправностей
Студенты научатся диагностировать проблемы на уровне сети.
5 июня, 20:00 — 21:30
Лектор: Михаил Самойлов
Траблшутинг в Linux. Дебаг
Научить студентов использованию инструментам дебага.
10 июня, 20:00 — 21:30
Лектор: Михаил Самойлов
Работа с бэкендом
В данном модуле студенты научатся работать с бекендом средствами Python.
Работа с СУБД
Научить студентов работать из Python с СУБД.
17 июня, 20:00 — 21:30
Лектор: Семен Вяземский
Домашние задания: 1
1 Работа с СУБД.
Тестирование работы СУБД на примере работы с PostgreSQL с помощью библиотеки psycopg2.
Работа с сетью I. Протоколы прикладного уровня
Научить студентов работать с сетевыми протоколами прикладного уровня.
19 июня, 20:00 — 21:30
Лектор: Михаил Самойлов
Домашние задания: 1
1 Работа с сетью. Протоколы прикладкого уровня.
Пишем код, который будет осуществлять подключения по SSH и отправлять письма по SMTP.
Работа с сетью II. Протоколы низкого уровня
Научить работать с сетевыми протоколами низкого уровня, углубить знания в области работы сетей и веб-приложений.
24 июня, 20:00 — 21:30
Лектор: Михаил Самойлов
Домашние задания: 1
1 Работа с сетью. Протоколы низкого уровня.
Пишем собственный HTTP клиент с использованием библиотеки socket.
Работа с ОС Linux с помощью Python
Студенты научатся работать с операционной системой Linux средствами Python.
26 июня, 20:00 — 21:30
Лектор: Михаил Самойлов
Домашние задания: 1
1 Работа с ОС Linux с помощью Python.
Тесты, которые работают с сетевой, файловой и системой управления процессами Linux.
Практики DevOps и безопасность
В данном модуле студенты узнают, как взаимодействуют друг с другом основные практики и инструменты DevOps с инструментами для автоматизации тестирования, а также изучат основные аспекты безопасности веб-приложений.
Виртуализация. Контейнеры
Изучить основные виды виртуализации.
1 июля, 20:00 — 21:30
Лектор: Семен Вяземский
Домашние задания: 1
1 Работа с Docker контейнерами.
Создаем свой контейнер, в который помещаем код тестового репозитория
Виртуализация. Виртуальные машины
Изучить основы виртуализации и узнать как реализованы докер контейнеры изнутри.
3 июля, 20:00 — 21:30
Лектор: Михаил Самойлов
Непрерывная интеграция
Изучение основ непрерывной интеграции в контексте тестирования.
8 июля, 20:00 — 21:30
Лектор: Михаил Самойлов
Домашние задания: 1
1 Настройка собственного CI для своего проекта.
Настраиваем стилистические анализаторы на проверку кода по каждому коммиту.
Настраиваем travis ci для запуска своих тестов в докер контейнере на каждый коммит.
Основы безопасности веб-приложений
Изучение основ безопасности веб-приложений для проведения тестирования безопасности.
10 июля, 20:00 — 21:30
Лектор: Михаил Самойлов
Анализ уязвимостей как часть процесса тестирования
Изучение основ анализа уязвимостей в контексте тестирования и разработки программного обеспечения в целом.
15 июля, 20:00 — 21:30
Лектор: Михаил Самойлов
Другие виды тестирования
Основы Behaviour Drivet Testing. Введение в Robot Framework
Изучение основ BDT и знакомство с Robot Framework.
17 июля, 20:00 — 21:30
Лектор: Семен Вяземский
Домашние задания: 1
1 BDT. Robot Framework.
Пишем тесты на Robot Framework.
Расширенное использование Robot Framework
Закрепление навыков работы с Robot Framework.
22 июля, 20:00 — 21:30
Лектор: Семен Вяземский
Введение в модульное тестирование. Введение в Mock
Научить писать студентов модульные тесты.
24 июля, 20:00 — 21:30
Лектор: Михаил Самойлов
Домашние задания: 1
1 Модульное тестирование. Mock Objects.
Пишем модульные тесты в стиле xunit используя MockObjects.
Расширенное использование Mock-объектов
Изучение подхода Mock в тестировании.
29 июля, 20:00 — 21:30
Лектор: Михаил Самойлов
Подглядеть
Основы сетей для тестировщика
Михаил Самойлов
Видеоматериалы по теме
День открытых дверей
18 марта в 20:00
После обучения вы
- получите репозиторий на github, в котором будут примеры тестов;
- сохраните материалы по всем занятиям: видеозаписи занятий и презентации;
- сможете писать все виды тестов: от юнит до системных, используя язык программирования Python;
- сможете решать любые задачи, которые возникают в трудовых буднях автоматизатора в тестировании;
- получите сертификат об окончании курса;
- получите приглашение пройти собеседование в компаниях-партнерах (в случае успешного обучения на курсе).
Дата выдачи сертификата:
Ваш сертификат
otus.ru
Константин Константинопольский
успешно закончил курс
«Автоматизация веб-тестирования»
Успешных заданий:
16 из 16
Проектная работа:
Распределённая система сетевого мониторинга
Виталий Чибриков
Генеральный директор
№ 0001
otus.ru
Константин Константинопольский
успешно закончил курс
«Автоматизация веб-тестирования»
Успешных заданий:
16 из 16
Проектная работа:
Распределённая система сетевого мониторинга
Виталий Чибриков
Генеральный директор
№ 0001