День открытых дверей по курсу «Java QA Engineer» 22.05.2019 в 20:00 | OTUS
Скидки на курсы июня!
Только два дня! Пишите в чат, чтобы получить максимальную скидку ➞
Написать в чат

Курсы

Программирование
Web-разработчик на Python Разработчик на Spring Framework iOS Разработчик. Продвинутый курс v 2.0. PostgreSQL C# ASP.NET Core разработчик Разработчик C# Архитектор программного обеспечения Разработчик C++ MS SQL Server разработчик Android-разработчик. Базовый курс Архитектор высоких нагрузок Backend-разработчик на PHP Алгоритмы для разработчиков Team Lead 2.0 Python-разработчик. Базовый курс VOIP инженер Базы данных Разработчик Golang Разработчик программных роботов (RPA) на базе UiPath и PIX Разработчик голосовых ассистентов и чат-ботов Agile Project Manager в IT
Специализации Курсы в разработке Подготовительные курсы
+7 499 938-92-02
Проходил 22 мая 2019 года в 20:00

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

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

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

Запись

О курсе

Java QA Engineer
60 000 ₽
4 месяца
Начало 29 июня
В рамках курса вы заглянете под капот популярнейших инструментов автоматизации, чтобы точно знать, что там происходит, и как это можно эффективно использовать. Ключевая цель курса — помочь студентам стать профессионалами, которые смогут самостоятельно принимать технические решения и предвидеть поведение системы. Именно в этом кроется стабильность ваших тестов. Курс подойдет для: - Разработчиков автоматизированного тестирования на Java с опытом работы до …
Программа курса
Модуль 1
WebDriver
Модуль 2
Architecture
Модуль 3
BDD
Модуль 4
API Testing
Модуль 5
Параллельное выполнение тестов
Модуль 6
Практики CI/CD
Модуль 7
Проект А
WebDriver
Задача этого модуля — копнуть поглубже в устройство WebDriver'а, понять, как он работает и как сделать работу с ним эффективнее. Мы тщательно изучим основные возможности и внимательно рассмотрим нетипичные возможности драйвера. Итогом модуля будет углубленное знание инструмента Selenium.
Главное про автоматизацию тестирования
обозначить уровни автоматизированного тестирования и соответствующие правила,
определить критерии качества автотестов,
изучить принципы тестирования,
научиться создавать проект с минимальным набором обязательных атрибутов
29 июня, 20:00 — 21:30
Настраиваем окружение, пишем первый тест
понять, как выбрать тестовый фреймворк, настроить логирование, интеграцию с GIT и параметризированный запуск тестов
2 июля, 20:00 — 21:30
Домашние задания: 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, FF (параметризодано) страницу https://otus.ru/
- Подключить и настроить log4j

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

Задание со звездочкой (*)
Реализовать отображение результата прогона тестов в Grafana, используя listener (TestNG) или test rule (jUnit).
Подглядывать можно сюда: https://habr.com/ru/company/otus/blog/452908/
Использовать owner http://owner.aeonbits.org/docs/usage/
Конфигурация драйвера при старте, desired capabilities, параметры браузеров, работа с cookies, настройка ожиданий
научиться конфигурировать драйвер при старте, настраивать его под специфичные задачи,
научиться задавать настройки, специфичные для конкретного браузера
6 июля, 20:00 — 21:30
Домашние задания: 1
ДЗ
Реализовать WebDriverFactory класс. Создайте класс WebDriverFactory со статическим методом create();

Метод create() принимает обязательный параметр webDriverName и необязтельный параметр options, а возвращает соответствующий имени вебдрайвер с заданными (если были) options

Примеры использования
WebDriver wd = WebDriverFactory.createNewDriver("chrome");
или
FirefoxOptions options = new FirefoxOptions();
WebDriver wd = WebDriverFactory.createNewDriver("firefox", options);


Про паттерн Factory: https://refactoring.guru/ru/design-patterns/factory-method
Локаторы.
Участники будут знать все типы локаторов,
научатся строить сложные локаторы,
будут знать, какие возникают ошибки при работе с элементами, изучат подходы к хранению локаторов.
9 июля, 20:00 — 21:30
Команды чтения и управления состоянием элементов. Свойства элементов html-страницы, получение специфичных свойств элементов
Участники будут знать, какие свойства элементов страницы доступны для чтения средствами автоматизации и какие проверки можно на них строить. Также будут знать, какие элементы Selenium считает interactable и clickable.
13 июля, 20:00 — 21:30
Ожидания в Selenium. Работа с явными и неявными ожиданиями, сравнение подходов. Знакомство с Expected Conditions
Участники будут применять явные и неявные ожидания для повышения стабильности тестов и осуществления сложных проверок.
16 июля, 20:00 — 21:30
Домашние задания: 1
ДЗ
Написать автотест для каталога Яндекс.Маркет. Реализуйте автоматический тест, используя Java + Selenium

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

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

