Kotlin QA Engineer
25 апреля
4 месяца
Онлайн
Пн/Чт 20:00 Мск
Для кого этот курс?
Курс подойдет разработчикам на любом ООП-языке программирования с опытом работы от 1-го года, желающих улучшить свои навыки в автоматизации тестирования и создании CI/CD. Также подойдет тестировщикам с опытом работы от 1-го года, которые хотели бы научиться создавать автоматические тесты для всех уровней приложения (включая интеграционные тесты).Необходимые знания:
- знать любой ООП-язык программирования
- понимать виды тестирования и методы подготовки тестовых значений
- знать основы архитектуры распределенных сетевых приложений и REST API
- распределенные системы контроля версий (git)
- основы реляционных баз данных и языка SQL
Что вам даст этот курс?
Вы получите знания и практический опыт разработки тестов и рефакторинга кроссплатформенных приложений на языке Kotlin для мобильных, веб-платформ, систем Enterprise-уровня и решений для встраиваемых систем. Мы рассмотрим на примерах реальных проектов основные идеи и сложные практические вопросы при проектировании и разработке автоматических тестов пользовательского интерфейса, бизнес-логики и API, оценки производительности, проверки стиля кода и наличия уязвимостей.
Ключевые особенности курса:
- актуальные возможности Kotlin для создания максимально полного покрытия тестами сложных многокомпонентных приложений
- тестирование интерфейсов на Jetpack Compose с инъекцией зависимостей через Hilt
- полное встраивание тестов в конвейер непрерывной интеграции
- автоматическая проверка домашних заданий на статическом анализаторе
После обучения вы сможете:
- создавать тестовые данные и использовать инъекции зависимостей для подмены объектов при выполнении тестирования
- выполнять нагрузочное тестирование
- выполнять автоматические тесты на наличие уязвимостей
- выполнять проверку соответствия стиля кода принятым правилам
- встраивать Automation QA в конвейер сборки в наиболее востребованных системах непрерывной интеграции
Дополнительно вы научитесь:
- применять механизмы синхронизации при тестировании асинхронных компонентов и распределенных систем
- владеть основными системами сборки приложений
- реализовывать в тестах сложные сценарии
Цель курса
Объединяющей целью курса является всесторонняя автоматизация и использование тестов в системах непрерывной интеграции
Процесс обучения
Проект
Разработаете полноценный набор тестов для реальных приложений
Практика
Автоматическая проверка ДЗ на статистическом анализе
Перспективы
Увеличите свой потенциал разработчика, архитектора и DevOps
Трудоустройство
- Оформите резюме и портфолио:
HR-специалист поможет оформить резюме - Научитесь проходить собеседования:
руководитель курса и HR-специалист научат вас проходить собеседования - Рекомендательное письмо:
лучшие студенты получат персональное рекомендательное письмо от компании OTUS - Разместите резюме в базе OTUS:
так наши партнёры смогут пригласить вас на интервью
QA Automation Engineer (Kotlin)
Работодатели курса
Формат обучения
Интерактивные вебинары
2 занятия по 2 ак.часа в неделю
Доступ к записям и материалам остается навсегда
Обратная связь
Развернутый фидбэк по домашним заданиям от преподавателей
Активное комьюнити
Общайтесь с преподавателями голосом на вебинарах и в закрытой Telegram группе
Программа
Введение в Kotlin
В модуле изучаем важные функциональные и синтаксические особенности Kotlin, разбираем принципы сборки приложений на основе дополнения Gradle. Вы получите знания, необходимые для дальнейшего написания кода и для его тестирования.
Тема 1: Kotlin в сравнении с Java и другими ООП-языками
Тема 2: Коллекции, generic-типы и лямбда-выражения
Тема 3: Функции-расширения, делегаты, DSL
Тема 4: Настройка тестирования в сборке Gradle
Тема 5: Взаимодействие с СУБД для заполнения тестовых данных
Тема 6: Консультация по пройденному материалу и ДЗ
Тема 7: Подготовка (генерация) и хранение тестовых данных
Фреймворки тестирования
В модуле изучаются основные подходы к тестированию отдельных частей приложения: модулей, спецификаций, компонентов и анализ аспектов качества кода: безопасности, производительности.
Тема 1: Выбор тестовых данных
Тема 2: Модульные тесты
Тема 3: BDD-тестирование
Тема 4: Статический анализ кода и уязвимостей
Тема 5: Тестирование приложений на Spring Framework
Тема 6: Тестирование производительности и профилирование
Тема 7: Практика
Тема 8: Консультация по пройденному материалу и ДЗ
Рефакторинг и архитектура приложений
В модуле рассматриваются темы тестирования сложных приложений на Kotlin, использующих механизмы потоков (Flow), корутин (coroutines), очередей сообщений.
Тема 1: Инъекция зависимостей и создание моков
Тема 2: Корутины и тестирование асинхронного кода на примере SQL-запросов к базе данных
Тема 3: Тестирование Flow и изменяемых состояний
Тема 4: Тестирование асинхронных распределенных систем (очереди сообщений)
Тема 5: Консультация по пройденному материалу и ДЗ
Разработка и тестирование мобильных приложений
Модуль направлен на изучение подходов к тестированию приложений для мобильных операционных систем (Android / iOS), в том числе использующих сетевое взаимодйествие с сервером.
Тема 1: Основы Android-приложений, обнаружение элементов на Espresso
Тема 2: Тестовые фреймворки Kakao, Kaspresso, расширение Hamcrest
Тема 3: Тестирование приложений на Jetpack Compose
Тема 4: Тестирование Accessibility
Тема 5: Тестирование сетевого слоя
Тема 6: Кроссплатформенное тестирование интерфейса методом "черного ящика"
Тема 7: Практика по тестированию реального приложения
Мультиплатформенная разработка и тестирование
В модуле рассматриваются вопросы тестирования мультиплатформенных приложений, в т.ч. веб-приложений, серверной реализации, интеграций с нативным кодом.
Тема 1: Kotlin for Backend, автоматизация тестирования API (RestAssured, Postman)
Тема 2: KotlinJS разработка для web
Тема 3: Разработка нативного кода в KotlinNative
Тема 4: Нагрузочное тестирование (Gatling)
Тема 5: Практика
Инфраструктура тестирования
В модуле рассматриваются технологические решения автоматизации тестирования и управления тестовым окружением.
Тема 1: Настройка Jenkins для запуска тестов
Тема 2: Использование Docker для создания тестовых данных
Тема 3: Интеграция тестов в Gitlab, Github, Bitbucket
Тема 4: Практика
Подготовка к поиску работы
В этом модуле мы начнём готовиться к поиску работы. Оформим резюме с HR-специалистом. Подготовимся к прохождению собеседований с HR и техническому интервью. По итогу модуля вы будете уже готовы к поиску первой работы.
Тема 1: Как правильно оформить резюме чтобы найти работу?
Тема 2: Как подготовиться к собеседованию и техническому интервью?
Итоговый проект
Заключительный месяц курса посвящен итоговому проекту — это то, что интересно создавать студенту на основе знаний, полученных на курсе. В процессе работы над проектом можно получить консультации преподавателей.
Тема 1: Консультация по проектам и домашним заданиям
Тема 2: Защита проектных работ
Также вы можете получить полную программу, чтобы убедиться, что обучение вам подходит
Выпускной проект
Финальный месяц обучения посвящен выпускному проекту. Вам будут предложено несколько тем проектов, но вы можете выбрать любую распределенную систему с мобильным приложением (включая свой pet-проект или любой доступный open source-проект). Домашние работы направлены на выработку навыков создания тестов, для них будет использоваться два предварительно разработанных приложения. Защита проекта будет проходить перед экспертами в профессии.
Преподаватели
Дмитрий Свиридов
ex-Avito Tech
Senior QA Automation Engineer
В 2016-ом году окончил магистратуру ИТМО по специальности "Физика низких температур". Работы для инженера-криогенщика было не густо, в связи с чем решил вспомнить школьное увлечение программированием и связать профессиональную деятельность с IT. Изначально нравились мобильные приложения, поэтому в начале 2018-го года пришел сначала в ручное тестирование нативных и кросс-платформенных приложений, затем разобрался с их автоматизацией. Постоянно изучая новые области, перешел в разработку автотестов для серверных приложений, чем преимущественно и занимается последние 1,5 года. За все время приходилось пощупать множество технологий: Kotlin, Swift, PHP, JS, Python. - Опыт работы в IT более 7-ми лет - Опыт работы в мобильном тестировании более 5-ти лет - Последние 1.5 года занимается автотестами сервисных приложений
Преподает на курсах
- Kotlin QA Engineer
- Java QA Engineer. Professional
- Java QA Engineer. Basic
Дмитрий Золотов
Yandex
Flutter+Kotlin Developer
Закончил Российский Государственный Педагогический Университет в 2002-ом году - учитель физики. Руководил межфакультетской лабораторией перспективных информационных технологий в РГПУ им. А. И. Герцена. Участвовал в создании и масштабировании ресурсов для электронного обучения (в т.ч. проект "Российская электронная школа"). Проектировал и разрабатывал высоконагруженные веб-приложения и системы автоматизации. Контрибьютор в проект ReOpenLdap. Разрабатывал архитектуру отказоустойчивых конфигураций гибридного облака на основе Consul и Kubernetes, сервисных сетей, интеграционных платформ с использованием AMQP. Также являюсь преподавателем по компьютерным сетям, DevOps, операционным системам, мультимедиа-технологиям. Руководил отделом автоматизации процессов в финансовой организации, в которой был консультантом и DevOps по миграции систем с использованием облачных технологий, а также разработчиком для Android/iOS. Автор серии вебинаров по Kubernetes и кроссплатформенной разработке: https://www.youtube.com/channel/UCs_AMB-HbhHzMhE0VdBZByg - Опыт работы 23 года - FullStack разработчик (Flutter/Python/Kotlin/GoLang/C++) - DevOps, Системный администратор - Приглашенный преподаватель в ИТМО - Исследователь технологий электронного обучения
Преподает на курсах
- Инфраструктурная платформа на основе Kubernetes
- Highload Architect
- DevOps практики и инструменты
- Python QA Engineer
- Kotlin QA Engineer
- QA Engineer. Basic
- Flutter Mobile Developer
- Специализация DevOps
Эксперты-практики делятся опытом, разбирают кейсы студентов и дают развернутый фидбэк на домашние задания
Ближайшие мероприятия
Открытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
Основные темы открытого урока:
- Использование тестовых сервисов для нужд тестирования
- Устройство Spring Framework
- Реализация Rest API
Основные темы открытого урока:
- Написание unit-тестов, использование моков
- Написание интеграционных тестов
Основные темы открытого урока:
- Принципы анализа исходных текстов и кодогенерации на KSP (PSI-дерево)
- Новые возможности KSP2 и их применение в юнит-тестах для генерации тестовых наборов и кода на основе исходных текстов
Прошедшие
мероприятия
Корпоративное обучение для ваших сотрудников
- Курсы OTUS верифицированы крупными игроками ИТ-рынка и предлагают инструменты и практики, актуальные на данный момент
- Студенты работают в группах, могут получить консультации не только преподавателей, но и профессионального сообщества
- OTUS проверяет знания студентов перед стартом обучения и после его завершения
- Простой и удобный личный кабинет компании, в котором можно видеть статистику по обучению сотрудников
- Сертификат нашего выпускника за 5 лет стал гарантом качества знаний в обществе
- OTUS создал в IT более 120 курсов по 7 направлениям, линейка которых расширяется по 40-50 курсов в год
Отзывы
Сертификат о прохождении курса
OTUS осуществляет лицензированную образовательную деятельность.
В конце обучения вы получите сертификат OTUS о прохождении курса
После обучения вы:
- получите репозиторий на GitHub с примерами тестов
- сохраните видеозаписи занятий и презентации
- сможете решать любые задачи автоматизатора тестирования
- получите сертификат об окончании курса
Kotlin QA Engineer
Стоимость в рассрочку
Стоимость указана для оплаты физическими лицами
вычета до 13% стоимости обучения. Пройдите тестирование и менеджер вас проконсультирует
+7 499 938-92-02 бесплатно