Автоматизатор тестирования на Kotlin
О чём курс
О курсе
Команда инженеров из 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 в тестировании
Теги курса
Отзывов пока нет. Будьте первым!
Этот курс сейчас в процессе организации складчины. Нажмите кнопку «Записаться» и ожидайте старта — вам придёт уведомление. Когда складчина стартует, в карточке курса будет указан актуальный взнос. Текущая цена пока в процессе формирования и может отличаться от финальной.
Да, мы стремимся, чтобы финальный взнос был не больше ≈10% от оригинальной цены курса. Чем больше участников записывается в складчину, тем ниже выходит взнос для каждого.
Нажмите кнопку «Записаться» и авторизуйтесь на сайте через email (через ту же почту, которую будете использовать для входа). В личном кабинете вас будут ждать инструкции, как пригласить других участников — чем больше людей записалось, тем быстрее стартует складчина и тем ниже взнос. Как только складчина готова к приобретению, вам придёт уведомление.