Курс: Kotlin QA Engineer
Что даст вам этот курс
Знания и практический опыт разработки тестов и рефакторинга кроссплатформенных приложений на языке Kotlin для мобильных, веб-платформ, систем Enterprise-уровня и решений для встраиваемых систем.
Мы рассмотрим на примерах реальных проектов основные идеи и сложные практические вопросы при проектировании и разработке автоматических тестов пользовательского интерфейса, бизнес-логики и API, оценки производительности, проверки стиля кода и наличия уязвимостей.
Объединяющей идеей курса является всесторонняя автоматизация и использование тестов в системах непрерывной интеграции.
На кого ориентирован курс?
Курс рассчитан на разработчиков на любом ООП-языке программирования с опытом работы от 1 года, желающих улучшить свои навыки в автоматизации тестирования и создании CI/CD, либо тестировщиков с опытом работы от 1 года, которые хотели бы научиться создавать автоматические тесты для всех уровней приложения (включая интеграционные тесты).
Какие навыки получат студенты на курсе?
Использование актуальных возможностей Kotlin для создания максимально полного покрытия тестами сложных многокомпонентных приложений (в том числе с графическим интерфейсом).
Создание тестовых данных и использование инъекции зависимостей для подмены объектов при выполнении тестирования.
Уверенное понимание и применение механизмов синхронизации при тестировании асинхронных компонентов и распределенных систем.
Выполнение нагрузочного тестирования, автоматических тестов на наличие уязвимостей, проверки соответствия стиля кода принятым правилам.
Владение основными системами сборки приложений и встраивания автоматизированного тестирования в конвейер сборки в наиболее востребованных системах непрерывной интеграции.
Ключевые особенности курса:
Тестирование интерфейсов на Jetpack Compose с инъекцией зависимостей через Hilt;
Полное встраивание тестов в конвейер непрерывной интеграции;
Автоматическая проверка домашних заданий на статическом анализаторе.
Необходимые знания
- знать любой ООП-язык программирования
- понимать виды тестирования и методы подготовки тестовых значений
- знать основы архитектуры распределенных сетевых приложений и REST API
- распределенные системы контроля версий (git)
- основы реляционных баз данных и языка SQL