Java

Intellij
IDEA

Selenium

Selenide

Selenoid

Allure
Reports

Allure
TestOps

Gradle

Github

JUnit5

Jenkins

Docker

Rest
Assured

Appium

Browser
stack

Slack

Telegram

Jira

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

Старт 32-го потока - 26 декабря

Научим основам языка Java
Научим ремеслу QA и автоматизации тестирования
Поможем с устройством на работу

  • 4 месяца обучения
    30+ занятий, по 2 занятия в неделю с домашками + вебинары "вопросы и ответы"
  • Поддержка в чате потока
    В уютном чате потока можно найти помощь и поддержку от менторов и одногруппников
  • 100 часов практики
    + 4 проекта по автоматизации в портфолио – залог уверенности в себе на собеседованиях
  • Опытные менторы
    Гуру тестирования проверят домашку, дадут ценные советы и помогут преодолеть любые трудности
КАРЬЕРНЫЕ ВОЗМОЖНОСТИ
По данным hh.ru, средняя зарплата Automation QA на Java – 200 000 рублей
  • 80 000 ₽
    Джуниор QA – до года опыта
  • 200 000 ₽
    Миддл QA – 1-2 года опыта
  • 350 000 ₽+
    Сеньор QA – более 3 лет
ЧЕМУ МЫ УЧИМ
Языку Java и автотестам
Сможешь писать код для автоматизированного тестирования WEB- и мобильных приложений и API
Лучшим практикам QA
Научишься управлять процессами авто-тестирования и инфраструктурой для этого согласно лучшим практикам в индустрии QA
Построению инфраструктуры
Инфраструктура – неотъемлемая часть работы Auto QA инженера. К концу обучения, это перестанет быть для тебя магией
ПРЕПОДАВАТЕЛИ КУРСА
Наши преподаватели формируют облик индустрии. QA-инженеры по всему миру ежедневно используют ПО, над которым они работают
  • Артем Ерошенко
    Qameta Software
    Более 14 лет занимается автоматизацией тестирования сервисов в Яндексе. С 2011 года разработчик Allure Reports и Allure TestOps, использующихся тестировщиками по всему миру.
  • Алексей Виноградов
    Vinogradov IT-Beratung
    Работает в IT-проектах в Германии более 20 лет. Консультирует по вопросам тестирования и автоматизации. Разработчик и популяризатор Selenide.
  • Станислав Васенков
    Основатель QA.GURU
    Более 9 лет опыта в автоматизации тестирования. Основатель сообщества в Telegram @qa_automation, организатор конференции qa.cyprusitforum.com.
  • Дмитрий Тучс
    Dodo Brands
    В IT более 12 лет. Начинал в аналитике, управлял проектами, в настоящее время занимается менторством, пишет и автоматизирует на Java. Head of QA at Dodo Brands.
ПРОГРАММА КУРСА
Старт 33-го потока – 26 декабря
01
Вводное занятие. Сразу к практике!
Станислав Васенков
  • Начнем знакомство с автоматизацией тестирования с простого автотеста на поиск в Google. Можно без опыта в IT и без знания программирования.
  • Изучим готовый проект с инфраструктурой: Github, Jenkins, Allure TestOps, Selenoid, Telegram Bot.
Будем писать код сразу в трех версиях - Java + Selenide, Java + Selenium, Java + Playwright
02
Дополнительное занятие. Профессионально работаем с IntelliJ IDEA
Юрий Артамонов
Изучим основные возможности редактора кода вместе с разработчиком инструмента. Занятие также рекомендуется пересмотреть ближе к концу обучения.
  • Рассмотрим основы инструмента
  • Подключим Git & Github
  • С Docker тоже поработаем
  • Базы данных - Idea и такое может
  • Разработаем автотесты с Selenium / Selenide
  • Поднимем свой HTTP Client со Swagger
03
Git. Github. Погружаемся
Дмитрий Тучс
Любое программирование, даже самое сложное - это просто текст. Как хранить код проекта/автотестов удаленно на сервере (GitHub)

  • Познакомимся с основами Git & Github
  • Основы ветвления, pull requests
