Dozhd
Администратор
- Регистрация
- 18 Янв 2014
- Сообщения
- 136.133
- Реакции
- 387.021
Складчина: Курс по автоматизации тестирования Java Advanced 2.0 для продвинутых [qa.guru] [Дмитрий Тучс, Михаил Рубанов] (10 поток)
6 месяцев обучения
Больше 50 занятий с домашкой, по 2 занятия в неделю, и живые вебинары
Программа по Java с погружением в backend
Ваш уникальный микросервисный проект на Spring, покрытый всеми видами автотестов
Обновленный курс по iOS
Собственный проект на Swift, полное погружение в мир нативного mobile-тестирования и ни слова про Appium
Обновлённый Niffler
Полноценный web-проект с продуманной архитектурой, позволяющей обучаться на практических примерах
Чему мы учим?
Вы прокачаете знания в автоматизации на Java до уровня Senior+ и разнообразите портфолио впечатляющими кейсами
Архитектура и дизайн
Глубокому пониманию JUnit extension. И использованию паттернов разработки, таких как decorator, singleton, factory, IOC.
Востребованность профессии
100 000 ₽ — Средняя заработная плата тестировщика.
Одна из самых перспективных профессий на рынке.
Возможность удалённой работы и гибкого графика.
Быстрый карьерный рост от джуна до тимлида.
Постоянное развитие и изучение новых технологий.
Возможность работы в различных сферах.
Высокий спрос на специалистов во всех IT-компаниях.
Зарплатные ожидания
~ 90 000 ₽
Junior QA, после курса
~ 200 000 ₽
Middle QA, опыт от 1 до 3 лет
~ 350 000 ₽
Senior, с опытом от 3 лет
Покроем всё
Тестированию нестандартных протоколов взаимодействия: gRPC, GraphQL, SOAP. А также работе с базами данных и Kafka, и с такими инструментами как docker и docker-compose.
Кроме того
Создадим весь код с нуля, исследуем, как тестируемые технологии работают в Spring Boot под капотом.
Программа курса
Регулярно обновляем программу, учим только актуальному
1
Intro to QA.GURU Java Advanced v.2.0
Тестируем полностью самописное приложение в суперсовременном стеке (Java 21, Spring Boot 3, Spring Security 6, Spring Data, OAuth2, gRPC, GraphQL, Microservices, Docker, Postgres, React)
Научим не просто понимать, как написать автотест на GraphQL, но и разберемся в том, как это работает под капотом
Вы узнаете, как сделать запрос в БД из теста и зачем это может быть нужно в микросервисной архитектуре
Будем подменять настоящие микросервисы на Wiremock на практике
2
Знакомство с проектом, локальный запуск, введение в учебный процесс
Обзор проекта Niffler
Необходимые предусловия для работы с проектом
Запуск локально: настройка в Idea Ultimate, Community
Необходимые предусловия для запуска проекта в docker, отличия для Windows и Nix
Запуск проекта в докере
Выполнение домашних заданий
3
Введение в JUnit Extensions: Callbacks, место Extension в жизненном цикле теста JUnit 5
Интерфейсы BeforeEachCallback, AfterEachCallback и другие callback
Подключение Extension декларативно — аннотация @ExtendWith
Разбор теста, написанного на вводном занятии
Написание Extension для создания скриншотов на упавший тест
Полная программа
4
Погружение в JUnit Extensions: ExtensionContext, интерфейс ParameterResolver. Создание Extension "очередь тестовых пользователей"
Интерфейсы ExtensionContext и Store
Концепция шэринга данных через Store + Namespace
Создаем threadsafe очередь пользователей – UsersQueueExtension
5
Интеграция JUnit Extensions в проект с тестами: Метааннотации, 3 способа подключения, QA сессия по введению в JUnit Extensions
- Работа с аннотациями в Extensions, класс AnnotationSupport
- Метааннотации
- ServiceLoader и глобальное подключение Extensions
- Аннотация @RegisterExtension
- Q&A сессия
6
Работаем с реляционными базами данных из тестов: Погружение в JDBC
- Краткая теория JDBC
- Интерфейсы DataSource, Connection, Statement, PreparedStatement, ResultSet
- Реализация SpendRepositryJdbc
- Вставка данных в БД (sql INSERT) через JDBC
- Возврат ID созданной записи
7
JDBC: Репозитории и транзакции. Модификация данных в БД
- Понятие Repository, создание UserRepository
- Транзакции в JDBC
- Реализация UserRepositoryJDBC
- Модификация данных в БД
8
Библиотека Spring-JDBC для работы с БД: базовые концепции
- JDBC-Template: теория и применимость
- Реализация простых запросов (CRUD) c помощью библиотеки Spring-JDBC
9
Библиотека Spring-JDBC - работа с ключами, транзакции, адаптеры
- Класс TransactionTemplate
- Интерфейс PreparedStatementCreator
- Реализация UserRepositorySpringJdbc
10
Библиотека Hibernate и введение в спецификацию JPA
- Hibernate и JPA - краткая теория
- Интерфейсы EntityManagerFactory и EntityManager
- Декораторы для EntityManager: интерфейс EntityTransaction и использование ThreadLocal EntityManager
11
Библиотека Hibernate: интеграция с тестовым проектом
- Конфигурационный файл persistence.xml
- Реализация UserRepositoryHibernate
- Особенности использования Hibernate - работа с коллекциями, ленивая инициализация
12
Использование созданных UserRepository и SpendRepository внутри JUnitExtensions. QA сессия по работе с БД
- Создание аннотации @testuser и Extension AbstractTestUserExtension
- Наследование Extension: создание класса DbTestUserExtension
- Реализация логики создание тестового пользователя: хэширование пароля, создание в БД нескольких микросервисов
- Передача пользователя в тест через ParameterResolver
- Q&A сессия
13
Автоматизация на проекте «с нуля» – строим минимальный фреймворк
- Build.gradle - best practices
- Конфигурации запуска
- Абстракции для работы с REST api
- PageObject
- Утилитные классы
14
Автоматизация на проекте «с нуля» – базовые абстрактные классы, Dependency Injection. QA сессия по структуре проекта с тестами
- Классы BaseRestTest, BaseGraphQL
- Подготовка к написанию REST тестов - пишем простые тесты на internal api (без авторизации)
- Концепция Dependency Injection и ее реализация с помощью интерфейса TestInstancePostProcessor в JUnit 5
- Q&A сессия
15
Параллелизация тестов в JUnit5: Теория
- Теория параллельного программирования и ее применимость к тестам
- Shared mutable state: что такое и чем вредит
- Конфигурация и стратегии параллелизации в JUnit 5
16
Параллелизация тестов в JUnit5: инструменты управление параллельным запуском. QA сессия по параллелизации
- Аннотация @ResourceLock
- Аннотация @Execution
- Особенности работы с JUnit Extensions при многопоточном выполнении тестов
- Еще раз про важность использования ThreadLocal переменных на примере EntityManager
- Q&A сессия
17
Allure Lyfecycle
- Класс AllureLifecycle
- Создаем ServerLogExtension, добавляющий логи бэкенда в Allure
- Дорабатываем UsersQueueExtension
- Создаем Extension для удаления вложений к тестам
18
Allure: пишем интеграции для работы с SQL
- Принцип работа внешних интеграций Allure на примере класса AllureSelenide
- Реализация интеграции для работы с SQL: библиотека P6Spy
19
Selenide: кастомные Condition
- Классы Condition / CollectionCondition
- Пишем свои кастомные ожидания для проекта Niffler: FriendsCondition, PhotoCondition
20
Selenide: нестатическая кинфигурация, библиотека selenide-core
- Класс SelenideConfiguration
- Реализация поднятия 2 браузеров в тесте
- Параллельное выполнение тестов в разных браузерах
- Использование PageObject для бибилотеки selenide-core
21
Selenide: нестатическая кинфигурация, библиотека selenide-core
- Класс SelenideConfiguration
- Реализация поднятия 2 браузеров в тесте
- Параллельное выполнение тестов в разных браузерах
- Использование PageObject для бибилотеки selenide-core
- QA сессия по кастомизации Allure и Selenide
22
Реализуем Oauth авторизацию с помощью Retrofit: Базовые концепции и подготовка инфраструктуры
- Краткая теория Oauth 2.0 code flow
- Смотрим http-запросы в консоли браузера и подготавливаем инфраструктуру для автоматизации логина
23
Реализуем Oauth авторизацию с помощью Retrofit: Используем ExtensionContext и http Interceptors
- Создаем интерфес ContextHolderExtension
- Создаем класс CodeInterceptor для okhttp клиента
- Создаем ApiLoginExtension
24
Расширяем тестовое покрытие - применяем ApiLoginExtension, DbTestUserExtension для построения полноценного фреймворка.
Q&A сессия
- Пишем WEB и API тесты с созданием всех тестовых данных через JUnit Extensions.
- Q&A сессия по авторизации через Retrofit
25
Установочное занятие по диплому
- Знакомство с дипломными проектами: Rococo, Rangiffler
- Обзор успешной дипломной работы
26
Создаем WEB-сервис на Java с использованием Spring boot
- Базовые компоненты Spring (context, DI, сервисы)
- Использование Spring Web (создаем REST сервис)
- Использование Spring Data JPA (работа с базой)
27
Работа с исключениями, запуск Spring boot приложения в docker: плагин google jib
- Концепция Controller Advice, возврат на фронт унифицированных ошибок
- Docker - краткая теория
- Докеризация Spring-приложения через плагин google jib
28
Пишем первые тесты, разбираемся с селекторами
- Что такое селекторы, как по них находить элементы
- Как посмотреть дерево элементов через консоль
- Как работать с брейкпойнтами во время написания теста
- Как добавить первые тесты в проект
- Как запускать тесты
- Пишем первый тест на экране регистрации
29
Переиспользуем код между разными тестами
- Пишем второй тест и переиспользуем код между ними
- Стабилизируем тесты: сбросив данные о регистрации
- Как деталилазия шагов упрощает чтение тест-репорта
- Выносим общий код в сетап и тирдаун
30
Погружение: пишем тесты для сложных сценариев
- Добавляем accessibilityIdentifier для тестов
- Пишем сложный тест на три экрана — проходим авторизацию, добавляем новые траты и проверяем, что они появились в общем списке.
- Упрощаем тест, чтобы его легко было прочитать.
31
Page Object паттерн в IOS тестах
- Делим тесткейсы на разные файлы
- Зачем нужны пейджобжекты и как они помогают писать новые тесты
- Описываем структуру пейдж-обжекта и переносим все прошлые тесты на них
32
Особенности XCUITests
- Приводим тесты к нужной структуре, обсуждаем название тестов
- Обсуждаем разные способы получения селекторов
- Способы ускорения тестов
33
Финальная лекция блока
Как максимально быстро настроить автоматический запуск тестов и оповещения в мессенджер
34
Unit тесты – пишем тестируемый код и тесты для него
- Краткая теория юнит-тестирования
- Библиотека Mockito
- Покрываем тестами код сервисов Niffler
35
GraphQL: Реализация в Spring Boot
- GraphQL в Spring Boot
- Аннотации @QueryMappig, @chemaMapping
- Интерфейс DataFetchingEnvironment
- Утилита graphiql
36
GraphQL: Пишем тесты с помощью Retrofit
- Подготовка тестовых данных
- Создаем Extension GqlRequestExtension для работы со статическими данными
- Пишем тесты на проверку вложенных подзапросов
- Пишем тесты на проверку работы с Apollo Cache
37
gRPC: Реализация в Spring Boot
- gRPC в Spring Boot
- Protobuf и Protoc компиллятор
- Интерфейс StreamObserver
- Конфигурация, работа с исключениями и информирование об ошибках
38
Тестируем gRPC сервисы с помощью нативных библиотек
- Подготовка тестовых данных
- Особенности работы с proto-файлами тестируемых сервисов в тестах
- Пишем тесты на gRPC сервис niffler-currency
- Сложные кейсы: gRPC Streaming
39
SOAP: Реализация в Spring Boot
- SOAP в Spring Boot
- XSD и WSDL схемыАннотации @Endpoint, @PayloadRoot, @ResponsePayload
40
SOAP: Пишем тесты с помощью Retrofit
- Подготовка тестовых данных
- Особенности работы с wsdl тестируемых сервисов в тестах
- Пишем тесты на SOAP сервис niffler-userdata
41
GraphQL, gRPC, SOAP: Q&A сессия
42
Тестирование микросервисов в docker-compose: запуск тестов локально
- Поднимаем микросервисы в docker compose
- Selenoid & Selenoid UI
- Доработка конфигурации тестов для запуска в docker
- Упаковка проекта с тестами в docker контейнер, написание Dockerfile
43
Тонкости инфраструктуры: Докеризация фронтенда, bash-скрипты
- Рассмотрим bash-скрипты в проекте niffler
- Докеризация фронтеда с использованием nginx
- Особеннности работы с docker-окружением
44
Тестирование микросервисов в docker-compose: работа с артефактами тестов (Allure) + Q&A по работе с docker compose
- Обзор Allure docker service
- Написание интерфейса SuiteExtension, AllureSendresultExtension
- Q&A сессия
45
Wiremock в тестах: in-memory подход
- Сравнение с библиотекой Mockito
- Используем in-memory Wiremock прямо в тестах
46
Wiremock в тестах: standalone подход, мокаем REST API и gRPC
Используем http и gRPC Wiremock в docker-compose
47
Apache Kafka: Использование в Spring Boot
- Kafka в проекте на Spring Boot
- Конфигурации consumer и producer
48
Apache Kafka: взаимодействие из тестов
Пишем свой Consumer и JUnit Extension для его использования в тестах
49
Q&A сессия по Wiremock и Kafka
50
Конференции – готовим доклад и себя к выступлению
- Как попасть на конференцию спикером
- Как готовиться
- Презентация – хорошая и плохая
- Дискуссия до и после доклада
- Ради чего? Плюсы и минусы
51
CI/CD - pipeline, к которому мы шли
Рассматриваем вопросы сборки проекта и деплоя на прод с использованием GHA
52
Q&A по дипломному проекту
Отвечаем на вопросы, возникшие при работе над дипломным проектом
53
Выпускной!
ссылка на продажник
СКАЧАТЬ
6 месяцев обучения
Больше 50 занятий с домашкой, по 2 занятия в неделю, и живые вебинары
Программа по Java с погружением в backend
Ваш уникальный микросервисный проект на Spring, покрытый всеми видами автотестов
Обновленный курс по iOS
Собственный проект на Swift, полное погружение в мир нативного mobile-тестирования и ни слова про Appium
Обновлённый Niffler
Полноценный web-проект с продуманной архитектурой, позволяющей обучаться на практических примерах
Чему мы учим?
Вы прокачаете знания в автоматизации на Java до уровня Senior+ и разнообразите портфолио впечатляющими кейсами
Архитектура и дизайн
Глубокому пониманию JUnit extension. И использованию паттернов разработки, таких как decorator, singleton, factory, IOC.
Востребованность профессии
100 000 ₽ — Средняя заработная плата тестировщика.
Одна из самых перспективных профессий на рынке.
Возможность удалённой работы и гибкого графика.
Быстрый карьерный рост от джуна до тимлида.
Постоянное развитие и изучение новых технологий.
Возможность работы в различных сферах.
Высокий спрос на специалистов во всех IT-компаниях.
Зарплатные ожидания
~ 90 000 ₽
Junior QA, после курса
~ 200 000 ₽
Middle QA, опыт от 1 до 3 лет
~ 350 000 ₽
Senior, с опытом от 3 лет
Покроем всё
Тестированию нестандартных протоколов взаимодействия: gRPC, GraphQL, SOAP. А также работе с базами данных и Kafka, и с такими инструментами как docker и docker-compose.
Кроме того
Создадим весь код с нуля, исследуем, как тестируемые технологии работают в Spring Boot под капотом.
Программа курса
Регулярно обновляем программу, учим только актуальному
1
Intro to QA.GURU Java Advanced v.2.0
Тестируем полностью самописное приложение в суперсовременном стеке (Java 21, Spring Boot 3, Spring Security 6, Spring Data, OAuth2, gRPC, GraphQL, Microservices, Docker, Postgres, React)
Научим не просто понимать, как написать автотест на GraphQL, но и разберемся в том, как это работает под капотом
Вы узнаете, как сделать запрос в БД из теста и зачем это может быть нужно в микросервисной архитектуре
Будем подменять настоящие микросервисы на Wiremock на практике
2
Знакомство с проектом, локальный запуск, введение в учебный процесс
Обзор проекта Niffler
Необходимые предусловия для работы с проектом
Запуск локально: настройка в Idea Ultimate, Community
Необходимые предусловия для запуска проекта в docker, отличия для Windows и Nix
Запуск проекта в докере
Выполнение домашних заданий
3
Введение в JUnit Extensions: Callbacks, место Extension в жизненном цикле теста JUnit 5
Интерфейсы BeforeEachCallback, AfterEachCallback и другие callback
Подключение Extension декларативно — аннотация @ExtendWith
Разбор теста, написанного на вводном занятии
Написание Extension для создания скриншотов на упавший тест
Полная программа
4
Погружение в JUnit Extensions: ExtensionContext, интерфейс ParameterResolver. Создание Extension "очередь тестовых пользователей"
Интерфейсы ExtensionContext и Store
Концепция шэринга данных через Store + Namespace
Создаем threadsafe очередь пользователей – UsersQueueExtension
5
Интеграция JUnit Extensions в проект с тестами: Метааннотации, 3 способа подключения, QA сессия по введению в JUnit Extensions
- Работа с аннотациями в Extensions, класс AnnotationSupport
- Метааннотации
- ServiceLoader и глобальное подключение Extensions
- Аннотация @RegisterExtension
- Q&A сессия
6
Работаем с реляционными базами данных из тестов: Погружение в JDBC
- Краткая теория JDBC
- Интерфейсы DataSource, Connection, Statement, PreparedStatement, ResultSet
- Реализация SpendRepositryJdbc
- Вставка данных в БД (sql INSERT) через JDBC
- Возврат ID созданной записи
7
JDBC: Репозитории и транзакции. Модификация данных в БД
- Понятие Repository, создание UserRepository
- Транзакции в JDBC
- Реализация UserRepositoryJDBC
- Модификация данных в БД
8
Библиотека Spring-JDBC для работы с БД: базовые концепции
- JDBC-Template: теория и применимость
- Реализация простых запросов (CRUD) c помощью библиотеки Spring-JDBC
9
Библиотека Spring-JDBC - работа с ключами, транзакции, адаптеры
- Класс TransactionTemplate
- Интерфейс PreparedStatementCreator
- Реализация UserRepositorySpringJdbc
10
Библиотека Hibernate и введение в спецификацию JPA
- Hibernate и JPA - краткая теория
- Интерфейсы EntityManagerFactory и EntityManager
- Декораторы для EntityManager: интерфейс EntityTransaction и использование ThreadLocal EntityManager
11
Библиотека Hibernate: интеграция с тестовым проектом
- Конфигурационный файл persistence.xml
- Реализация UserRepositoryHibernate
- Особенности использования Hibernate - работа с коллекциями, ленивая инициализация
12
Использование созданных UserRepository и SpendRepository внутри JUnitExtensions. QA сессия по работе с БД
- Создание аннотации @testuser и Extension AbstractTestUserExtension
- Наследование Extension: создание класса DbTestUserExtension
- Реализация логики создание тестового пользователя: хэширование пароля, создание в БД нескольких микросервисов
- Передача пользователя в тест через ParameterResolver
- Q&A сессия
13
Автоматизация на проекте «с нуля» – строим минимальный фреймворк
- Build.gradle - best practices
- Конфигурации запуска
- Абстракции для работы с REST api
- PageObject
- Утилитные классы
14
Автоматизация на проекте «с нуля» – базовые абстрактные классы, Dependency Injection. QA сессия по структуре проекта с тестами
- Классы BaseRestTest, BaseGraphQL
- Подготовка к написанию REST тестов - пишем простые тесты на internal api (без авторизации)
- Концепция Dependency Injection и ее реализация с помощью интерфейса TestInstancePostProcessor в JUnit 5
- Q&A сессия
15
Параллелизация тестов в JUnit5: Теория
- Теория параллельного программирования и ее применимость к тестам
- Shared mutable state: что такое и чем вредит
- Конфигурация и стратегии параллелизации в JUnit 5
16
Параллелизация тестов в JUnit5: инструменты управление параллельным запуском. QA сессия по параллелизации
- Аннотация @ResourceLock
- Аннотация @Execution
- Особенности работы с JUnit Extensions при многопоточном выполнении тестов
- Еще раз про важность использования ThreadLocal переменных на примере EntityManager
- Q&A сессия
17
Allure Lyfecycle
- Класс AllureLifecycle
- Создаем ServerLogExtension, добавляющий логи бэкенда в Allure
- Дорабатываем UsersQueueExtension
- Создаем Extension для удаления вложений к тестам
18
Allure: пишем интеграции для работы с SQL
- Принцип работа внешних интеграций Allure на примере класса AllureSelenide
- Реализация интеграции для работы с SQL: библиотека P6Spy
19
Selenide: кастомные Condition
- Классы Condition / CollectionCondition
- Пишем свои кастомные ожидания для проекта Niffler: FriendsCondition, PhotoCondition
20
Selenide: нестатическая кинфигурация, библиотека selenide-core
- Класс SelenideConfiguration
- Реализация поднятия 2 браузеров в тесте
- Параллельное выполнение тестов в разных браузерах
- Использование PageObject для бибилотеки selenide-core
21
Selenide: нестатическая кинфигурация, библиотека selenide-core
- Класс SelenideConfiguration
- Реализация поднятия 2 браузеров в тесте
- Параллельное выполнение тестов в разных браузерах
- Использование PageObject для бибилотеки selenide-core
- QA сессия по кастомизации Allure и Selenide
22
Реализуем Oauth авторизацию с помощью Retrofit: Базовые концепции и подготовка инфраструктуры
- Краткая теория Oauth 2.0 code flow
- Смотрим http-запросы в консоли браузера и подготавливаем инфраструктуру для автоматизации логина
23
Реализуем Oauth авторизацию с помощью Retrofit: Используем ExtensionContext и http Interceptors
- Создаем интерфес ContextHolderExtension
- Создаем класс CodeInterceptor для okhttp клиента
- Создаем ApiLoginExtension
24
Расширяем тестовое покрытие - применяем ApiLoginExtension, DbTestUserExtension для построения полноценного фреймворка.
Q&A сессия
- Пишем WEB и API тесты с созданием всех тестовых данных через JUnit Extensions.
- Q&A сессия по авторизации через Retrofit
25
Установочное занятие по диплому
- Знакомство с дипломными проектами: Rococo, Rangiffler
- Обзор успешной дипломной работы
26
Создаем WEB-сервис на Java с использованием Spring boot
- Базовые компоненты Spring (context, DI, сервисы)
- Использование Spring Web (создаем REST сервис)
- Использование Spring Data JPA (работа с базой)
27
Работа с исключениями, запуск Spring boot приложения в docker: плагин google jib
- Концепция Controller Advice, возврат на фронт унифицированных ошибок
- Docker - краткая теория
- Докеризация Spring-приложения через плагин google jib
28
Пишем первые тесты, разбираемся с селекторами
- Что такое селекторы, как по них находить элементы
- Как посмотреть дерево элементов через консоль
- Как работать с брейкпойнтами во время написания теста
- Как добавить первые тесты в проект
- Как запускать тесты
- Пишем первый тест на экране регистрации
29
Переиспользуем код между разными тестами
- Пишем второй тест и переиспользуем код между ними
- Стабилизируем тесты: сбросив данные о регистрации
- Как деталилазия шагов упрощает чтение тест-репорта
- Выносим общий код в сетап и тирдаун
30
Погружение: пишем тесты для сложных сценариев
- Добавляем accessibilityIdentifier для тестов
- Пишем сложный тест на три экрана — проходим авторизацию, добавляем новые траты и проверяем, что они появились в общем списке.
- Упрощаем тест, чтобы его легко было прочитать.
31
Page Object паттерн в IOS тестах
- Делим тесткейсы на разные файлы
- Зачем нужны пейджобжекты и как они помогают писать новые тесты
- Описываем структуру пейдж-обжекта и переносим все прошлые тесты на них
32
Особенности XCUITests
- Приводим тесты к нужной структуре, обсуждаем название тестов
- Обсуждаем разные способы получения селекторов
- Способы ускорения тестов
33
Финальная лекция блока
Как максимально быстро настроить автоматический запуск тестов и оповещения в мессенджер
34
Unit тесты – пишем тестируемый код и тесты для него
- Краткая теория юнит-тестирования
- Библиотека Mockito
- Покрываем тестами код сервисов Niffler
35
GraphQL: Реализация в Spring Boot
- GraphQL в Spring Boot
- Аннотации @QueryMappig, @chemaMapping
- Интерфейс DataFetchingEnvironment
- Утилита graphiql
36
GraphQL: Пишем тесты с помощью Retrofit
- Подготовка тестовых данных
- Создаем Extension GqlRequestExtension для работы со статическими данными
- Пишем тесты на проверку вложенных подзапросов
- Пишем тесты на проверку работы с Apollo Cache
37
gRPC: Реализация в Spring Boot
- gRPC в Spring Boot
- Protobuf и Protoc компиллятор
- Интерфейс StreamObserver
- Конфигурация, работа с исключениями и информирование об ошибках
38
Тестируем gRPC сервисы с помощью нативных библиотек
- Подготовка тестовых данных
- Особенности работы с proto-файлами тестируемых сервисов в тестах
- Пишем тесты на gRPC сервис niffler-currency
- Сложные кейсы: gRPC Streaming
39
SOAP: Реализация в Spring Boot
- SOAP в Spring Boot
- XSD и WSDL схемыАннотации @Endpoint, @PayloadRoot, @ResponsePayload
40
SOAP: Пишем тесты с помощью Retrofit
- Подготовка тестовых данных
- Особенности работы с wsdl тестируемых сервисов в тестах
- Пишем тесты на SOAP сервис niffler-userdata
41
GraphQL, gRPC, SOAP: Q&A сессия
42
Тестирование микросервисов в docker-compose: запуск тестов локально
- Поднимаем микросервисы в docker compose
- Selenoid & Selenoid UI
- Доработка конфигурации тестов для запуска в docker
- Упаковка проекта с тестами в docker контейнер, написание Dockerfile
43
Тонкости инфраструктуры: Докеризация фронтенда, bash-скрипты
- Рассмотрим bash-скрипты в проекте niffler
- Докеризация фронтеда с использованием nginx
- Особеннности работы с docker-окружением
44
Тестирование микросервисов в docker-compose: работа с артефактами тестов (Allure) + Q&A по работе с docker compose
- Обзор Allure docker service
- Написание интерфейса SuiteExtension, AllureSendresultExtension
- Q&A сессия
45
Wiremock в тестах: in-memory подход
- Сравнение с библиотекой Mockito
- Используем in-memory Wiremock прямо в тестах
46
Wiremock в тестах: standalone подход, мокаем REST API и gRPC
Используем http и gRPC Wiremock в docker-compose
47
Apache Kafka: Использование в Spring Boot
- Kafka в проекте на Spring Boot
- Конфигурации consumer и producer
48
Apache Kafka: взаимодействие из тестов
Пишем свой Consumer и JUnit Extension для его использования в тестах
49
Q&A сессия по Wiremock и Kafka
50
Конференции – готовим доклад и себя к выступлению
- Как попасть на конференцию спикером
- Как готовиться
- Презентация – хорошая и плохая
- Дискуссия до и после доклада
- Ради чего? Плюсы и минусы
51
CI/CD - pipeline, к которому мы шли
Рассматриваем вопросы сборки проекта и деплоя на прод с использованием GHA
52
Q&A по дипломному проекту
Отвечаем на вопросы, возникшие при работе над дипломным проектом
53
Выпускной!
ссылка на продажник
СКАЧАТЬ
Для просмотра скрытого содержимого вы должны зарегистрироваться
Возможно, Вас ещё заинтересует:
- Частный канал доктора Амины (15.07.25 - 14.08.25) [Амина Пирманова]
- [Аудиокнига] Пятиминутные привычки. Микроизменения, которые делают вас лучшей версией себя [Зои МакКей]
- [Аудиокнига] Минус висцералка. Программа, которая поможет растопить жир вокруг сердца, печени и почек [Кристин Киркпатрик]
- Функциональная анатомия тела (обновленный 2025) [Тариф Продвинутый] [Олег Агапэ]
- Полная база 2ГИС (июнь 2025) [Россия] [Повтор]
- Пчеловодство в ульях лежаках на увеличенную рамку От Начинающего пчеловода до Любителя и Профессионала [Андрей Якимов] [Блок СТАРТ]