Автоматизатор тестирования на Kotlin

2 участника

О чём курс

О курсе

Команда инженеров из Yandex, Тинькофф, X5 Tech и других технологических компаний обучает созданию автоматических тестов на языке Kotlin для мобильных платформ, серверной части и распределённых систем. Обучение охватывает разработку тестов бизнес-логики, проверку экранов, тестирование сетевых запросов к API и интеграцию проверок в конвейеры непрерывной интеграции.

Программа объединяет практику модульного, интеграционного и нагрузочного тестирования. Слушатели разбирают работу с базами данных, асинхронными компонентами, очередями сообщений и нативными фреймворками для мобильных приложений, а также изучают применение больших языковых моделей (LLM) для оптимизации ежедневных QA-задач.

Кому подойдёт

Материал ориентирован на две категории специалистов:

  • Тестировщики с опытом работы от одного года, стремящиеся освоить создание автотестов для всех уровней приложения.
  • Младшие разработчики на любом объектно-ориентированном языке, желающие улучшить навыки автоматизации тестирования и работы с CI/CD.

Для успешного обучения понадобятся базовые знания любого языка ООП, распределённых систем контроля версий Git, видов тестирования и методов подготовки тестовых данных, а также понимание архитектуры REST API и основ реляционных баз данных с языком SQL.

Что входит в программу

Обучение состоит из восьми модулей, выстроенных от синтаксиса языка до сквозных сценариев тестирования:

  • Базовые конструкции Kotlin, структуры данных, функции-расширения, делегаты, DSL и корутины.
  • Взаимодействие с внешними источниками данных: Gradle, контейнеризация в Docker, HTTP-клиент Ktor, базы данных PostgreSQL и MongoDB.
  • Фреймворки тестирования: модульные тесты, создание мок-объектов, BDD-подход и генерация отчётов.
  • Особенности тестирования серверной части: работа со Spring Framework, очереди сообщений Apache Kafka, автоматизация проверок API через RestAssured и Postman.
  • Тестирование Android-приложений: нативные средства автоматизации, фреймворки Espresso, Kakao и Kaspresso, тестирование доступности (Accessibility) и сетевого слоя, кроссплатформенное UI-тестирование.
  • Нагрузочные испытания в Gatling, профилирование, статический анализ кода и безопасности, настройка GitLab CI.
  • Использование ИИ в работе инженера: выбор языковых моделей (LLM) под конкретные задачи, составление запросов и проверка результатов.
  • Подготовка к поиску работы: составление резюме и прохождение технических интервью.

Проектная работа

В финале обучения студенты создают набор тестов для распределённой системы с мобильным клиентом на основе личного проекта или открытого репозитория.

В рамках выпускной работы необходимо реализовать:

  • Не менее пяти модульных тестов бизнес-логики с использованием mock-объектов или тестовой реализации репозитория.
  • Не менее трёх инструментальных тестов экранов на Espresso, Kakao или Kaspresso с покрытием основных и ошибочных сценариев.
  • Не менее трёх сценарных тестов приложения по методу «чёрного ящика» через Ui Automator или Appium.
  • Проверку функционирования не менее трёх API-методов на Ktor Client (суммарно от шести тестов при корректных данных и ошибках).
  • Генерацию отчётов в Allure и расчёт тестового покрытия кода.

Преподаватели

Практику ведут действующие разработчики и QA-инженеры:

  • Дмитрий Золотов — разработчик Flutter и Kotlin в Yandex.
  • Дмитрий Синицын — старший инженер по обеспечению качества в Х5 Tech.
  • Сергей Прощаев — руководитель направления Java-разработки в FinTech.
  • Алексей Федоров — QA Lead, ранее работавший в VK.
  • Никита Писарев — старший инженер по обеспечению качества в Тинькофф.
  • Дмитрий Свиридов — старший инженер по автоматизации тестирования, ex-Avito Tech.
  • Евгений Непомнящий — разработчик в IT Sense.

В преподавательский состав также входит специалист с 23-летним стажем в FullStack-разработке и системном администрировании, преподаватель Университета ИТМО.

Формат

Курс доступен в формате видеозаписей, включает выполнение практических заданий и подготовку итогового проекта с защитой.

Другие авторы

  • Дмитрий Синицын
  • Сергей Прощаев

