Kotlin QA Engineer

Kotlin QA Engineer

Автоматизация тестирования на Kotlin
Знания и опыт разработки тестов для всех платформ, где используется Kotlin

Длительность обучения:

4 месяца

4 ак. часа в нед.

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

Знания и практический опыт разработки тестов и рефакторинга кроссплатформенных приложений на языке Kotlin для мобильных, веб-платформ, систем Enterprise-уровня и решений для встраиваемых систем.

Мы рассмотрим на примерах реальных проектов основные идеи и сложные практические вопросы при проектировании и разработке автоматических тестов пользовательского интерфейса, бизнес-логики и API, оценки производительности, проверки стиля кода и наличия уязвимостей.

Объединяющей идеей курса является всесторонняя автоматизация и использование тестов в системах непрерывной интеграции.


На кого ориентирован курс?

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

Какие навыки получат студенты на курсе?

Использование актуальных возможностей Kotlin для создания максимально полного покрытия тестами сложных многокомпонентных приложений (в том числе с графическим интерфейсом).
 
Создание тестовых данных и использование инъекции зависимостей для подмены объектов при выполнении тестирования.
 
Уверенное понимание и применение механизмов синхронизации при тестировании асинхронных компонентов и распределенных систем.
 
Выполнение нагрузочного тестирования, автоматических тестов на наличие уязвимостей, проверки соответствия стиля кода принятым правилам.
 
Владение основными системами сборки приложений и встраивания автоматизированного тестирования в конвейер сборки в наиболее востребованных системах непрерывной интеграции.


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

  • Тестирование интерфейсов на Jetpack Compose с инъекцией зависимостей через Hilt;
  • Полное встраивание тестов в конвейер непрерывной интеграции;
  • Автоматическая проверка домашних заданий на статическом анализаторе.

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

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

Корпоративное обучение для ваших сотрудников

Поможем вашей компании развивать команду! Профиты данного курса для компании: Подробное изучение самых популярных баз данных с возможностью сосредоточиться на тех, которые используются в компании / Оптимизированные стабильные системы / Работа над промышленными задачами во время практики
>

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

В процессе обучения вы получите комплексные знания и навыки.
Тема 1. Kotlin в сравнении с Java и другими ООП-языками
Тема 2. Коллекции, generic-типы и лямбда-выражения
Тема 3. Функции-расширения, делегаты, DSL
Тема 4. Настройка тестирования в сборке Gradle
Тема 5. Взаимодействие с СУБД для заполнения тестовых данных
Тема 6. Подготовка (генерация) и хранение тестовых данных
Тема 7. Выбор тестовых данных
Тема 8. Модульные тесты
Тема 9. BDD-тестирование
Тема 10. Статический анализ кода и уязвимостей
Тема 11. Тестирование приложение на Spring Framework
Тема 12. Тестирование производительности и профилирование
Тема 13. Практика
Тема 14. Инъекция зависимостей и создание моков
Тема 15. Корутины и тестирование асинхронного кода на примере SQL-запросов к базе данных
Тема 16. Тестирование Flow и изменяемых состояний
Тема 17. Тестирование асинхронных распределенных систем (очереди сообщений)
Тема 18. Основы Android-приложений, обнаружение элементов на Espresso
Тема 19. Тестовые фреймворки Kakao, Kaspresso, расширение Hamcrest
Тема 20. Тестирование приложений на Jetpack Compose
Тема 21. Тестирование Accessibility
Тема 22. Тестирование сетевого слоя
Тема 23. Кроссплатформенное тестирование интерфейса методом "черного ящика"
Тема 24. Практика по тестированию реального приложения
Тема 25. Kotlin for Backend, автоматизация тестирования API (RestAssured, Postman)
Тема 26. KotlinJS разработка для web
Тема 27. Разработка нативного кода в KotlinNative
Тема 28. Нагрузочное тестирование (Gatling)
Тема 29. Практика
Тема 30. Настройка Jenkins для запуска тестов
Тема 31. Использование Docker для создания тестовых данных
Тема 32. Интеграция тестов в Gitlab, Github, Bitbucket
Тема 33. Практика
Тема 34. Консультация по проектам и домашним заданиям
Тема 35. Защита проектных работ
Скачать подробную программу

Выпускной проект

Вам будут предложено несколько тем проектов, но вы можете выбрать любую распределенную систему с мобильным приложений (включая свой пет-проект или любой доступный open source-проект). Домашние работы направлены на выработку навыков создания тестов, для них будет использоваться два предварительно разработанных приложения.

Дополнительно на курсе вы:
1. Сможете под руководством опытных преподавателей разработать и разместить в своём портфолио полноценный набор тестов для реальных приложений
2. Узнаете, как можно реализовать в тестах сложные сценарии, которые обычно называют как ""это невозможно автоматизировать""
3. Увеличите свой потенциал разработчика, архитектора и DevOps

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

Обучение проходит онлайн: вебинары, общение с преподавателями и вашей группой в слаке курса, домашние задания и получение обратной связи. Вебинары идут два раза в неделю 1,5 часа, сохраняются в записи в личном кабинете. Домашнее задание занимает 3-5 часов. В обучении будут анализировать реальные кейсы неочевидных ошибок реализации и обсуждаться возможные подходы к их тестированию и выявлению. Возникающие вопросы по материалам лекций, домашним заданиям и по выпускному проекту вы сможете задавать преподавателю в слаке или во время вебинаров. Выполнение проектной работы помогает усвоению практических навыков.

Получить консультацию

Наш специалист свяжется с вами в ближайшее время. Если у вас возникли трудности в выборе курса или проблемы технического плана, то мы с радостью поможем вам.
Спасибо!
Мы получили Вашу заявку, в ближайшее время с Вами свяжется наш менеджер.

После обучения вы

1. Повысите свой профессиональный уровень в области автоматизированного тестирования, расширите свои рабочие компетенции и увеличить востребованность на рынке труда
2. Научитесь создавать автоматические тесты для всех компонентов сложных приложений в рабочих или личных проектах
3. Сможете использовать и приносить в рабочую команду философию и подходы DevOps к созданию надежных приложений

На какие вакансии можно претендовать:
Разработчик приложений на Kotlin, инженер DevOps, архитектор распределенных систем

Где, в каких проектах требуются такие специалисты?
SaaS-проекты с мобильными клиентами, Enterprise-системы на Kotlin, встраиваемые решения
Ваш сертификат

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «Kotlin QA Engineer»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Зам. директора департамента образования
ООО “Отус Онлайн-Образование”
Вдовиченко М.M.

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018 года.

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «Kotlin QA Engineer»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Зам. директора департамента образования
ООО “Отус Онлайн-Образование”
Вдовиченко М.M.

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018 года.

Прошедшие открытые вебинары

Открытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
Возможности Kotlin DSL для тестирования.
День открытых дверей
5 октября 2021 года в 20:00
Оставьте заявку, чтобы получить доступ к записям прошедших мероприятий. Записи всех мероприятий появятся в этом блоке