0Корзина

Укажите в поиске ключевое слово / автора / название курса

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

✅ После оплаты система мгновенно направит на вашу почту ссылку(и) на курс, регистрация необязательна!

🛑 Авторизуйтесь или зарегистрируйтесь и Вы получите ссылку не только на почту, но и на странице товара.

Безопасная оплата товара


Поделись страницей

Подпишись на нас

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

Артикул: 14404  В наличии

Автор курса: qa.guru

Просмотров: 0

Категория: Программирование

Дата выхода: 2025

Продажник от автора: Перейти на продажник

Вид доступа: Облако Mail

Наша цена: 189 RUB (Лучшая цена! Нашли дешевле? Напишите нам, снизим цену)


📩Чтобы получить курс — оформите заказ. После оплаты ссылка приходит автоматически, регистрация не обязательна.

🤔 Есть сомнения в инфопродукте? В качестве гарантии можем отправить дополнительные скриншоты, любой видео файл или сделать запись с экрана содержимого на облаке.

✍🏻 По всем вопросам, в том числе с оплатой и получением - писать в Telegram (кликабельно), в чат на сайте (в нижнем правом углу) или на почту admin@many-courses.net Мы всегда на связи!
  • Цена в разы ниже чем у автора
  • Автовыдача. Моментальная доставка на эл. почту
  • Лучшая цена на рынке. Сделаем цену ниже если нашли дешевле
  • Можно смотреть онлайн или скачать себе
  • 100℅ гарантия получения курса
  • Доступ на данный товар предоставлятся на Облако Mail
    О курсе:
    • 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 года, который, мы надеемся, принесет вам пользу. Данный курс расположен на платформе «Облако Mail». В нашем магазине курсы доступны по самым выгодным ценам. Вы можете перейти на оригинальный продажник, после чего принять решение о покупке. Вы получаете этот курс, купив в нашем магазине MANY-COURSES.NET, с огромной скидкой, всего 189 рублей. Обучающий курс входит в рубрику «Программирование», вы можете поискать другие сливы курсов в этой рубрике. В нашем магазине Вы найдёте ещё много курсов от автора «qa.guru», достаточно ввести в поиск имя автора.
  • Добавьте товар "qa.guru - Курс по автоматизации тестирования Java Advanced 2.0 для продвинутых. 10 поток" в корзину или нажмите "Купить", чтобы быстро перейти к странице оформления заказа. (В корзину можно добавить сразу несколько курсов)
  • Выберите платежную систему с которой вам будет удобней оплатить и нажмите на кнопку «Перейти к оплате»
  • После оплаты на указанную почту вы получите ссылки на материалы. Если в момент покупки вы были уже авторизованы на сайте, ссылки будут выведены на странице данного товара.

Подробнее о том как получить курс(ы) можете почитать здесь.
    Каждый из инфопродуктов который представлен в нашем магазине приобретался в складчину, соответственно и цена намного ниже чем у автора. Для вас доступна полная запись инфопродукта со всеми раздаточными материалами для самостоятельного прохождения, но без обратной связи от автора.

Похожие курсы

Покупают прямо сейчас