Автоматизатор тестирования на Java

на Отзовике, IRecommend и TutorTop
Составили программу по образовательной модели 4C/ID: будете учить только то, что нужно для решения настоящих задач автоматизатора
Это бесплатный модуль, чтобы вы попробовали себя в роли автоматизатора тестирования на Java и поняли, хотите ли развиваться в этом направлении
Что такое автоматизация тестирования, как выбрать язык программирования для автотестов
Как устроен курс, кто будет помогать учиться и проверять проекты
Поймёте, подойдёт ли вам профессия, и узнаете, как устроено обучение в Практикуме
Что такое Git. Как работать с командной строкой — навигация и советы. Операции с папками и файлами: создание, копирование, перемещение, чтение и удаление. Эффективная работа с командной строкой. Установка и настройка Git.
Инициализация репозитория и добавление файлов. Создание первого коммита. Знакомство с историей коммитов и GitHub. Регистрация на GitHub. Создание удалённого репозитория. Что такое SSH. SSH‑ключ: генерация и привязка к GitHub. Связывание и синхронизация локального и удалённого репозитория.
Скачивание и клонирование репозитория, выполнение Fork, создание ветки.
Настроите Git, разберёте основные команды. Погрузитесь в работу с GitHub и подготовитесь к первому проекту
Вывод в консоль. Классы и объекты. Методы. Как связаны метод, класс и объект.
Действия с переменными. Константа. Арифметические операторы. Строки. Конкатенация строк.
Что такое метод. Объявление метода. Параметры и аргументы. Методы с несколькими параметрами. Методы, возвращающие значение.
Логические выражения. Тип данных boolean. Условный оператор if. Область видимости переменных. Условный оператор if-else. Вложенные условные операторы. Логические операторы. Метод, возвращающий значение в зависимости от условия.
Цикл for. Циклы в обратном направлении и с изменением шага. Циклы с условием и вложенные циклы. Цикл while. Бесконечный цикл.
Определение массивов. Индексы и элементы. Длина массива. Выход за границы массива. Массивы и цикл for.
Объекты. Создание объекта. Код с несколькими объектами. Конструкторы.
Установка и настройка JDK. Среда разработки IntelliJ IDEA. Установка и использование Maven. Создание и импорт Maven-проектов.
Познакомитесь с основнами языка Java и научитесь писать минимальный код
Public, private и default. Инкапсуляция. Реализация инкапсуляции.
Строгая и статическая типизация. Примитивы и ссылочные типы. Значения по умолчанию. Приведение типов. Классы-обёртки. Передача параметров в методы.
Переопределение методов. Использование ключевых слов super и this.
Статические переменные и методы. Особенности статических элементов. Использование static в main.
Определение и создание абстрактных классов и методов. Наследование абстрактных классов.
Объявление и реализация интерфейсов. Наследование интерфейсов. Абстрактные классы и интерфейсы как инструменты абстракции.
В среде разработки напишете программу, которая хранит, сортирует и выводит данные, и сдадите её через GitHub
Определение и использование enum. Методы enum. Сравнение элементов. Использование switch.
Создание и сравнение строк. Подстроки и символьные массивы. Поиск и выделение подстрок. Неизменяемость строк. StringBuilder. Работа со строками.
Методы работы со списками и хеш‑таблицами. Создание, использование списков и хеш-таблиц, управление ими.
Фреймворк коллекций. ArrayList. Comparator. Множества.
Исключения и ошибки. Проверяемые и непроверяемые исключения. Обработка исключений. Продвинутые методы обработки.
Определение полиморфизма. Переопределение и перегрузка методов. Взаимодействие с классом Object.
Изучите всё необходимое, чтобы чувствовать себя уверенно в Java
Подключение к удалённому серверу. Узнать, где находишься. Посмотреть содержимое директории. Переместиться в другую директорию. Управление файлами и директориями. Работа с текстовыми файлами. Копирование и перемещение. Фильтрация содержимого файлов.
Названия юнит-тестов. JUnit: инструментарий. Структура теста в JUnit. Аннотации @Test, @Before, @After. Основы написания тестов. Assert-функции: assertEquals, assertNotEquals, assertThat. Матчеры. Юнит-тесты в IDE. Лямбда-функции. Лямбда-функции с параметрами. Метод assertAll. Параметризация. Параметризация с enum. Параметризация с несколькими аргументами: метод. Параметризация с несколькими аргументами.
Определение параметризации. Написание параметризованных тестов.
Разберётесь с основными инструментами юнит‑тестирования и напишете первые тесты
Основы инъекции зависимостей. Практика написания инъекций.
Определение мока. Создание моков. Особенности моков. Использование Mockito. Стабы. Spy-объекты. Использование Spy.
Изоляция в тестах. Разрыв зависимостей. Оценка покрытия тестами.
Покроете юнит-тестами приложение учебного сервиса Яндекс Самокат
Клиент-серверная архитектура. Веб‑приложение. URL. Протоколы HTTP и HTTPS. Структура HTTP-ответа. Веб‑страница: HTML, CSS, JavaScript. HTML: теги и атрибуты. DOM.
Поиск элементов в DevTools. Просмотр запросов. Куки.
Что такое UI-тесты. Пирамида тестирования. Преимущества и недостатки UI-тестов.
Узлы. Значение элемента. Список элементов. Усечённый список. Видимые и невидимые элементы. Вложенные элементы по относительному пути. Составные локаторы.
Подключение Selenium. Открыть и закрыть страницу. Клик по элементу. Заполнение поля ввода. Получить текст элемента. Перейти к элементу. Работа с куками из тестов. Параметризация в тестах для веб-приложений.
Определение и использование Page Object Model. Работа с локаторами и методами.
Напишете автотесты для учебного сервиса Яндекс Самокат
Архитектура приложения. Определение API. Архитектурные решения — REST. HTTP: структура запросов и ответов. JSON. Тестирование сервера с помощью Postman. Документация API, включая Swagger. Механизмы авторизации.
Написание GET-запроса. Написание POST- и PATCH-запросов. Сериализация и десериализация. Методы toJSON и fromJSON. Основы процессов и потоков. Многопоточность. Асинхронность.
Почему важно автоматизировать тестирование API. Флоу автоматизированного тестирования для API. Подготовка тестового стенда. Подготовка тест-кейсов. Подготовка данных. Использование моков в API. Отчёты о тестировании. Установка и использование Allure. Аннотации в Allure.
Напишете тесты для API приложения и подключите Allure‑отчёты
Что такое CI/CD. Инструменты CI/CD. Docker и его использование с Selenium Grid. Kubernetes. Jenkins. Интеграция Jenkins с Docker и Allure. Создание удалённого сервера. Развёртывание Jenkins на удалённом сервере.
Монолитная архитектура. Микросервисная архитектура. Виды межсервисного взаимодействия. Архитектурные паттерны.
Количество тестов на каждый уровень пирамиды тестирования. Время запуска тестов разных уровней. Оценка покрытия тестами по каждому уровню.
Посмотрите на всё тестирование сверху и обратитесь к инфраструктуре
Проект, который объединяет весь изученный материал. Нужно будет покрыть тестами веб‑приложение, API и написать юнит‑тесты на отдельную функциональность. Хороший способ связать воедино всё, чему удалось научиться за курс.
Изучите ещё один фреймворк для автоматизации тестирования. Его используют реже, чем Selenium из основной программы, но на самом деле он даже удобнее. Построен на основе Selenium WebDriver, поэтому освоить не сложно.
Язык запросов SQL, базы данных и как их тестировать. Дополнительный блок, чтобы подтянуть знания, для тех, кто чувствует себя неуверенно в этих темах.
Этот формат стоит дороже, но включает в себя больше тем и проектов.
Работа с асинхронными сервисами на примере Kafka. Behavior-Driven Development.
Ещё один итоговый проект, который усилит портфолио.
По темам курса или техническому собеседованию.
Больше навыков, которые помогут профессионально расти