Проходил 22 мая в 20:00

День открытых дверей
Всё о курсе «Java QA Automation Engineer»

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

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

Запись

О курсе

Java QA Engineer
45 000 ₽
Начало в декабре
В рамках курса вы заглянете под капот популярнейших инструментов автоматизации, чтобы точно знать, что там происходит, и как это можно эффективно использовать. Ключевая цель курса — помочь студентам стать профессионалами, которые смогут самостоятельно принимать технические решения и предвидеть поведение системы. Именно в этом кроется стабильность ваших тестов. Курс подойдет для: - Специалистов по ручному тестированию, проявляющих интерес к переходу в …
Программа курса
Модуль 1
Selenium
Модуль 2
Architecture
Модуль 3
BDD
Модуль 4
API Testing
Модуль 5
Параллельное выполнение тестов
Модуль 6
Практики CI/CD
Модуль 7
Проект А
Selenium
Задача этого модуля — копнуть поглубже в устройство WebDriver'а, понять, как он работает и как сделать работу с ним эффективнее. Мы тщательно изучим основные возможности и внимательно рассмотрим нетипичные возможности драйвера. Итогом модуля будет углубленное знание инструмента Selenium.
Selenium start
Вы будете знать, как устроен WebDriver и принцип его работы,
альтернативные инструменты для автоматизации UI-тестирования.
Создаем проект, выбираем тестовый фреймворк, настраиваем окружение, пишем первый тест
Участники научатся создавать проект "с нуля",
будут знать ключевые отличия TestNG и jUnit,
будут уметь настраивать проект под свои нужды (настройка логирования, подключение плагинов, работа с параметрами и т. д)
Домашние задания: 1
ДЗ
Создать maven-проект. Создать новый maven-проект для автоматизации тестирования

