Автоматизатор тестирования на Kotlin [OTUS] [Дмитрий Золотов, Дмитрий Синицын, Сергей Прощаев]

ALL DAR Bot

🛡 МОДЕРАТОР 🛡
Регистрация
26 Март 2018
Сообщения
89.722
Автор: Дмитрий Золотов, Дмитрий Синицын, Сергей Прощаев
Название: Автоматизатор тестирования на Kotlin [OTUS] [Дмитрий Золотов, Дмитрий Синицын, Сергей Прощаев]

skoro-1.png


Описание:
Складчина: Автоматизатор тестирования на Kotlin [OTUS] [Дмитрий Золотов, Дмитрий Синицын, Сергей Прощаев]

При тестировании Android-приложения можно подменять зависимости, проверять экраны и отправлять запросы к API. На курсе OTUS вы научитесь создавать такие тесты на Kotlin, встраивать их в CI и применять полученные знания в итоговом проекте.

Научитесь разрабатывать тесты для всех платформ, где используется Kotlin.

При покупке курса Вы получите не только системное освоение автоматизации тестирования на Kotlin, но и расширите свои компетенции за счёт бонусного блока о работе с LLM в тестировании. Разберётесь, какие задачи можно делегировать ИИ, как правильно формулировать запросы и проверять результаты, чтобы использовать LLM как инструмент для ускорения работы, а не как замену экспертизе тестировщика.

Для кого этот курс?:

  • Для младших разработчиков на любом языке ООП: сможете улучшить навыки автоматизации тестирования и CI/CD
  • Для тестировщиков с опытом работы от года: научитесь создавать автоматические тесты (включая интеграционные тесты) для всех уровней приложения

Необходимые знания:

  • Любой язык ООП
  • Виды тестирования и методы подготовки тестовых значений
  • Основы архитектуры распределённых сетевых приложений и REST API
  • Основы реляционных баз данных и языка SQL
  • Распределённые системы контроля версий (git)

Что вам даст этот курс?

Вы узнаете, как с помощью Kotlin разрабатывать тесты и рефакторить кроссплатформенные приложения для мобильных- и веб-платформ, для систем enterprise-уровня и встраиваемых систем. Также вы научитесь создавать эффективные автотесты пользовательского интерфейса, бизнес-логики и API, оценивать производительность, проверять стиль кода и находить уязвимости.

Ключевые особенности курса:

  • Используйте актуальные возможности Kotlin – полностью покрывайте тестами сложные многокомпонентные приложения
  • Тестируйте интерфейсы в Jetpack Compose с инъекцией зависимостей через Hilt
  • Полностью встраивайте тесты в конвейер непрерывной интеграции

После обучения вы сможете:

  • Создавать тестовые данные и использовать инъекции зависимостей для подмены объектов при тестировании
  • Выполнять нагрузочное тестирование
  • Проводить автоматические тесты на наличие уязвимостей
  • Проверять стиль кода на соответствие принятым правилам
  • Встраивать Automation QA в конвейер сборки в наиболее востребованных системах непрерывной интеграции
  • Применять механизмы синхронизации при тестировании асинхронных компонентов и распределённых систем
  • Пользоваться основными системами сборки приложений
  • Выполнять в тестах сложные сценарии

Актуальность профессии:

С ростом популярности Kotlin как основного языка разработки для Android-приложений и серверных решений растет спрос на специалистов, способных обеспечивать их качество. Компании ищут Kotlin QA Инженеров, которые не просто тестируют продукт, но и умеют писать автотесты на Kotlin, работать с инструментами тестирования, CI/CD и глубже понимать процессы разработки.

Процесс обучения:

Программа обучения на курсе Kotlin QA Engineer состоит из 8 модулей. Вы научитесь создавать модульные тесты для функций и объектов классов; поймёте, как устроена серверная часть веб-приложения, как разрабатывать автотесты для веб-серверов, как тестировать приложения на Android, а ещё – освежите знания о работе с СУБД и протоколом HTTP.

Создайте свой проект: разработайте полноценный набор тестов для реальных приложений.

Расширяйте возможности: растите как разработчик, архитектор или devOps.

Формат обучения:

Данный курс можно пройти в записи.

Практика: выпускная работа усилит знания, а её успешная защита откроет новые карьерные возможности.

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

В конце обучения вы выполните итоговую работу. Выберите любую распределённую систему с мобильным приложением: ваш личный проект или любой доступный проект с открытым исходным кодом. Проведите юнит-тесты, инструментальные тесты, автоматические сценарные тесты на Appium и тесты API на Ktor Client.

Необходимо реализовать:

  1. Юнит-тесты для бизнес-логики (с использованием mock-объектов или инъекции для тестовой реализации репозитория) - не менее 5
  2. Инструментальные тесты для экранов приложения (с использованием Espresso или любой надстройки - Kakao, Kaspresso, ...) - не менее 3 экранов (нужно покрыть основные сценарии работы и минимум один ошибочный сценарий)
  3. Автоматические сценарные тесты приложения как черного ящика (через Ui Automator или Appium) - не менее 3 экранов (нужно покрыть основные сценарии работы и минимум один ошибочный сценарий)
  4. Тестирование API на Ktor Client для сетевых приложений (если приложение работает автономно - можно использовать любой API из списка Скрытая ссылка). Проверка функционирования не менее 3 API-методов (при корректных данных и при возникновении ошибки) - суммарно не менее 6 тестов
  5. Для каждого теста должен быть сгенерирован тестовый отчет в Allure и все отчеты приложены в каталоге reports (в корневом каталоге проекта). Также необходимо подготовить отчет по тестовому покрытию кода

Программа:

Введение в 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 в тестировании

Авторы:

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

На странице курса также приведена биография без указания имени:

  • Закончил Российский Государственный Педагогический Университет в 2002-ом году - учитель физики
  • Руководил межфакультетской лабораторией перспективных информационных технологий в РГПУ им. А. И. Герцена
  • Участвовал в создании и масштабировании ресурсов для электронного обучения (в т.ч. проект «Российская электронная школа»)
  • Проектировал и разрабатывал высоконагруженные веб-приложения и системы автоматизации
  • Контрибьютор в проект ReOpenLdap
  • Разрабатывал архитектуру отказоустойчивых конфигураций гибридного облака на основе Consul и Kubernetes, сервисных сетей, интеграционных платформ с использованием AMQP
  • Также являюсь преподавателем по компьютерным сетям, DevOps, операционным системам, мультимедиа-технологиям
  • Руководил отделом автоматизации процессов в финансовой организации, в которой был консультантом и DevOps по миграции систем с использованием облачных технологий, а также разработчиком для Android/iOS
  • Автор серии вебинаров по Kubernetes и кроссплатформенной разработке: Скрытая ссылка
  • Опыт работы 23 года
  • FullStack разработчик (Flutter/Python/Kotlin/GoLang/C++)
  • DevOps, Системный администратор
  • Приглашенный преподаватель в ИТМО
  • Исследователь технологий электронного обучения

Цену поставит организатор

Скрытая ссылка

Материал «Автоматизатор тестирования на Kotlin [OTUS] [Дмитрий Золотов, Дмитрий Синицын, Сергей Прощаев]», возможно, скоро появится на All-DAR.

Пройдите регистрацию и оформите Premium подписку, чтобы первым получить доступ, и воспользуйтесь поиском — может быть, он уже опубликован.
​
 

Присоединяйтесь, чтобы открыть полный доступ

Комментарии и материалы этой темы доступны только зарегистрированным участникам

Новый участник?

Регистрация занимает меньше минуты

Уже с нами?

Войдите в свой аккаунт

Сверху