Домашнее задание принимается в виде ссылки на GitHub репозиторий
Срок сдачи: 48 часов до следующего занятия.
Page factory, ScreenPlay
Участники будут уметь использовать паттерны, альтернативные "стандартному" PageObject.
6 августа, 20:00 — 21:30
Dependency Injection. Google Guice, PicoContainer, Spring
Участники будут знать преимущества использования DI в разработке, а также будут уметь внедрять его в свой проект.
10 августа, 20:00 — 21:30
BDD
Задача этого модуля — рассмотреть и научиться применять один из наиболее востребованных на сегодняшний день подходов в автоматизации тестирования. Участники изучат основные инструменты на рынке, научатся внедрять Cucumber в существующий проект.
Подход BDD
Участники будут знать суть подхода и основные инструменты для написания и имплементации сценариев.
13 августа, 20:00 — 21:30
Архитектура проекта, использующего BDD
Участники будут уметь внедрять BDD-подход в существующий проект и посмотрят, как архитектурно меняется проект.
17 августа, 20:00 — 21:30
Домашние задания: 1
ДЗ
Реализовать BDD подход . Реализовать 10 BDD-сценариев для сайта https://otus.ru/
Использовать Page Object и Cucumber
Уделить внимание удобству изменения Step Implementations и возможности переиспользовать шаги написанные на Gherkin
API Testing
Задача модуля — научиться автоматизировать тестирование API. Модуль рассматривает основы протоколов, наиболее популярные инструменты для ручного и автоматизированного тестирования. В результате участники будут уметь писать API-тесты и расширять существующие UI-тесты.
HTTP. Postman, Newman, Fiddler (Charles), curl, SOAP. SoapUI
Участники будут знать особенности протоколов HTTP и SOAP, будут уметь использовать инструменты для ручного тестирования API на этих протоколах.
20 августа, 20:00 — 21:30
RestAssured
Участники будут уметь создавать автоматизированные тесты API на Java.
24 августа, 20:00 — 21:30
Использование API-helper'ов в UI-тестах
Участники научатся объединять UI- и API-тесты для более эффективной автоматизации тестирования.
27 августа, 20:00 — 21:30
Параллельное выполнение тестов
Задача модуля — освоить способы организации параллельного выполнения тестов — одно из важнейших требований к автотестам.
Параллельное выполнение тестов. Selenium Grid. Настройка и запуск
Участники будут знать подходы к распараллеливанию тестов. Будут уметь настраивать и использовать базовые инструмент Selenium Grid.
31 августа, 20:00 — 21:30
Современные способы распараллеливания. Selenoid
Участники узнают современные подходы к распараллеливанию тестов. Научатся применять Selenoid.
3 сентября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Написать sh/bat скрипт, готовящий окрежение для параллельного тестирования. Скрипт запускает и и настраивает все необходимые компоненты для параллельного выполнения тестов и сообщает номер прослушиваемого порта.