Также рекомендуется пересмотреть занятие ближе к концу обучения
04
Погружаемся в инструментарий и библиотеки
Станислав Васенков, Дмитрий Тучс
  • Коротко закрепим материал про Git / GitHub - все оказывается довольно просто
  • Сравним технологии и обсудим преимущества используемых в обучении (наиболее оптимальный стек - Gradle + JUnit5 + Selenide):
- Gradle / Maven
- JUnit5 / TestNG
- Selenide / Selenium

  • Практика. Работаем с тренажером demoqa.com
  • Рассмотрим подробнее возможности Selenide и CSS / Xpath-селекторы
05
Разбор домашнего задания к уроку «Погружаемся в инструментарий и библиотеки»
Станислав Васенков
06
Дополнительное занятие. Selenide IDE – и такое бывает
Станислав Васенков
Вспомогательное занятие в помощь начинающему автоматизатору для быстрого поиска локаторов / элементов на странице
  • Установим Selenium IDE (расширение для Chrome), сделаем экспорт в Java-код
  • Установим Selenide IDE, сделаем новый экспорт кода
  • Сравним оба варианта
Данный инструмент не является Best-practice для серьезного инженера, но неплохо помогает в начале пути
07
Selenide #1
Алексей Виноградов
  • DOM для начинающих (запись)
  • Лайвкодинг – простые тесты для GitHub
  • Лайвкодинг – GitHub с решением некоторых типичных проблем
08
Selenide #2
Алексей Виноградов
  1. Практика
  • Пишем автотесты на Selenide
  • Тестируем виджеты

2. Теория
  • Закрепление знаний, полученных на практике
  • Java
  • JUnit5
09
Дополнительное занятие. Основы Java. Часть I
Дмитрий Тучс
Мы уже уверенно работаем с кодом, разрабатываем автотесты, а как же база? Пора изучить основы языка - на практические навыки накладываем теоретическую базу

В занятии разберем:
  • Структуру папок и проекта, src/main, src/test
  • Класс с точки зрения файлов
  • Класс с точки зрения Java
  • Class Fields – переменные (в чем разница)
  • Примитивные типы данных
  • Литералы
  • Операторы
  • Управляющие конструкции
  • Метод как описание поведения
  • Создание объектов и вызов методов
10
Продолжаем разрабатывать автотесты. PageObjects
Станислав Васенков
  • Добавляем в код PageObjects
  • Изучаем подходы – степовой, сценарный, dsl
  • Добавляем PageComponents
11
Продолжаем разрабатывать автотесты. Генерация тестовых данных
Станислав Васенков
  • Генерим рандомные значения, используя встроенные библиотеки
  • Используем JavaFaker
12
Дополнительное занятие. Основы Java. Часть II
Дмитрий Тучс
  • Объекты и их методы
  • Передача данных в методы. Разница между передачей по ссылке и по значению
  • Конструкторы
  • Массивы
  • Циклы
  • Введение в Java Collections
13
Live Q&A. Консультация к блоку «Selenide»
Алексей Виноградов
Обратите внимание: Сессия проводится при наличии заранее подготовленных вопросов.
Оставить их можно в соответствующих уроках в поле для комментариев – прямо под разделом с ДЗ.
14
JUnit 5
Дмитрий Тучс
  • Аннотация @Test
  • Что из себя представляют аннотации в Java
  • Пишем свою простейшую реализацию JUnit5
  • @Disabled, @DisplayName
  • Тест кейс – что такое и из чего состоит
  • Параметризованные тесты:
– концепция
– sources (дата-провайдеры)
– нэйминг
15
Работаем с файлами
Дмитрий Тучс
  • Как скачать и прочитать файл
  • Проверяем контент в .txt, .pdf, .xls/.xlsx, .doc/.docx, .zip
16
Allure Reports
Артем Ерошенко
  1. Практика
  • Подключение Allure Reports и настройка отчетности о прохождении автотестов
  • Построение более информативной отчетности c вложениями
  • Прикладываем скриншоты, файлы, логи и другие вложения в отчет

2. Теория
  • Обзор возможностей Allure Reports