Программа обучения

  • Введение в Kotlin:
    • В этом модуле мы разберемся в ключевых концепциях Kotlin, принципах работы с данными и структурой кода
    • Изучим, как организовывать логику программы, работать с коллекциями и применять продвинутые механики, такие как делегирование и асинхронность
    • Этот модуль заложит прочную базу для дальнейшего изучения автоматизации тестирования
    • Темы:
      • Тема 1: Вводное занятие: обзор курса, обзор языка Kotlin, области применения (серверная часть, Андроид)
      • Тема 2: Типы данных в языке Kotlin
      • Тема 3: Классы и функции
      • Тема 4: Контроль выполнения потока
      • Тема 5: Обобщенные типы // ДЗ
      • Тема 6: Коллекции // ДЗ
      • Тема 7: Функции-расширения, делегаты, DSL // ДЗ
      • Тема 8: Корутины
  • Работа с внешними источниками:
    • В этом модуле разберём работу с внешними источниками данных в Kotlin
    • Изучим Gradle, Docker, http-клиент Ktor и основы работы с базами данных (PostgreSQL, MongoDB)
    • Темы:
      • Тема 1: Погружение в Gradle
      • Тема 2: Пара слов о Docker // ДЗ
      • Тема 3: Работа с сетью: http клиент ktor
      • Тема 4: Взаимодействие с реляционной СУБД на примере PostgreSQL
      • Тема 5: Взаимодействие с нереляционными СУБД на примере MongoDB // ДЗ
  • Базовые фреймворки тестирования:
    • В этом модуле мы изучим основные фреймворки тестирования в Kotlin
    • Разберёмся с модульными тестами, мокированием, BDD-подходом и генерацией тестовых отчётов
    • Темы:
      • Тема 1: Модульные тесты
      • Тема 2: Мокирование
      • Тема 3: BDD подход
      • Тема 4: Репортинг
  • Специфика тестирования серверной части:
    • В этом модуле разберём особенности тестирования серверной части
    • Изучим основы серверной разработки на Spring Framework, работу с очередями сообщений в Apache Kafka и автоматизацию тестирования API с помощью RestAssured и Postman
    • Темы:
      • Тема 1: Основы серверной разработки на примере Spring Framework
      • Тема 2: Работа с очередями сообщений на примере Apache Kafka
      • Тема 3: Автоматизация тестирования API (RestAssured, Postman)
  • Специфика тестирования Android приложений:
    • В этом модуле изучим особенности тестирования Android-приложений
    • Разберёмся с нативными инструментами автоматизации, тестовыми фреймворками Kakao и Kaspresso, тестированием Accessibility и сетевого слоя
    • Также освоим кроссплатформенное тестирование интерфейса и закрепим знания на практике с реальным приложением
    • Темы:
      • Тема 1: Основы Android-приложений
      • Тема 2: Нативные средства автоматизации
      • Тема 3: Тестовые фреймворки Kakao, Kaspresso, расширение Hamcrest
      • Тема 4: Тестирование Accessibility
      • Тема 5: Тестирование сетевого слоя // ДЗ
      • Тема 6: Кроссплатформенное тестирование интерфейса методом «черного ящика» // ДЗ
      • Тема 7: Практика по тестированию реального приложения // ДЗ
  • Дополнительный модуль:
    • В этом модуле изучим дополнительные аспекты тестирования
    • Разберёмся с нагрузочным тестированием в Gatling, GitLab CI и интеграцией тестов
    • Освоим тестирование производительности, профилирование, статический анализ кода и уязвимостей
    • Закрепим знания на практике
    • Темы:
      • Тема 1: Обзор нагрузочного тестирования (Gatling)
      • Тема 2: Gitlab CI
      • Тема 3: Интеграция тестов в Gitlab
      • Тема 4: Тестирование производительности и профилирование
      • Тема 5: Статический анализ кода и уязвимостей
      • Тема 6: Практика
      • Тема 7: ИИ в работе тестировщика
      • Тема 8: Как устроены LLM и что тестировщику важно понимать для практической работы
      • Тема 9: Сравнение ChatGPT, Claude, Gemini, YandexGPT и Qwen на типовых QA-задачах
      • Тема 10: Как выбирать модель под задачу, данные и корпоративные ограничения
  • Подготовка к поиску работы:
    • В этом модуле мы начнём готовиться к поиску работы
    • Подготовимся к прохождению собеседований с HR и техническому интервью
    • По итогу модуля вы будете уже готовы к поиску первой работы
    • Темы:
      • Тема 1: Как правильно оформить резюме чтобы найти работу? // ДЗ
      • Тема 2: Как подготовиться к собеседованию и техническому интервью?
  • Итоговый проект:
    • Данный модуль посвящен проектной работе
    • Свой проект — это то, что интересно писать студенту, и то, что можно создать на основе знаний, полученных на курсе
    • Темы:
      • Тема 2: Защита проектных работ
  • Бонусы:
    • Бонусный урок по ИИ
    • Бонусный блок о работе с LLM в тестировании
Складчина создана 2 ноября 2026 г.

Теги курса

0 ₽