- Откройте IDE
- Создайте новый проект (maven)
- Настройте для проекта файл .gitignore (https://www.gitignore.io/)
- В файле pom.xml укажите зависимости для
-- Selenium Java (https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java)
-- WebDriverManager (https://mvnrepository.com/artifact/io.github.bonigarcia/webdrivermanager)
-- jUnit (https://mvnrepository.com/artifact/junit/junit/4.12)
- Создайте тест, который:
-- с помощью WebDriverManager, настраивает ChromeDriver
-- открывает в браузере Chrome страницу https://otus.ru/
- Подключить и настроить log4j

Домашнее задание принимается в виде ссылки на GitHub репозиторий
Срок сдачи: 48 часов до следующего занятия.

Задание со звездочкой (*)
Реализовать отображение результата прогона тестов в Grafana, используя listener (TestNG) или test rule (jUnit).
Подглядывать можно сюда: https://habr.com/ru/company/otus/blog/452908/
Локаторы.
Участники будут знать все типы локаторов,
научатся строить сложные локаторы,
будут знать, какие возникают ошибки при работе с элементами, изучат подходы к хранению локаторов.
Команды чтения и управления состоянием элементов. Свойства элементов html-страницы, получение специфичных свойств элементов
Участники будут знать, какие свойства элементов страницы доступны для чтения средствами автоматизации и какие проверки можно на них строить. Также будут знать, какие элементы Selenium считает interactable и clickable.
Конфигурация драйвера при старте, desired capabilities, параметры браузеров, работа с cookies, настройка ожиданий
Участники научатся конфигурировать драйвер при старте, настраивать его под специфичные задачи. Будут уметь задавать настройки, специфичные для конкретного браузера.
Ожидания в Selenium. Работа с явными и неявными ожиданиями, сравнение подходов. Знакомство с Expected Conditions. Пишем первый тест
Участники будут применять явные и неявные ожидания для повышения стабильности тестов и осуществления сложных проверок.
Домашние задания: 1
ДЗ
Написать автотест для каталога Яндекс.Маркет. Реализуйте автоматический тест, используя Java + Selenium

Шаги теста:
- Открыть в Chrome сайт Яндекс.Маркет - раздел "Мобильные телефоны"
- Отфильтровать список товаров по производителю: RedMi и Xiaomi
- Отсортировать список товаров по цене (от меньшей к большей)
- Добавить первый в списке RedMi
-- Проверить, что отобразилась плашка "Товар {имя товара} добавлен к сравнению"
- Добавить первый в списке Xiaomi
-- Проверить, что отобразилась плашка "Товар {имя товара} добавлен к сравнению"
- Перейти в раздел Сравнение
-- Проверить, что в списке товаров 2 позиции
- Нажать на опцию "все характеристики"
-- Проверить, что в списке характеристик появилась позиция "Операционная система"
- Нажать на опцию "различающиеся характеристики"
-- Проверить, что позиция "Операционная система" не отображается в списке характеристик

Домашнее задание принимается в виде ссылки на GitHub репозиторий
Срок сдачи: 48 часов до следующего занятия.
Работа с нативными окнами браузера: Alert, Prompt, Confirm, iFrame, Tabs, BasicAuth
Участники будут уметь работать с нативными элементами браузера.
Upload files, executing JavaScript
Участники будут знать, как решать нестандартные задачи с помощью выполнения JavaScript на странице.
Architecture
Задача этого модуля — ознакомиться с лучшими практиками организации кода проекта, чтобы его было легче разрабатывать и поддерживать. Речь будет идти не только о широко известном паттерне PageObject, но и о более фундаментальных подходах к разработке. Участники научатся реализовывать наиболее популярные паттерны проектирования (Singleton, Proxy, Observer, Command и т. д.).
Архитектура проекта
Участники научатся применять паттерны проектирования при разработке проекта (Facade, Proxy, Builder, Lazy, Singleton, etc).
Системы контроля версий
Участники будут уметь работать с Git, будут знать основы GitFlow, научатся работать c GitHub.
Домашние задания: 1
ДЗ
Повседневные задачи с Git. Работа с локальным и удаленным репозиториями, исправление комитов, решение конфликтов, работа с ветками и практика Code Review.
Page object
Участники будут знать теорию паттерна и будут уметь его применять.
Домашние задания: 1
ДЗ
Реализуйте автоматический тест, используя Java + Selenium + POM. Шаги теста:
- Открыть https://otus.ru
- Авторизоваться на сайте
- Войти в личный кабинет
- В разделе "О себе" заполнить все поля "Личные данные" и добавить не менее двух контактов
- Нажать сохранить
- Открыть https://otus.ru в "чистом браузере"
- Авторизоваться на сайе
- Войти в личный кабинет
- Проверить, что в разделе "О себе" отображаются указанные ранее данные

Домашнее задание принимается в виде ссылки на GitHub репозиторий
Срок сдачи: 48 часов до следующего занятия.
Page factory, ScreenPlay
Участники будут уметь использовать паттерны, альтернативные "стандартному" PageObject.
Dependency Injection. Google Guice, PicoContainer, Spring
Участники будут знать преимущества использования DI в разработке, а также будут уметь внедрять его в свой проект.
Домашние задания: 1
ДЗ
Разработать архитектуру проекта автоматизированного тестирования. Вам необходимо создать проект автоматизированного тестирования сайта https://habr.com/ru
Тестирование в браузерах Chrome и Firefox - количество тестов не менее 15ти
Уделите внимание архитектуре вашего проекта - примените полученные в модуле знания

Помните, что нет единственно верного решения. Есть решения обоснованные и не очень)
BDD
Задача этого модуля — рассмотреть и научиться применять один из наиболее востребованных на сегодняшний день подходов в автоматизации тестирования. Участники изучат основные инструменты на рынке, научатся внедрять Cucumber в существующий проект.
Подход BDD
Участники будут знать суть подхода и основные инструменты для написания и имплементации сценариев.
Архитектура проекта, использующего BDD
Участники будут уметь внедрять BDD-подход в существующий проект и посмотрят, как архитектурно меняется проект.
Домашние задания: 1
ДЗ
Реализовать BDD подход . Реализовать 10 BDD-сценариев для сайта https://www.gosuslugi.ru/
Использовать Page Object и Cucumber
Уделить внимание удобству изменения Step Implementations и возможности переиспользовать шаги написанные на Gherkin
API Testing
Задача модуля — научиться автоматизировать тестирование API. Модуль рассматривает основы протоколов, наиболее популярные инструменты для ручного и автоматизированного тестирования. В результате участники будут уметь писать API-тесты и расширять существующие UI-тесты.
HTTP. Postman, Newman, Fiddler (Charles), curl, SOAP. SoapUI
Участники будут знать особенности протоколов HTTP и SOAP, будут уметь использовать инструменты для ручного тестирования API на этих протоколах.
RestAssured
Участники будут уметь создавать автоматизированные тесты API на Java.
Использование API-helper'ов в UI-тестах
Участники научатся объединять UI- и API-тесты для более эффективной автоматизации тестирования.
Параллельное выполнение тестов
Задача модуля — освоить способы организации параллельного выполнения тестов — одно из важнейших требований к автотестам.
Параллельное выполнение тестов. Selenium Grid. Настройка и запуск
Участники будут знать подходы к распараллеливанию тестов. Будут уметь настраивать и использовать базовые инструмент Selenium Grid.
Современные способы распараллеливания
Участники узнают современные подходы к распараллеливанию тестов. Научатся применять Selenoid.
Домашние задания: 1
ДЗ
Написать sh/bat скрипт, готовящий окрежение для параллельного тестирования. Скрипт запускает и и настраивает все необходимые компоненты для параллельного выполнения тестов и сообщает номер прослушиваемого порта.

Сценирий использования:
запустить скрипт -> в консоль вывенден номер порта
запустить тесты, используя RemoteWebDriver, указав в адресе порт из предыдущего шага
Отчетность. Интеграция с Allure. Снятие скриншотов и запись видео
Участники будут уметь организовывать понятную отчетность по автотестам. Научатся внедрять инструменты для сбора логов тестов, скриншотов приложения и записи видео.
Домашние задания: 1
ДЗ
Добавить интеграцию c системой отчетности к своим тестам.
Практики CI/CD
Современный рынок труда часто выдвигает требование к QA-специалистам — умение работать с CI/CD-системами. Задача модуля — сформировать представление о практиках, инструментах и научиться внедрять автотесты в процесс поставки продукта.
Что такое CI/CD и зачем он нужен
Участники будут знать о CI- и CD-процессах. Будут знать основные инструменты и ключевые понятия (Server, agents, jobs. Fail fast, Scheduling, WebHooks).
Jenkins
Участники будут уметь настраивать и запускать сервис. Интегрировать с git и Docker. Будут знать pipeline-подход.
Домашние задания: 1
ДЗ
Настроить сборку и выполнение автотестов в Jenkins.. Запустите и настройте локально Jenkins (сервис или контейнер)

Создайте job
Шаги в job:
1. Выгрузить из вашего репозитория код тестов
2. Собрать проект
3. Выполнить все тесты
4. Прислать письмо вам на почту
-- в письме указаны
-- номер сборки
-- статус сборки
-- ветка реопзитория, из которой был взят код тестов
-- колиечество тестов (всего/успешных/проваленных/пропущенных)
-- общее время выполнения job'ы
Описание шагов "от выгрузки до отчетов по тестированию". Scheduling, webhooks
Участники будут уметь создавать джобы для прогона автотестов от выгрузки из git до отображения отчета по тестированию. Будут уметь настраивать запуск джобы по расписанию и по событию.
Домашние задания: 1
ДЗ
Доработать CI для удобной отчетности, выполнения по push в git и выполнять back-up конфигураций. Запустите и настройте локально Jenkins (сервис или контейнер)

Создайте job (можно использовать job, созданную в ходе выполнения прошлого домашнего задания)
Шаги в job:
1. Выгрузить из вашего репозитория код тестов
2. Собрать проект
3. Выполнить все тесты
4. Прислать письмо вам на почту
-- в письме указаны
-- номер сборки
-- статус сборки
-- ветка реопзитория, из которой был взят код тестов
-- колиечество тестов (всего/успешных/проваленных/пропущенных)
-- общее время выполнения job'ы

Настройте job так, чтобы она запускалась после каждого git push'а в ваш репозиторий (использовать webhooks) и каждую ночь в 01:00.
Помимо отчетности по e-mail, отчет должен приходить в канал в slack
Отчеты должны добавляться в систему отчетов (на ваш выбор allure, report portal и подобные)
По окончанию выполнения job, должен выполняться back-up самой job'ы и настроек (можно использовать SCM Sync configuration plugin)
Проект А
В этом модуле участники применят все свои знания и навыки для поднятия процесса автотестирования. От анализа продукта до шага в CI-системе, запускающего тесты и формирующего отчеты.
Stubs
Участники будут уметь разрабатывать "заглушки" на сторонние сервисы для большей изоляции автотестов.
Обзор техонологий Appium, Selenide, JDI, Spock, Mocks
Участники будут знать основные инструменты и вспомогательные библиотеки, которые применяются сегодня в автоматизации. Будут знать, для чего они нужны и как работают.
Домашние задания: 1
ДЗ
Проект.
Курсовая работа
Участники реализуют проект автоматизации тестирования с применением имеющихся знаний и навыков для заданного приложения.
Домашние задания: 1
ДЗ
Автоматизировать тестирование проекта. Примените, приобретенные на курсе и имеющиеся у вас ранее, знания и навыки для автоматизации тестирования проекта. Инструменты, библиотеки, подход и прочее - все на ваше усмотрение.

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

Дмитрий Еремин
Renaissance Capital
Тестировщик, QA Lead, специалист по автоматизированному тестированию. Работал в таких компаниях, как Frumatic, ПАО «Промсвязьбанк», Luxoft, Enterra, It-Grands. Сейчас занимает должность старшего специалиста по автоматизированному тестированию в «Ренессанс Капитал».

Попал в тестирование в 2013-м и выбраться так и не смог)). За это время «причинил пользу» многим проектам:
- от онлайн-кассы до интерактивного стола и комплекса платной парковки;
- от мобильных игр до интеграционной шины;
- от блоговой платформы до системы высокочастотной торговли на валютном рынке.

Питает необъяснимую страсть к ситуации на рынке труда. Очень интересуется тем, кто и каких кандидатов ищет, что предлагает, что ожидает получить.

Последние 4 года работает с банковским ПО и параллельно с этим ведёт проекты в удалённом режиме. Сейчас занимается разработкой веб-приложения для трейдеров банка (Java + Angular) и, конечно же, по привычке пишет автотесты: от юнитов до UI.
Преподаватель курсов:
Java QA Engineer

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

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