Вы пройдёте путь от простых программ на Java до того, чтобы покрыть автотестами сложный сервис. А ещё — узнаете, как устроены приложения и как самостоятельно настроить среду для автотестирования. Это необходимый минимум, чтобы начать автоматизировать рабочие задачи: упор на практику, ничего лишнего. Во время обучения вы также пройдёте программу профессиональной акселерации. В ней мы расскажем, как подготовиться к переходу в роль инженера по автоматизации тестирования или найти работу в этой области.
Программа обучения:
Java
Научитесь писать технически грамотный и поддерживаемый код. Освоите синтаксис языка, изучите концепции объектно-ориентированного программирования, алгоритмы и структуры данных. Разберётесь, как применять паттерны, чтобы оптимизировать написание кода.
Полученных навыков программирования хватит, чтобы начать карьеру в автоматизации тестирования.
Юнит
Сперва напишете простой тест, а в конце покроете проверками целое приложение. Познакомитесь с основным фреймворком тестирования на Java — JUnit. Освоите методы разрыва зависимостей внутри кода, а также научитесь пользоваться заглушками и моками.
Веб
Разберётесь в архитектуре веб-приложений, научитесь проверять элементы страницы с помощью кода. Выполните несколько практических заданий, которые научат покрывать приложение UI-тестами: освоите основные паттерны проверок и научитесь настраивать среду разработки.
API
Разберётесь, как работает API, и научитесь с ним взаимодействовать. Изучите основные форматы обмена данными — JSON и XML. Узнаете, как использовать библиотеки для написания API-тестов. Научитесь покрывать автотестами API-приложения.
Инфраструктура
Разберётесь, что такое Continuous Integration и Continuous Delivery — и зачем они нужны. Познакомитесь с CI-системами и самостоятельно запустите тесты. Получите представление о том, как работает Docker и Kubernetes. Освоите работу с консолью операционных систем Windows и Unix-систем. Сможете самостоятельно настроить среду для автотестирования на своём компьютере.
Git
Научитесь взаимодействовать с системой контроля версий Git. Поймёте, зачем нужно ветвление, и научитесь делать коммиты. Узнаете, как решать конфликты между разными версиями кода. Изучите GitHub.
Архитектура
Узнаете, как устроены веб-приложения и мобильные приложения: познакомитесь с основными архитектурными паттернами. Поймёте разницу между микросервисной и монолитной архитектурой.