Зачем инженеру по ручному тестированию учиться автоматизации

Избавитесь от рутины

Автоматизация позволит избежать рутинных проверок и ускорить тестирование задач

Освоите новые инструменты и технологии — станете конкурентоспособнее

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

Попробуйте любой формат курса бесплатно — выбрать один-единственный можно позже

  •                                        

Что входит в любой формат

  • Ещё можно платить частями Практикуму столько месяцев, сколько идёт курс. Общая стоимость будет меньше, чем в рассрочку от банка
  • Вернём деньги в любой момент за остаток курса,
    если что-то не понравится. Подробности — в 7 пункте оферты
Что вас ждёт на курсе
YandexGPT помогает проходить курс
Когда в теории что-то непонятно, нейросеть объяснит это другими словами. А в конце каждого модуля подготовит краткий пересказ о самом главном.
Отвечаем на вопросы
Зачем мне этот курс?
Программа разработана для ускорения профессионального развития. Она поможет перейти на новую ступень в тестировании, овладеть необходимым инструментарием и изучить стек технологий, который востребован на рынке, познакомиться с общепринятыми подходами к решению задач и отработать их на практике, систематизировать свои знания про автоматизацию и получить цельное представление о профессии, повысить свою рыночную ценность как специалиста.
Чем расширенный формат курса отличается от обычного?
Расширенный формат включает больше тем, проектов и актуальных навыков, которые помогут вам профессионально расти:
  • Вы погрузитесь в работу с асинхронными сервисами на примере Kafka: изучите основные концепции, терминологию и архитектуру Kafka, разберётесь в продюсерах и консьюмерах, Consumer Groups и сериализации данных.
  • Освоите подход к разработке ПО Behavior‑Driven Development: познакомитесь с языком описания сценариев Gherkin и фреймворком Cucumber, узнаете о лучших практиках работы с BDD.
А ещё посетите 8 консультаций с опытными Java-автоматизаторами: по темам курса, техническому собеседованию или настройке автотестов в вашей компании.
Кто авторы курса?
Программа составлена опытными методистами и практикующими автоматизаторами тестирования (Java QA Engineer).
Каким требованиям нужно соответствовать?
Нужно иметь опыт работы ручным тестировщиком — например, проверки веб-приложений, мобильных приложений или API.

Мы ждём, что вы:

— можете составлять чек-листы и тест-кейсы;
— умеете применять техники тест-дизайна: классы эквивалентности и граничные значения;
— имеете представление о том, как работают мобильные и веб-приложения.

Ещё нужно знать, чем различаются:

— функциональное и нефункциональное тестирование,
— тестирование чёрного и белого ящиков,
— позитивное и негативное тестирование,
— регрессионное и смоук-тестирование.

Необходимо иметь законченное среднее образование и возможность заниматься 10–15 часов в неделю.
Если я не соответствую требованиям, но очень хочу, что мне делать?
Если у вас совсем нет опыта, стоит начать с основ — присмотритесь к курсу «Инженер по тестированию».
Какая длительность курса?
5 месяцев — у обычного формата, 6 месяцев — у расширенного. Нужно будет уделять 10–15 часов в неделю.
Этого времени достаточно, чтобы всё освоить?
За это время вы сможете узнать всё самое необходимое, чтобы автоматизировать свои первые тесты.

У каждой группы есть свой наставник — опытный автоматизатор тестирования. Размер группы рассчитывается так, чтобы все получали достаточно обратной связи. Такой подход помогает осваивать материал быстрее.
Смогу ли я найти работу после курса?
Гарантий нет, но мы верим, что сможете. Работодателям важно, чтобы вы справлялись с реальными задачами, а не просто обладали набором знаний. После курса вы сможете применять знания на практике, а также мы предлагаем помощь HR-специалистов из нашего карьерного центра. Но вам точно придётся приложить усилия, чтобы найти работу: активно откликаться на вакансии, проходить собеседования, показывать свои проекты и делать тестовые задания.

По данным исследования* Высшей школы экономики, 69% пользователей Яндекс Практикума среди тех, кто хотел сменить профессию, начинают новую карьеру после курса. Больше половины из них — во время курса и в первые 2 месяца после его окончания.

* Данные исследования ВШЭ основаны на опыте пользователей Яндекс Практикума на российском рынке труда.
Что делать, если я не справлюсь с нагрузкой?
В программе предусмотрен перерыв, во время которого можно отдохнуть или повторить сложные темы.

Если случилось непредвиденное или понадобилось больше времени на закрепление материала, напишите своему куратору. Он поможет перенести дедлайн сдачи проекта или перевестись в более позднюю когорту. На общую стоимость курса это не повлияет.
Если не понравится, я могу вернуть деньги?
Конечно. Если курс ещё не начался, вернём всю сумму. Если уже начался, придётся оплатить прошедшие дни со старта вашей первой когорты — но мы вернём деньги за остаток курса. Более подробно рассказываем об этом в 7 пункте оферты.
Получу ли я какой-то документ после курса?
Да, вы получите сертификат о завершении курса.
Как можно оплатить?
Банковской картой: внести всю сумму сразу или платить ежемесячно.

Ежемесячные платежи работают так: вы вносите первую оплату, и в этот момент привязывается карта. С этой карты автоматически будут списываться следующие платежи каждые 30 календарных дней. Например, оплатили 25 марта — следующий платёж пройдёт 24 апреля. Курс будет стоить меньше, если оплатить его сразу целиком.

Через компанию: юридические лица также могут оплатить курс в Практикуме. Чтобы заказать счёт для оплаты, оставьте заявку на странице для корпоративных клиентов.
На каком языке проходит курс?
Всё будет на русском: теория, практические задания и вебинары, а ещё чаты с куратором, наставником и другими участниками курса.
В какой валюте можно оплатить курс?
Оплатить курс можно в любой валюте, кроме российских рублей.

Чтобы вам было проще сориентироваться, мы указываем примерную стоимость в долларах США, но списание будет в казахстанских тенге, а конвертация — по курсу вашего банка.

Давайте поможем

Напишите, как вас зовут и по какому номеру можно связываться — в течение 30 минут позвоним и расскажем всё про курсы