Главная » Программирование » qa.guru - Курс по автоматизации тестирования Java Advanced 2.0 для продвинутых. 10 поток
qa.guru - Курс по автоматизации тестирования Java Advanced 2.0 для продвинутых. 10 поток

6 б
Облако Mail
189 P
Артикул: 14404
В наличии
Автор курса: qa.guru
Категория: Программирование
Дата выхода: 2025
Продажник от автора: Перейти
Описание
О курсе:
Вы прокачаете знания в автоматизации на Java до уровня Senior+ и разнообразите портфолио впечатляющими кейсами
Регулярно обновляем программу, учим только актуальному
1. Niffler и его тестирование Advanced Как меняется проект
Тестируем полностью самописное приложение в суперсовременном стеке (Java 21, Spring Boot 3, Spring Security 6, Spring Data, OAuth2, gRPC, GraphQL, Microservices, Docker, Postgres, React)
Научим не просто понимать, как написать автотест на GraphQL, но и разберемся в том, как это работает под капотом
Вы узнаете, как сделать запрос в БД из теста и зачем это может быть нужно в микросервисной архитектуре
Будем подменять настоящие микросервисы на Wiremock на практике
2. Знакомство с Niffler NG. Локальный запуск, введение в учебный процесс, QA сессия
Обзор проекта Niffler
Необходимые предусловия для работы с проектом
Запуск локально: настройка в Idea Ultimate, Community
Необходимые предусловия для запуска проекта в docker, отличия для Windows и Nix
Запуск проекта в докере
Выполнение домашних заданий
3.1. Введение в JUnit Extensions. Callbacks, жизненный цикл теста, разбор первого теста
Интерфейсы BeforeEachCallback, AfterEachCallback и другие callback
Подключение Extension декларативно — аннотация @ExtendWith
Разбор теста, написанного на вводном занятии
Написание Extension для создания скриншотов на упавший тест
3.2. Погружение в JUnit Extensions: ExtensionContext, интерфейс ParameterResolver. Создание Extension "очередь тестовых пользователей"
Интерфейсы ExtensionContext и Store
Концепция шэринга данных через Store + Namespace
Создаем threadsafe очередь пользователей – UsersQueueExtension
3.3. Интеграция JUnit Extensions. Метааннотации, 3 способа подключения Extension. Создаем TestMethodContextExtension, QA сессия
Работа с аннотациями в Extensions, класс AnnotationSupport
Метааннотации
ServiceLoader и глобальное подключение Extensions
Аннотация @RegisterExtension
Q&A сессия
4.1. Работаем с RDBMS из тестов. Введение в JDBC базовые интерфейсы и архитектура. Пишем INSERT и SELECT запросы
Краткая теория JDBC
Интерфейсы DataSource, Connection, Statement, PreparedStatement, ResultSet
Реализация SpendRepositryJdbc
Вставка данных в БД (sql INSERT) через JDBC
Возврат ID созданной записи
4.2. Работаем с RDBMS из тестов. JDBC Транзакции, JTA. Определение границ транзакций
Понятие Repository, создание UserRepository
Транзакции в JDBC
Реализация UserRepositoryJDBC
Модификация данных в БД
5.1. Работаем с RDBMS из тестов. Spring-JDBC базовая функциональность и архитектура библиотеки
JDBC-Template: теория и применимость
Реализация простых запросов (CRUD) c помощью библиотеки Spring-JDBC
5.2. Работаем с RDBMS из тестов. Spring-JDBC транзакции
Класс TransactionTemplate
Интерфейс PreparedStatementCreator
Реализация UserRepositorySpringJdbc
6.1. Работаем с RDBMS из тестов. Спецификация JPA
Hibernate и JPA краткая теория
Интерфейсы EntityManagerFactory и EntityManager
Декораторы для EntityManager: интерфейс EntityTransaction и использование ThreadLocal EntityManager
6.2. Работаем с RDBMS из тестов. Hibernate + JNDI + JTA
Конфигурационный файл persistence.xml
Реализация UserRepositoryHibernate
Особенности использования Hibernate работа с коллекциями, ленивая инициализация
6.3. Используем Repository. Подключаем созданные классы Repository к Extension. QA сессия
Создание аннотации и Extension AbstractTestUserExtension
Наследование Extension: создание класса DbTestUserExtension
Реализация логики создание тестового пользователя: хэширование пароля, создание в БД нескольких микросервисов
Передача пользователя в тест через ParameterResolver
Q&A сессия
7.1. втоматизация «с нуля» минималистичный фреймворк
Build.gradle best practices
Конфигурации запуска
Абстракции для работы с REST api
PageObject
Утилитные классы
7.2. Автоматизация «с нуля». Базовые классы. Dependency Injection + QA сессия
Классы BaseRestTest, BaseGraphQL
Подготовка к написанию REST тестов пишем простые тесты на internal api (без авторизации)
Концепция Dependency Injection и ее реализация с помощью интерфейса TestInstancePostProcessor в JUnit 5
Q&A сессия
8.1. Параллелизация тестов в JUnit5: Теория
Теория параллельного программирования и ее применимость к тестам
Shared mutable state: что такое и чем вредит
Конфигурация и стратегии параллелизации в JUnit 5
8.2. Параллелизация тестов в JUnit5: инструменты управление параллельным запуском. QA сессия по параллелизации
Аннотация @ResourceLock
Аннотация @Execution
Особенности работы с JUnit Extensions при многопоточном выполнении тестов
Еще раз про важность использования ThreadLocal переменных на примере EntityManager
Q&A сессия
9.1. Allure Lifecycle. Добавляем в отчет логи тестируемых сервисов
Класс AllureLifecycle
Создаем ServerLogExtension, добавляющий логи бэкенда в Allure
Дорабатываем UsersQueueExtension
Создаем Extension для удаления вложений к тестам
9.2. Allure Lifecycle. Кастомные html-вложения на примере логгирования SQL
Принцип работа внешних интеграций Allure на примере класса AllureSelenide
Реализация интеграции для работы с SQL: библиотека P6Spy
10.1 Selenide Conditions. Создаем кастомные проверки для веб-элементов и коллекций
Классы Condition / CollectionCondition
Пишем свои кастомные ожидания для проекта Niffler: FriendsCondition, PhotoCondition
10.2. Selenide: нестатическая кинфигурация, библиотека selenide-core
Класс SelenideConfiguration
Реализация поднятия 2 браузеров в тесте
Параллельное выполнение тестов в разных браузерах
Использование PageObject для бибилотеки selenide-core
10.3. QA сессия по Allure и Selenide
Реализация поднятия 2 браузеров в тесте
Параллельное выполнение тестов в разных браузерах
Использование PageObject для бибилотеки selenide-core
QA сессия по кастомизации Allure и Selenide
11.1. OAUTH 2.0 + OIDC. Базовые концепции. PKCE
Краткая теория Oauth 2.0 code flow
Смотрим http-запросы в консоли браузера и подготавливаем инфраструктуру для автоматизации логина
11.2. OAUTH 2.0 + OIDC. Реализация через Retrofit + JUnit Extension
Создаем интерфес ContextHolderExtension
Создаем класс CodeInterceptor для okhttp клиента
Создаем ApiLoginExtension
11.3. OAUTH 2.0 + OIDC. Расширяем тестовое покрытие. QA сессия
Пишем WEB и API тесты с созданием всех тестовых данных через JUnit Extensions.
Q&A сессия по авторизации через Retrofit
12.1. Spring core + Spring Boot. Создаем простой REST сервис
Базовые компоненты Spring (context, DI, сервисы)
Использование Spring Web (создаем REST сервис)
Использование Spring Data JPA (работа с базой)
12.2. Spring core + Spring Boot. Работа с исключениями
Концепция Controller Advice, возврат на фронт унифицированных ошибок
Docker краткая теория
Докеризация Spring-приложения через плагин google jib
13.1. GraphQL: Реализация в Spring Boot
GraphQL в Spring Boot
Аннотации @QueryMappig, @chemaMapping
Интерфейс DataFetchingEnvironment
Утилита graphiql
13.2. GraphQL. Пишем автотесты с использованием Apollo Client
Подготовка тестовых данных
Создаем Extension GqlRequestExtension для работы со статическими данными
Пишем тесты на проверку вложенных подзапросов
Пишем тесты на проверку работы с Apollo Cache
14. Установочное занятие по диплому
Знакомство с дипломными проектами: Rococo, Rangiffler
Обзор успешной дипломной работы
15.1. gRPC: Реализация в Spring Boot
gRPC в Spring Boot
Protobuf и Protoc компиллятор
Интерфейс StreamObserver
Конфигурация, работа с исключениями и информирование об ошибках
15.2. gRPC. Пишем автотесты с использованием нативных библиотек
Подготовка тестовых данных
Особенности работы с proto-файлами тестируемых сервисов в тестах
Пишем тесты на gRPC сервис niffler-currency
Сложные кейсы: gRPC Streaming
16.1. SOAP: Реализация в Spring Boot
SOAP в Spring Boot
XSD и WSDL схемыАннотации @Endpoint, @PayloadRoot, @ResponsePayload
16.2. SOAP: Пишем тесты с помощью Retrofit
Подготовка тестовых данных
Особенности работы с wsdl тестируемых сервисов в тестах
Пишем тесты на SOAP сервис niffler-userdata
16.3. GraphQL, gRPC, SOAP: Q&A сессия
17. Unit тесты – пишем тестируемый код и тесты для него
Краткая теория юнит-тестирования
Библиотека Mockito
Покрываем тестами код сервисов Niffler
18.1. Пишем первые тесты, разбираемся с селекторами
Что такое селекторы, как по них находить элементы
Как посмотреть дерево элементов через консоль
Как работать с брейкпойнтами во время написания теста
Как добавить первые тесты в проект
Как запускать тесты
Пишем первый тест на экране регистрации
18.2. Переиспользуем код между разными тестами
Пишем второй тест и переиспользуем код между ними
Стабилизируем тесты: сбросив данные о регистрации
Как деталилазия шагов упрощает чтение тест-репорта
Выносим общий код в сетап и тирдаун
18.3. Погружение: пишем тесты для сложных сценариев
Добавляем accessibilityIdentifier для тестов
Пишем сложный тест на три экрана — проходим авторизацию, добавляем новые траты и проверяем, что они появились в общем списке.
Упрощаем тест, чтобы его легко было прочитать.
18.4. Page Object паттерн в IOS тестах
Делим тесткейсы на разные файлы
Зачем нужны пейджобжекты и как они помогают писать новые тесты
Описываем структуру пейдж-обжекта и переносим все прошлые тесты на них
18.5. Особенности XCUITests
Приводим тесты к нужной структуре, обсуждаем название тестов
Обсуждаем разные способы получения селекторов
Способы ускорения тестов
18.6. Финальная лекция блока
Как максимально быстро настроить автоматический запуск тестов и оповещения в мессенджер
19.1. Docker-compose. Запуск тестов локально в изолированном окружении
Поднимаем микросервисы в docker compose
Selenoid & Selenoid UI
Доработка конфигурации тестов для запуска в docker
Упаковка проекта с тестами в docker контейнер, написание Dockerfile
19.2. Докеризация Niffler Тонкости инфраструктуры
Рассмотрим bash-скрипты в проекте niffler
Докеризация фронтеда с использованием nginx
Особеннности работы с docker-окружением
19.3. Docker-compose QA сессия
Обзор Allure docker service
Написание интерфейса SuiteExtension, AllureSendresultExtension
Q&A сессия
20.1. Wiremock. Мок REST API in-memory
Сравнение с библиотекой Mockito
Используем in-memory Wiremock прямо в тестах
20.2. Wiremock. Standalone mock for RESTgRPC API
Используем http и gRPC Wiremock в docker-compose
21.1. Apache Kafkа. Реализация producer consumer в Spring Boot
Kafka в проекте на Spring Boot
Конфигурации consumer и producer
21.2. Apache Kafkа. Реализация consumer в тестах
Пишем свой Consumer и JUnit Extension для его использования в тестах
21.3. Q&A сессия по Wiremock и Kafka
22. Конференции – готовим доклад и себя к выступлению
Как попасть на конференцию спикером
Как готовиться
Презентация – хорошая и плохая
Дискуссия до и после доклада
Ради чего? Плюсы и минусы
23. CI/CD - pipeline, к которому мы шли
Рассматриваем вопросы сборки проекта и деплоя на прод с использованием GHA
24. Q&A по дипломному проекту
Отвечаем на вопросы, возникшие при работе над дипломным проектом
Преподаватели:
Дмитрий Тучс. Преподаёт основную программу Java на курсе Java Advanced 2.0
В IT больше 12 лет. Начинал в аналитике, управлял проектами. Сейчас — Head of QA at Dodo Brands. Занимается менторством, пишет и автоматизирует на Java. Автор учебной программы QA.GURU Java Advanced.
Михаил Рубанов. Преподаёт iOS-программу на курсе Java Advanced 2.0
Head of mobile в Dodo Engineering. В разработке любит интерфейсы, тесты и доступность. Купил 10 эргономичных клавиатур. Написал книгу «Про доступность iOS». Пишет статьи на Хабр, ведет Telegram-канал о мобильной разработке в Dodo.
ИСТОЧНИК
СКАЧАТЬ
- 6 месяцев обучения
- Больше 50 занятий с домашкой, по 2 занятия в неделю, и живые вебинары
- Программа по Java с погружением в backend
- Ваш уникальный микросервисный проект на Spring, покрытый всеми видами автотестов
- Обновленный курс по iOS
- Собственный проект на Swift, полное погружение в мир нативного mobile-тестирования и ни слова про Appium
- Обновлённый Niffler
- Полноценный web-проект с продуманной архитектурой, позволяющей обучаться на практических примерах
Вы прокачаете знания в автоматизации на Java до уровня Senior+ и разнообразите портфолио впечатляющими кейсами
- Архитектура и дизайн. Глубокому пониманию JUnit extension. И использованию паттернов разработки, таких как decorator, singleton, factory, IOC.
- Покроем всё. Тестированию нестандартных протоколов взаимодействия: gRPC, GraphQL, SOAP. А также работе с базами данных и Kafka, и с такими инструментами как docker и docker-compose.
- Кроме того. Создадим весь код с нуля, исследуем, как тестируемые технологии работают в Spring Boot под капотом.
- 100 000 ₽ — Средняя заработная плата тестировщика.
- Одна из самых перспективных профессий на рынке.
- Возможность удалённой работы и гибкого графика.
- Быстрый карьерный рост от джуна до тимлида.
- Постоянное развитие и изучение новых технологий.
- Возможность работы в различных сферах.
- Высокий спрос на специалистов во всех IT-компаниях.
Регулярно обновляем программу, учим только актуальному
1. Niffler и его тестирование Advanced Как меняется проект
Тестируем полностью самописное приложение в суперсовременном стеке (Java 21, Spring Boot 3, Spring Security 6, Spring Data, OAuth2, gRPC, GraphQL, Microservices, Docker, Postgres, React)
Научим не просто понимать, как написать автотест на GraphQL, но и разберемся в том, как это работает под капотом
Вы узнаете, как сделать запрос в БД из теста и зачем это может быть нужно в микросервисной архитектуре
Будем подменять настоящие микросервисы на Wiremock на практике
2. Знакомство с Niffler NG. Локальный запуск, введение в учебный процесс, QA сессия
Обзор проекта Niffler
Необходимые предусловия для работы с проектом
Запуск локально: настройка в Idea Ultimate, Community
Необходимые предусловия для запуска проекта в docker, отличия для Windows и Nix
Запуск проекта в докере
Выполнение домашних заданий
3.1. Введение в JUnit Extensions. Callbacks, жизненный цикл теста, разбор первого теста
Интерфейсы BeforeEachCallback, AfterEachCallback и другие callback
Подключение Extension декларативно — аннотация @ExtendWith
Разбор теста, написанного на вводном занятии
Написание Extension для создания скриншотов на упавший тест
3.2. Погружение в JUnit Extensions: ExtensionContext, интерфейс ParameterResolver. Создание Extension "очередь тестовых пользователей"
Интерфейсы ExtensionContext и Store
Концепция шэринга данных через Store + Namespace
Создаем threadsafe очередь пользователей – UsersQueueExtension
3.3. Интеграция JUnit Extensions. Метааннотации, 3 способа подключения Extension. Создаем TestMethodContextExtension, QA сессия
Работа с аннотациями в Extensions, класс AnnotationSupport
Метааннотации
ServiceLoader и глобальное подключение Extensions
Аннотация @RegisterExtension
Q&A сессия
4.1. Работаем с RDBMS из тестов. Введение в JDBC базовые интерфейсы и архитектура. Пишем INSERT и SELECT запросы
Краткая теория JDBC
Интерфейсы DataSource, Connection, Statement, PreparedStatement, ResultSet
Реализация SpendRepositryJdbc
Вставка данных в БД (sql INSERT) через JDBC
Возврат ID созданной записи
4.2. Работаем с RDBMS из тестов. JDBC Транзакции, JTA. Определение границ транзакций
Понятие Repository, создание UserRepository
Транзакции в JDBC
Реализация UserRepositoryJDBC
Модификация данных в БД
5.1. Работаем с RDBMS из тестов. Spring-JDBC базовая функциональность и архитектура библиотеки
JDBC-Template: теория и применимость
Реализация простых запросов (CRUD) c помощью библиотеки Spring-JDBC
5.2. Работаем с RDBMS из тестов. Spring-JDBC транзакции
Класс TransactionTemplate
Интерфейс PreparedStatementCreator
Реализация UserRepositorySpringJdbc
6.1. Работаем с RDBMS из тестов. Спецификация JPA
Hibernate и JPA краткая теория
Интерфейсы EntityManagerFactory и EntityManager
Декораторы для EntityManager: интерфейс EntityTransaction и использование ThreadLocal EntityManager
6.2. Работаем с RDBMS из тестов. Hibernate + JNDI + JTA
Конфигурационный файл persistence.xml
Реализация UserRepositoryHibernate
Особенности использования Hibernate работа с коллекциями, ленивая инициализация
6.3. Используем Repository. Подключаем созданные классы Repository к Extension. QA сессия
Создание аннотации и Extension AbstractTestUserExtension
Наследование Extension: создание класса DbTestUserExtension
Реализация логики создание тестового пользователя: хэширование пароля, создание в БД нескольких микросервисов
Передача пользователя в тест через ParameterResolver
Q&A сессия
7.1. втоматизация «с нуля» минималистичный фреймворк
Build.gradle best practices
Конфигурации запуска
Абстракции для работы с REST api
PageObject
Утилитные классы
7.2. Автоматизация «с нуля». Базовые классы. Dependency Injection + QA сессия
Классы BaseRestTest, BaseGraphQL
Подготовка к написанию REST тестов пишем простые тесты на internal api (без авторизации)
Концепция Dependency Injection и ее реализация с помощью интерфейса TestInstancePostProcessor в JUnit 5
Q&A сессия
8.1. Параллелизация тестов в JUnit5: Теория
Теория параллельного программирования и ее применимость к тестам
Shared mutable state: что такое и чем вредит
Конфигурация и стратегии параллелизации в JUnit 5
8.2. Параллелизация тестов в JUnit5: инструменты управление параллельным запуском. QA сессия по параллелизации
Аннотация @ResourceLock
Аннотация @Execution
Особенности работы с JUnit Extensions при многопоточном выполнении тестов
Еще раз про важность использования ThreadLocal переменных на примере EntityManager
Q&A сессия
9.1. Allure Lifecycle. Добавляем в отчет логи тестируемых сервисов
Класс AllureLifecycle
Создаем ServerLogExtension, добавляющий логи бэкенда в Allure
Дорабатываем UsersQueueExtension
Создаем Extension для удаления вложений к тестам
9.2. Allure Lifecycle. Кастомные html-вложения на примере логгирования SQL
Принцип работа внешних интеграций Allure на примере класса AllureSelenide
Реализация интеграции для работы с SQL: библиотека P6Spy
10.1 Selenide Conditions. Создаем кастомные проверки для веб-элементов и коллекций
Классы Condition / CollectionCondition
Пишем свои кастомные ожидания для проекта Niffler: FriendsCondition, PhotoCondition
10.2. Selenide: нестатическая кинфигурация, библиотека selenide-core
Класс SelenideConfiguration
Реализация поднятия 2 браузеров в тесте
Параллельное выполнение тестов в разных браузерах
Использование PageObject для бибилотеки selenide-core
10.3. QA сессия по Allure и Selenide
Реализация поднятия 2 браузеров в тесте
Параллельное выполнение тестов в разных браузерах
Использование PageObject для бибилотеки selenide-core
QA сессия по кастомизации Allure и Selenide
11.1. OAUTH 2.0 + OIDC. Базовые концепции. PKCE
Краткая теория Oauth 2.0 code flow
Смотрим http-запросы в консоли браузера и подготавливаем инфраструктуру для автоматизации логина
11.2. OAUTH 2.0 + OIDC. Реализация через Retrofit + JUnit Extension
Создаем интерфес ContextHolderExtension
Создаем класс CodeInterceptor для okhttp клиента
Создаем ApiLoginExtension
11.3. OAUTH 2.0 + OIDC. Расширяем тестовое покрытие. QA сессия
Пишем WEB и API тесты с созданием всех тестовых данных через JUnit Extensions.
Q&A сессия по авторизации через Retrofit
12.1. Spring core + Spring Boot. Создаем простой REST сервис
Базовые компоненты Spring (context, DI, сервисы)
Использование Spring Web (создаем REST сервис)
Использование Spring Data JPA (работа с базой)
12.2. Spring core + Spring Boot. Работа с исключениями
Концепция Controller Advice, возврат на фронт унифицированных ошибок
Docker краткая теория
Докеризация Spring-приложения через плагин google jib
13.1. GraphQL: Реализация в Spring Boot
GraphQL в Spring Boot
Аннотации @QueryMappig, @chemaMapping
Интерфейс DataFetchingEnvironment
Утилита graphiql
13.2. GraphQL. Пишем автотесты с использованием Apollo Client
Подготовка тестовых данных
Создаем Extension GqlRequestExtension для работы со статическими данными
Пишем тесты на проверку вложенных подзапросов
Пишем тесты на проверку работы с Apollo Cache
14. Установочное занятие по диплому
Знакомство с дипломными проектами: Rococo, Rangiffler
Обзор успешной дипломной работы
15.1. gRPC: Реализация в Spring Boot
gRPC в Spring Boot
Protobuf и Protoc компиллятор
Интерфейс StreamObserver
Конфигурация, работа с исключениями и информирование об ошибках
15.2. gRPC. Пишем автотесты с использованием нативных библиотек
Подготовка тестовых данных
Особенности работы с proto-файлами тестируемых сервисов в тестах
Пишем тесты на gRPC сервис niffler-currency
Сложные кейсы: gRPC Streaming
16.1. SOAP: Реализация в Spring Boot
SOAP в Spring Boot
XSD и WSDL схемыАннотации @Endpoint, @PayloadRoot, @ResponsePayload
16.2. SOAP: Пишем тесты с помощью Retrofit
Подготовка тестовых данных
Особенности работы с wsdl тестируемых сервисов в тестах
Пишем тесты на SOAP сервис niffler-userdata
16.3. GraphQL, gRPC, SOAP: Q&A сессия
17. Unit тесты – пишем тестируемый код и тесты для него
Краткая теория юнит-тестирования
Библиотека Mockito
Покрываем тестами код сервисов Niffler
18.1. Пишем первые тесты, разбираемся с селекторами
Что такое селекторы, как по них находить элементы
Как посмотреть дерево элементов через консоль
Как работать с брейкпойнтами во время написания теста
Как добавить первые тесты в проект
Как запускать тесты
Пишем первый тест на экране регистрации
18.2. Переиспользуем код между разными тестами
Пишем второй тест и переиспользуем код между ними
Стабилизируем тесты: сбросив данные о регистрации
Как деталилазия шагов упрощает чтение тест-репорта
Выносим общий код в сетап и тирдаун
18.3. Погружение: пишем тесты для сложных сценариев
Добавляем accessibilityIdentifier для тестов
Пишем сложный тест на три экрана — проходим авторизацию, добавляем новые траты и проверяем, что они появились в общем списке.
Упрощаем тест, чтобы его легко было прочитать.
18.4. Page Object паттерн в IOS тестах
Делим тесткейсы на разные файлы
Зачем нужны пейджобжекты и как они помогают писать новые тесты
Описываем структуру пейдж-обжекта и переносим все прошлые тесты на них
18.5. Особенности XCUITests
Приводим тесты к нужной структуре, обсуждаем название тестов
Обсуждаем разные способы получения селекторов
Способы ускорения тестов
18.6. Финальная лекция блока
Как максимально быстро настроить автоматический запуск тестов и оповещения в мессенджер
19.1. Docker-compose. Запуск тестов локально в изолированном окружении
Поднимаем микросервисы в docker compose
Selenoid & Selenoid UI
Доработка конфигурации тестов для запуска в docker
Упаковка проекта с тестами в docker контейнер, написание Dockerfile
19.2. Докеризация Niffler Тонкости инфраструктуры
Рассмотрим bash-скрипты в проекте niffler
Докеризация фронтеда с использованием nginx
Особеннности работы с docker-окружением
19.3. Docker-compose QA сессия
Обзор Allure docker service
Написание интерфейса SuiteExtension, AllureSendresultExtension
Q&A сессия
20.1. Wiremock. Мок REST API in-memory
Сравнение с библиотекой Mockito
Используем in-memory Wiremock прямо в тестах
20.2. Wiremock. Standalone mock for RESTgRPC API
Используем http и gRPC Wiremock в docker-compose
21.1. Apache Kafkа. Реализация producer consumer в Spring Boot
Kafka в проекте на Spring Boot
Конфигурации consumer и producer
21.2. Apache Kafkа. Реализация consumer в тестах
Пишем свой Consumer и JUnit Extension для его использования в тестах
21.3. Q&A сессия по Wiremock и Kafka
22. Конференции – готовим доклад и себя к выступлению
Как попасть на конференцию спикером
Как готовиться
Презентация – хорошая и плохая
Дискуссия до и после доклада
Ради чего? Плюсы и минусы
23. CI/CD - pipeline, к которому мы шли
Рассматриваем вопросы сборки проекта и деплоя на прод с использованием GHA
24. Q&A по дипломному проекту
Отвечаем на вопросы, возникшие при работе над дипломным проектом
Преподаватели:
Дмитрий Тучс. Преподаёт основную программу Java на курсе Java Advanced 2.0
В IT больше 12 лет. Начинал в аналитике, управлял проектами. Сейчас — Head of QA at Dodo Brands. Занимается менторством, пишет и автоматизирует на Java. Автор учебной программы QA.GURU Java Advanced.
Михаил Рубанов. Преподаёт iOS-программу на курсе Java Advanced 2.0
Head of mobile в Dodo Engineering. В разработке любит интерфейсы, тесты и доступность. Купил 10 эргономичных клавиатур. Написал книгу «Про доступность iOS». Пишет статьи на Хабр, ведет Telegram-канал о мобильной разработке в Dodo.
ИСТОЧНИК
СКАЧАТЬ
Вы находитесь на странице курса «qa.guru - Курс по автоматизации тестирования Java Advanced 2.0 для продвинутых. 10 поток». Материал относится к 2025 году и может быть полезен для вашего развития. Все курсы у нас предлагаются по доступной цене, значительно ниже оригинальной стоимости автора — рублей. На сайте Sklads.net вы можете приобрести данный курс всего за 189 рублей. Для каждого курса доступен оригинальный продажник, чтобы вы могли ознакомиться перед покупкой. Данный обучающий материал относится к рубрике «Программирование», которая пользуется популярностью у наших покупателей. Также на Sklads.net вы найдете множество других курсов от автора «qa.guru» — просто введите его имя в поиск.
✅ После оплаты система мгновенно направит на вашу почту ссылку(и) на курс, регистрация необязательна!
🛑 Авторизуйтесь или зарегистрируйтесь и Вы получите ссылку не только на почту, но и на странице товара.
🛑 Авторизуйтесь или зарегистрируйтесь и Вы получите ссылку не только на почту, но и на странице товара.
📲 Наши отзывы на сайте | в Telegram (кликабельно)
🤔 Есть сомнения в инфопродукте? В качестве гарантии можем отправить дополнительные скриншоты, любой видео файл или сделать запись с экрана содержимого на облаке.
🔆 Нашли дешевле в другом месте? Сделаем цену ещё ниже чем там где вы нашли!
✍🏻 По всем вопросам, в том числе с оплатой и получением - писать в Telegram (кликабельно), в чат на сайте (в нижнем правом углу) или на почту admin@coursx.net Мы всегда на связи!
🤔 Есть сомнения в инфопродукте? В качестве гарантии можем отправить дополнительные скриншоты, любой видео файл или сделать запись с экрана содержимого на облаке.
🔆 Нашли дешевле в другом месте? Сделаем цену ещё ниже чем там где вы нашли!
✍🏻 По всем вопросам, в том числе с оплатой и получением - писать в Telegram (кликабельно), в чат на сайте (в нижнем правом углу) или на почту admin@coursx.net Мы всегда на связи!
Поделиться страницей
Также смотрите
С. Васенков, и др. - Продвинутый курс по автоматизации тестирования Python AdvancedPodlodka Crew - Годовой доступ к библиотеке плейлистовАвтоматизация тестирования Java. 17 / qa.guru - тый потокЯндекс.Практикум - Apache Kafka для разработки и архитектурыВалерий Меньшиков - Автоматизация тестирования брокеров сообщений (Python)
Часто задаваемые вопросы
Как приобрести инфопродукт?
Выберите желаемый инфопродукт, добавьте его в корзину либо нажмите сразу "Купить" для быстрого перехода к странице оформления заказа. Выберите удобный платежный метод и перейдите к оплате. После успешной покупки вы получите ссылку на вашу почту. Вы можете выбрать и оплатить сразу несколько курсов. Рекомендуем перед покупкой создать аккаунт, на него за каждую покупку вам будут приходить бонусы. 1 бонус = 1 руб. В дальнейшем вы можете оплачивать бонусами 100% от стоимости заказа.
Почему такая низкая цена?
Каждый из инфопродуктов который представлен в нашем магазине приобретался в складчину, соответственно и цена намного ниже чем у автора. Для вас доступна полная запись инфопродукта со всеми раздаточными материалами для самостоятельного прохождения, но без обратной связи от автора.
Какие у меня гарантии?
В качестве гарантии, вы можете написать нам на любой из контактов и мы предоставим вам доказательства наличия курсов в виде скриншотов / записи экрана / одного из уроков. Также рекоменудем ознакомится с нашими отзывами, все отзывы от реальных клиентов.
С каких стран можно оплатить?
Оплатить можно с любой из стран. Если не получилось оплатить через сайт, напишите откуда вы и мы найдём подходящий способ вам для оплаты.
На какое время выдается доступ?
К материалам на облаке мы никогда не закрываем доступ. Но есть вероятность, что ссылка может стать заблокированной по причине жалобы от правообладателя. Самый надёжный вариант после получения сохранить материалы себе или скачать. В случае, если материалы курса вам выдали в Telegram канале, доступ к нему не пропадет.
Возможен ли возврат средств за купленный товар?
Да. В случае если вы не получили ссылку на купленный товар.
Другие инфопродукты
Строительство и ремонт
Школа НИП - Tekla Structures 2024. Профильный курс по металлоконструкциям КМ, КМ
139 ₽
Саморазвитие и мотивация
Евгений Яковлев - Как торговаться о цене и сэкономить много денег: 7 главных правил
139 ₽
Инвестиции, Трейдинг, Криптовалюта
bitkogan / Евгений Коган, Александр Ковалев - Опционы. Тариф базовый и продвинутый
179 ₽
Быстрая доставка
Гарантируем быструю доставку заказа на ваш Email.
Лучшие цены
Гарантируем самые низкие цены. Сделаем цену ниже если нашли дешевле.
Прием заказов 24/7
Заказы принимаются круглосуточно!
100% Безопасная оплата
Безопасная оплата и получение заказа.