17
Jenkins. Создаем первую задачу
Станислав Васенков
1. Практика
  • Создаем задачу (Job), связываем с репозиторием в Github, запускаем тесты удаленно.
2. Теория
  • Основы Jenkins
  • Основы CI/CD
18
Управляем параметрами в коде и Jenkins
Станислав Васенков
  • Передаем параметры в код из командной строки
  • Передаем параметры из Jenkins
19
Live Q&A. Консультация к блоку «UI-тестирования»
Станислав Васенков
Обратите внимание: Сессия проводится при наличии заранее подготовленных вопросов.
Оставить их можно в соответствующих уроках в поле для комментариев – прямо под разделом с ДЗ.
20
Телеграм-бот. Отправляем уведомления о результатах прохождении автотестов
Станислав Васенков
1. Практика
  • Постобработка сборки. Настраиваем отправку уведомлений в Jenkins
2. Теория
  • Обзор возможностей Telegram API
21
Учимся быстро разрабатывать готовые проекты для тестовых заданий
Станислав Васенков
Набиваем руку небольшими проектами.
1. Находим интересную нам вакансию (hh.ru / linkedin / @qa_jobs)
2. Делаем небольшой проект:
  • Разрабатываем 5-10 простых автотестов на сайт из вакансии
  • Создаем задачу в Jenkins
  • Настраиваем Allure-отчет, добавляем вложения:
– снимки экрана
– логи браузера
– видеозапись теста
– тест-план Allure TestOps – с ручными и автоматизированными тестами
– интеграцию с Jira
– настраиваем уведомления в Telegram / Slack

  • Делаем красивый GitHub README к своему профилю и проекту
22
REST API. Пишем автотесты с Rest-assured
Станислав Васенков
1. Практика
  • Пишем тесты на REST API при помощи библиотеки REST Assured

2. Теория
  • Основы HTTP протокола, типы запросов, коды ответов
23
Live Q&A. Консультация к блоку «Инфраструктура»
Станислав Васенков
Обратите внимание: Сессия проводится при наличии заранее подготовленных вопросов.
Оставить их можно в соответствующих уроках в поле для комментариев – прямо под разделом с ДЗ.
24
REST API. Модели. Спецификации
Станислав Васенков
1. Убираем тело запроса и ответ в модели
2. Добавляем спецификации
3. Добавляем Allure-отчетность
3.1 Добавляем шаблоны для более красивого отчета
25
Дополнительное занятие. Пусть всё будет Groovy!
Алексей Кузнецов
  • Основы Groovy и сравнение с Java
  • Разбираемся с GPath. Часть 1. Работа с JSON
  • Разбираемся с GPath, Часть 2. Работа с XML
  • Секция Q&A.
26
REST API. Улучшаем UI-тесты
Станислав Васенков
  • Длинные UI автотесты - антипаттерн. Обсудим как стабилизировать, облегчить и ускорить наши автотесты за счет переноса части шагов с UI на API слой.
  • Изучим сложный пример автотеста на чат для приложения поиска работы в стеке Java, Gradle, TestNG, Rest-Assured, Selenide, Allure Reports
27
REST API. Декомпозируем UI-тесты. Практический блок
Станислав Васенков
  • Превращаем UI-взаимодействия в API-запросы
  • Больше возможностей REST-assured
28
Дополнительное занятие. Основы Java. Часть III
Дмитрий Тучс
  • Слои логики приложения на Java (persistence layer / Business logic layer / View layer)
  • Интерфейсы и написание полиморфного кода
  • Mutable / Immutable объекты
  • Простые графические элементы управления приложением (Swing)
  • Реализация приложения
29
Дополнительное занятие. REST API. Закрепляющее занятие
Дмитрий Тучс
  • Swagger
  • API с другой стороны (backend на spring boot)
  • Интеграция backend со Swagger
  • Контроллеры, возвращающие списки объектов
  • Практика
30
Дополнительное занятие. SOAP API
Дмитрий Тучс
31
Библиотека Owner
Артем Ерошенко
  • Правильно организуем хранение свойств (properties) в проекте с библиотекой Owner
  • Прячем секретные данные в Jenkins