Сценирий использования:
запустить скрипт -> в консоль вывенден номер порта
запустить тесты, используя RemoteWebDriver, указав в адресе порт из предыдущего шага
Отчетность: Allure, Report Portal. Снятие скриншотов и запись видео
Участники будут уметь организовывать понятную отчетность по автотестам. Научатся внедрять инструменты для сбора логов тестов, скриншотов приложения и записи видео.
7 сентября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Добавить интеграцию c системой отчетности к своим тестам.
Практики CI/CD
Современный рынок труда часто выдвигает требование к QA-специалистам — умение работать с CI/CD-системами. Задача модуля — сформировать представление о практиках, инструментах и научиться внедрять автотесты в процесс поставки продукта.
Что такое CI/CD и зачем он нужен
Участники будут знать о CI- и CD-процессах. Будут знать основные инструменты и ключевые понятия (Server, agents, jobs. Fail fast, Scheduling, WebHooks).
10 сентября, 20:00 — 21:30
Jenkins
Участники будут уметь настраивать и запускать сервис. Интегрировать с git и Docker. Будут знать pipeline-подход.
14 сентября, 20:00 — 21:30
Описание шагов "от выгрузки до отчетов по тестированию". Scheduling, webhooks
Участники будут уметь создавать джобы для прогона автотестов от выгрузки из git до отображения отчета по тестированию. Будут уметь настраивать запуск джобы по расписанию и по событию.
17 сентября, 20:00 — 21:30
Домашние задания: 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)
Continuous Testing (Testing Pyramid, Test Metrics)
Проект А
В этом модуле участники применят все свои знания и навыки для поднятия процесса автотестирования. От анализа продукта до шага в CI-системе, запускающего тесты и формирующего отчеты.
Stubs
Участники будут уметь разрабатывать "заглушки" на сторонние сервисы для большей изоляции автотестов.
21 сентября, 20:00 — 21:30
Обзор техонологий Appium, Selenide, JDI, Spock, Mocks
Участники будут знать основные инструменты и вспомогательные библиотеки, которые применяются сегодня в автоматизации. Будут знать, для чего они нужны и как работают.
24 сентября, 20:00 — 21:30
Курсовая работа
реализовать проект автоматизации тестирования с применением имеющихся знаний и навыков для заданного приложения;
защитить проект и получить рекомендации экспертов.
28 сентября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Проектная работа от EPAM. Что будем тестировать: Приложение https://events.epam.com/ предоставляет информацию о мероприятиях, которые проводит EPAM. Сайт позволяет посмотреть предстоящие/прошедшие мероприятия в разных городах, информацию о спикерах, докладах, календарь мероприятий.
Требования к фреймворку:
1. Java + Maven/Gradle + TestNG/Junit 5 проект
2. Для стабилизации нахождения локаторов используется библиотека Healenium (https://github.com/healenium/healenium-web)
3. Подключен Report Portal (https://reportportal.io/)
4. Настроено логирование
5. Реализована возможность кроссбаузерного тестирования и удаленного запуска тестов
6. Реализована возможность параллельного запуска тестов
7. Код проекта хранится в Git (важна частота и содержание коммитов)
8. Для работы со страницами используется паттерн Page Object
9. Код оформлен согласно Java Code Conventions, коментарии в стиле Javadoc приветствуются
*Дополнительно: Настроена интеграция с CI и запуск тестов по расписанию
Обязательное тестовое покрытие:
1. Просмотр предстоящих мероприятий:
1.1 Пользователь переходит на вкладку events
1.2 Пользователь нажимает на Upcoming Events
1.3 На странице отображаются карточки предстоящих мероприятий. Количество карточек равно счетчику на кнопке Upcoming Events
2. Просмотр карточек мероприятий:
2.1 Пользователь переходит на вкладку events
2.2 Пользователь нажимает на Upcoming Events
2.3 На странице отображаются карточки предстоящих мероприятий.
2.4 В карточке указана информация о мероприятии:
• город проведения, язык
• название мероприятия
• дата мероприятия
• информация о регистрации
• список спикеров
Важно проверить порядок отображаемых блоков с информацией в карточке мероприятия
3. Валидация дат предстоящих мероприятий:
3.1 Пользователь переходит на вкладку events
3.2 Пользователь нажимает на Upcoming Events
3.3 На странице отображаются карточки предстоящих мероприятий.
3.4 В блоке This week даты проведения мероприятий больше или равны текущей дате и находятся в пределах текущей недели.
4. Просмотр прошедших мероприятий в Канаде:
4.1 Пользователь переходит на вкладку events
4.2 Пользователь нажимает на Past Events
4.3 Пользователь нажимает на Location в блоке фильтров и выбирает Canada в выпадающем списке
4.4 На странице отображаются карточки прошедших мероприятий. Количество карточек равно счетчику на кнопке Past Events. Даты проведенных мероприятий меньше текущей даты.
5. Просмотр детальной информации о мероприятии:
5.1 Пользователь переходит на вкладку events
5.2 Пользователь нажимает на Upcoming Events
5.3 На странице отображаются карточки предстоящих мероприятий.
5.4 Пользователь нажимает на любую карточку
5.5 Происходит переход на страницу с подробной информацией о мероприятии
5.6 На странице с информацией о мероприятии отображается шапка с кнопкой для регистрации, программа мероприятия, карта
6. Фильтрация докладов по категориям:
6.1 Пользователь переходит на вкладку Talks Library
6.2 Пользователь нажимает на More Filters
6.3 Пользователь выбирает: Category – Testing, Location – Belarus, Language – English, На вкладке фильтров
6.4 На странице отображаются карточки соответствующие правилам выбранных фильтров
7. Поиск докладов по ключевому слову:
7.1 Пользователь переходит на вкладку Talks Library
7.2 Пользователь вводит ключевое слово QA в поле поиска
7.3 На странице отображаются доклады, содержащие в названии ключевое слово поиска
*Дополнительно: Тестовое покрытие может быть расширено для функциональности фильтрации

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

Дмитрий Еремин
ВТБ
Главный разработчик отдела автоматизации процессов разработки СМБ проектов банка ВТБ.
Команда Дмитрия отвечает за DevOps и автоматизацию тестирования проектов систем малого бизнеса.
Работал в таких компаниях, как Renaissance Capital, Frumatic, ПАО «Промсвязьбанк», Luxoft, Enterra, It-Grands.

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

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

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

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

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