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

Внимание!


Наш телеграм-канал попал под массовую блокировку и, пока мы подготовили для вас резервный!


Подписывайтесь по этой ССЫЛКЕ

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

На короткое время рассказываем где достать редкие курсы

Подробности ТУТ

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

Мы обновили Telegram-бот!

Ссылку на новый бот и все детали ищите ТУТ и скорее подписывайтесь, чтобы не пропускать важные уведомления и новости форума

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

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

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

Пополняйте баланс и получайте при оплате складчин кэшбек в размере 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. Похожие складчины
    Загрузка...
Наверх