Скрыть объявление

Если у вас возникают проблемы с пополнением баланса по карте, то пробуйте через СБП . Он еще и выгоднее (без комиссии банка).


СБП - это система быстрых платежей - перевод по номеру телефона без комиссии

Скрыть объявление

Если у Вас проблемы с пополнением баланса, то попробуйте отключить VPN и воспользоваться этим Сайтом

Скрыть объявление

Было ли у Вас такое, что Вы не могли найти курс? Если да, то напишите нам в Службу поддержки какой курс вам нужен и мы постараемся его найти.

Скрыть объявление

Пополняйте баланс и получайте при оплате складчин кэшбек в размере 10%

Запись

[Qa guru] Java Advanced 2.0 (Наталья Шафранова)

Тема в разделе "Курсы по программированию"

Цена:
80100 руб
Взнос:
863 руб
Организатор:
Евражкa

Список участников складчины:

1. Евражкa
open
2
Записаться
  1. Евражкa Организатор складчин

    [Qa guru] Java Advanced 2.0 (Наталья Шафранова)

    [​IMG]

    Больше 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 сессия по работе с БД
    - Создание аннотации и 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
    Выпускной!
    Скрытый текст. Доступен только зарегистрированным пользователям.Нажмите, чтобы раскрыть...
     
  2. Похожие складчины
    Загрузка...
Наверх