32
Live Q&A. Консультация к блоку «REST API»
Станислав Васенков
Обратите внимание: Сессия проводится при наличии заранее подготовленных вопросов.
Оставить их можно в соответствующих уроках в поле для комментариев – прямо под разделом с ДЗ.
33
Мобильная автоматизация #1. Разрабатываем автотесты с Browserstack
Станислав Васенков
1. Практика
  • Учимся пользоваться инспектором в Browserstack, разрабатываем первые автотесты на iOS / Android с Selenide
  • Browserstack-API. Забираем логи, видео

2. Теория
– Основы тестирования мобильных приложений
34
Мобильная автоматизация #2. Разрабатываем автотесты с эмулятором Android устройства и на своем телефоне
Станислав Васенков
  • Настраиваем рабочее место:
– Appium
– Android Studio
– Настраиваем переменные среды

  • Эмулируем Android устройство
  • Подключаем свой телефон
  • Практика. Разрабатываем автотесты с Appium
  • Теория. Основы Appium
[BONUS] Запускаем тесты на школьном Selenoid - Android
35
Live Q&A. Консультация к блоку занятий от Дмитрия Тучса
Дмитрий Тучс
Обратите внимание: Сессия проводится при наличии заранее подготовленных вопросов.
Оставить их можно в соответствующих уроках в поле для комментариев – прямо под разделом с ДЗ.
36
Live Q&A. Консультация к блоку «Мобильная автоматизация»
Станислав Васенков
Обратите внимание: Сессия проводится при наличии заранее подготовленных вопросов.
Оставить их можно в соответствующих уроках в поле для комментариев – прямо под разделом с ДЗ.
37
Allure TestOps
Артем Ерошенко
1. Знакомство с системой
2. Заведение тест-кейсов.
3. Создание первого тест-плана.

1. Интеграции с Jenkins и Jira
2. Объединение ручных тестов и автотестов в единый тест-план
3. Метрики, графики, углубленное изучение платформы
4. Администрирование
5. Обзор решений и внедренных проектов
38
Дипломный проект
Станислав Васенков
  • Подводим итоги по обучению
  • Получаем задание на диплом - проект c (manual + auto) тестами - Web, Mobile, Api
39
Дополнительное занятие. Selenoid
Роман Орлов
1. Практика
  • Добавляем контейнеризацию к задаче в Jenkins

2. Теория
  • Основы Docker. Selenoid
40
Переезд на собственную инфраструктуру с ресурсов школы
Егор Иванов
Настроим тестовый стенд локально. Точно также стенд настраивается на любом VPS, например в DigitalOcean.com
1. Рассмотрим базовые команды Linux, которые понадобятся
2. Доступ к удаленному серверу через ssh Ubuntu
2.1 Доступ к Ubuntu через ssh при помощи публичного RSA ключа
3. На виртуальной машине установим:
  • Java
  • Docker
  • Docker-compose
4. Создадим конфиг для Docker Compose
5. Поднимаем Selenoid + Selenoid UI
5.1 Проверяем, как это работает
6. Поднимаем Jenkins
6.1 Первичные настройки Jenkins
6.2 Проверка работоспособности
ТАРИФЫ
Обучение длится 4 месяца
Старт 26 декабря
САМОСТОЯТЕЛЬНЫЙ

Для тех, кто хочет самостоятельно учиться в своем темпе

55 000 ₽
Рассрочка от 5 500 ₽/мес
ПРОКАЧАТЬСЯ

С проверкой домашки и индивидуальными консультациями с менторами
68 000 ₽
Рассрочка от 6 800 ₽/мес
КАРЬЕРНОЕ РАЗВИТИЕ

Комплексный подход: обучение + карьерный блок

84 000 ₽
Рассрочка от 8 400 ₽/мес
ОТЗЫВЫ СТУДЕНТОВ
FAQ
О ТЕСТИРОВАНИИ НА JAVA
СТАНЬ
QA-ИНЖЕНЕРОМ
Напиши нам, или оставь заявку, и мы свяжемся с тобой в ближайшее время