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

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

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

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

PyCharm
Pytest
Git
DevTools
Selenium WebDriver
Allure
XPath
CSS
Консоль

Сможете больше зарабатывать

Зарплаты автоматизаторов почти в 2 раза выше, чем у инженеров по ручному тестированию

Источник: Хабр Карьера
~70 000 ₽
Manual
~150 000 ₽
Automation
~250 000 ₽
Senior automation

Чему вы научитесь

Автоматизировать тестирование
Как веб-приложений, так и API — для этого освоите pytest, Selenium WebDriver, Git, XPath, CSS и Allure
Писать код на Python
Поймёте, как устроен язык, изучите его базовый синтаксис, напишете небольшое приложение
Проводить юнит-тесты
Создавать моки и стабы, использовать Spy, разрывать зависимости
Выстраивать процесс автоматизации
Разберётесь в инфраструктуре и архитектуре приложений, чтобы покрывать их тестами на всех уровнях

Как вы будете учиться

YandexGPT помогает учиться

Когда в теории что-то непонятно, нейросеть объяснит это другими словами. А в конце каждого урока подготовит краткий пересказ о самом главном.

Программа курса

Курс рассчитан на 5 месяцев, учёбе нужно уделять не меньше 15 часов в неделю. Но вы можете самостоятельно распределять нагрузку и учиться так, как удобно вам.
~2 часа
Бесплатно
Бесплатное введение
Узнаете чуть больше о курсе и о том, как проходит учёба: оцените подачу материала и тренажёр для написания кода. Введение поможет понять, подходит ли вам такой формат.
2
2 недели
Основы Python
Познакомитесь с базовыми конструкциями языка: классами и объектами, функциями, ветвлениями и так далее. Будете сразу применять знания на практике — писать код внутри уроков и в среде разработки PyCharm.
  • Основы Python
  • Функции
  • Списки
  • Классы
  • Объекты
  • PyCharm
  • Циклы
Как устроено обучение
Сроки и дедлайны. Как всё организовано. Что поможет справиться. Ошибки и ответственность.
Знакомство с Python
Язык Python. Вывод на экран. Пробелы в выводе на экран. Переменные. Как называть переменные. Константы. Типы данных: числа и строки. Операции с целыми числами. Конкатенация строк. Форматирование строк. Преобразование типов. Дробные числа.
Ветвления
Логические выражения. Тип данных bool. Ветвление кода. Ветвление кода с else. Множественные ветвления. Логические операции. Приоритет логических операторов.
Списки
Знакомство со списками. Длина списка и индексы. Списки и индексы: практика. Операции со списками: append(), insert() и remove(). Операции со списками: pop() и in. Сложение списков. Списки списков и копирование. Операции со списками: практика.
Циклы
Циклы. Диапазоны от и до. Функция reversed(). Перебор через обратный срез списка. Вложенные циклы. Цикл с условием. Циклы: практика.
Операции со строками
Длина строки, индексы и подстроки. Метод split(). Метод replace().
Словари и коллекции
Что такое словарь. Как получить и изменить значение в словаре. Как добавить элементы в словарь. Метод get(). Методы keys() и values(). Перебор элементов в словаре. Как проверить наличие элемента. Словари: практика.
Функции
Функция. Как объявить и вызвать функцию. Аргументы и параметры. Возврат значений из функции. Значение по умолчанию и разные виды аргументов. Библиотеки. Вызов функции из функции. Ошибки и их обработка. Ошибки в списках и словарях. Функции: практика.
Классы и объекты
Классы и объекты. Как создать класс. Как создать объект. Ошибка AttributeError. Как объявить и вызвать метод. Встроенные методы: __dict__. Как взаимодействуют классы.
PyCharm
Командная строка. Как запустить Python в командной строке. Среда разработки PyCharm. Как создать проект. Интерфейс PyCharm. Запуск и отладка проекта.
Решите несколько комплексных задач на Python. Напишете программы, которые печатают текст, считают время и составляют таблицы
3
2 недели
ООП: наследование и полиморфизм
Изучите основы объектно-ориентированного программирования (ООП). Это принципы, которые помогают решать сложные задачи, настраивать методы и классы, создавать логичные иерархии. ООП помогает писать программы, которые легко поддерживать и проверять.
  • ООП
  • Полиморфизм
  • Наследование
  • Миксины
Наследование
Что такое ООП. Наследование. Наследование с конструктором. Функция super(). Переопределение методов. Переопределение методов: меняется сигнатура. Переопределение и super(). Полиморфизм.
Множественное наследование
Множественное наследование. Множественное наследование с конструктором. Множественное наследование и super(). Ромбовидное наследование. Миксины. Наследование: практика.
Статические методы
Что такое статический метод. Как вызвать статический метод через класс. Как применять статический метод на практике.
Методы класса
Что такое методы класса. Как применять методы класса.
Область видимости
Область видимости. Когда какую область видимости использовать.
С помощью принципов ООП решите несколько комплексных задач на Python
4
2 недели
ООП: инкапсуляция
Продолжите изучать ООП. После этого модуля сможете решать комплексные сложные задачи в коде. Чтобы закрепить полученные навыки, напишете небольшое приложение.
  • Лямбда-функции
  • Инкапсуляция
  • Модификаторы доступа
Лямбда-функции
Что такое лямбда-функции. Выражение и аргументы лямбда-функций. Функция filter(). Функция map().
Инкапсуляция
Модификаторы доступа. Модификатор private. Что такое инкапсуляция. Геттеры и сеттеры. Свойства. Инкапсуляция: практика
Обработка исключений
Что такое исключения. Как обрабатывать исключения. Разные типы исключений и их обработка. Как определить тип исключения. Продвинутая обработка исключений. Вызов исключений. Как создать исключение. Обработка исключений: практика.
Напишете консольное приложение с помощью принципов ООП и PyCharm
5
2 недели
Юнит-тестирование
Освоите важную часть автоматического тестирования — фреймворк pytest. Его используют, чтобы не писать каждый раз код с нуля. Начнёте работать в pytest сначала с самыми простыми тестами — юнит-тестами. Потом узнаете, как в pytest тестировать веб.
  • Git
  • Консоль
  • Pytest
  • Юнит-тесты
Консоль
Командная строка: начало работы. Подключение к удалённому серверу. Как переходить по каталогам. Как управлять файлами и папками. Как создавать и удалять файлы. Как копировать и перемещать файлы. Сокращённые команды. Работа с текстовыми файлами. История и полезные команды. Фильтрация содержимого файлов. Как быстро работать в командной строке.
Git
Что такое Git. Как его установить. Настройка. Создание, отображение, добавление. Игнорирование. Коммит. Хеш в Git. История коммитов. Переименование и удаление. Ветвление. Конфликты. GitHub. Персональный токен. Репозиторий в GitHub. Клонировать репозиторий: https-ссылка и ssh-ключ. Запушить изменения. Pull Request. Правки и Pull Request.
Основы юнит-тестов и pytest
Фреймворк pytest. Что такое юнит-тесты. Пирамида тестирования. Базовые правила тестов. Как называть юнит-тесты. Как установить pytest. Структура теста в pytest.
Ассерты
Что такое assert. Базовые assert. Как покрыть тестами метод. Как покрыть тестами класс. Как называть файлы для тестов. Как называть тесты. Как называть все элементы в тестах.
Параметризация
Что такое параметризация. Как написать параметризованный тест. Параметризация: практика.
Фикстуры
Фикстуры. Особенности фикстур. Параметры scope и autouse.
Оценка покрытия
Оценка покрытия. Как посчитать покрытие.
Покроете юнит-тестами небольшое консольное приложение и выложите работу в Git
6
2 недели
UI-тестирование
Научитесь автоматизировать проверки, которые обычно проводятся вручную через браузер. Для этого изучите Selenium — с его помощью программы с автотестами «нажимают» на кнопки и «заполняют» поля ввода. Примените всё, что узнали о Python, для тестирования веб-приложений.
  • Selenium WebDriver
  • Devtools
  • UI-тестирование
  • XPath
Архитектура веб-приложений
Клиент-серверная архитектура. Веб-приложение. URL. Протоколы HTTP и HTTPS. Структура HTTP-запроса. Структура HTTP-ответа. Веб-страница: HTML. HTML: теги и атрибуты. Веб-страница: CSS. Веб-страница: JavaScript. DOM.
Devtools
Поиск элементов в Devtools. Работа с разрешениями. Просмотр запросов. Куки.
Введение в UI-тестирование
Что такое UI-тесты. Пирамида тестирования. UI-тесты: преимущества и недостатки.
Selenium: поиск элементов
Что такое Selenium WebDriver. Что такое локатор. Основные теги. Что такое XPath. Поиск по элементу и атрибуту. Узлы. Значение элемента. Список элементов. Усечённый список. Видимые и невидимые элементы. Относительный и абсолютный путь. Вложенные элементы по относительному пути. Сложный поиск. Составные локаторы. Поиск по CSS.
Selenium: базовые методы
Подключение Selenium в PyCharm. Открыть и закрыть страницу. Найти элемент. Кликнуть по элементу. Задать ожидания. Заполнить поле ввода. Получить текст элемента. Перейти к элементу. Работа с куками из тестов. Selenium: практика. Структура проекта.
Протестируете UI-интерфейс сервиса заказа еды Stellar Burgers с помощью Selenium и Devtools, покроете тестами несколько веб-страниц
7
2 недели
Page Object Model
Узнаете, как улучшать автотесты с помощью паттерна проектирования Page Object Model. Он помогает выстраивать правильную структуру тестов, чтобы их было легче читать и поддерживать. Построите отчёты о тестировании с помощью инструмента Allure, который предоставляет наглядную статистику о проверках.
  • Page Object Model
  • Allure
Page Object
Что такое Page Object Model. Как задать класс page object. Работа с локаторами. Работа с методами. Как объединять методы в шаг. Методы setup_class() и teardown_class(). POM: практика.
Allure
Отчёты о тестировании. Установка Allure. Allure: декораторы.
Структура проекта
Файл с внешними зависимостями. Структура проекта с POM. Как улучшить организацию проекта.
Напишете тесты для веб-приложения с помощью Page Object Model, построите информативный отчёт о тестировании в Allure
8
2 недели
Тестирование API
Узнаете, как автоматизировать тестирование API. Научитесь применять Postman и Swagger для автоматизации, писать несколько видов запросов. Потренируетесь работать с моками и стабами — заглушками, которые имитируют поведение реальных сервисов.
  • API
  • HTTP
  • REST API
  • JSON
  • Postman
  • Swagger
Введение в API
Архитектура приложений. Что такое API. Архитектурные решения — REST. HTTP: структура запросов и ответов. JSON. Тестирование API. Тестирование сервера: Postman. Документация API. Swagger. Авторизация.
Как тестировать API с помощью Python
Зачем автоматизировать тестирование API. Флоу автоматизированного тестирования API. Библиотека Requests. Метод GET. Десериализация. Метод POST. Сериализация. Метод DELETE. Метод PATCH.
Подготовка к автоматизации
Как подготовить тестовый стенд. Как написать тест-кейс. Как подготовить данные. Как хранить данные.
Моки
Изоляция в тестах. Что такое мок. Как создать мок. Как замокировать вызов. Как проверить вызовы мока. Как замокировать внешний сервис. Моки в UI-тестах. Моки в API-тестах.
Протестируете API учебного веб-приложения
9
2 недели
Архитектура
Мало покрыть приложение тестами — нужно позаботиться о том, чтобы процесс тестирования был исправен. Поэтому в этом модуле вы научитесь оценивать, насколько полно функциональность покрыта тестами. Это нужно, чтобы не было проблем при автоматизации.
  • Архитектура приложений
  • Флоу работы автоматизатора
Архитектура
Монолитная архитектура. Микросервисная архитектура. Виды межсервисного взаимодействия. Архитектурные паттерны.
Как покрывать тестами разные уровни программы
Сколько тестов нужно на каждый уровень пирамиды. Когда запускают тесты разных уровней. Оценка покрытия по каждому уровню.
Рабочие задачи автоматизатора
Какие задачи решает автоматизатор. Автоматизация новой фичи. Обновление устаревших тестов. Автотесты для новой системы. Практика.
Подготовка к итоговому проекту
Юнит-тесты: повторение. Тестирование API: повторение. Тестирование веб-приложения: повторение. Поделись впечатлениями о проекте.
Подытожите знания и выполните задания на повторение юнит-тестов, тестирования API и веб-приложений
10
3 недели
Итоговый проект
Это проект, который объединит весь изученный материал. Вам предстоит покрыть тестами веб-приложение, API и написать юнит-тесты на отдельную функциональность.
Дополнительный модуль・5 часов
Основы работы с базами данных — дополнительный модуль
Это дополнительный модуль, в котором вы узнаете, как устроены базы данных, напишете SQL-запросы, научитесь агрегировать данные и связывать несколько таблиц. Также узнаете, как группировать и сортировать данные в таблицах.
  • SQL-запросы
  • Тестирование баз данных
Базы данных
Тестирование БД. Реляционные БД. SQL-запросы. Срезы данных в SQL. Агрегирующие функции. Изменение типов. Группировка данных. Сортировка данных. БД и консоль. Изменение данных: INSERT, UPDATE, DELETE. Снятие дампов. Тест: основы баз данных.
Карьерный центр・4 недели
Трудоустройство
Эта часть курса для тех, кто решил найти работу в сфере разработки. Вы изучите стратегии поиска работы и узнаете о тонкостях выбора компании-работодателя, подготовите портфолио, напишете резюме и сопроводительное письмо.
С наставником・каждый спринт
Вебинары для разбора сложных тем, сессии Q&A

Выдадим диплом о профессиональной переподготовке

Если у вас есть среднее профессиональное или высшее образование. Если нет, дадим сертификат и справку об обучении.

Вернём деньги за курс, если устроитесь автоматизатором тестирования в Яндекс в течение 6 месяцев после выпуска

Мы не можем гарантировать трудоустройство, но подготовим к нему так, чтобы у вас были все шансы

Как и другие кандидаты, вы пройдёте несколько этапов собеседований в Яндекс — и в случае успеха получите полную компенсацию за обучение

Подробнее об акции

Отвечаем на вопросы

За 5 месяцев правда можно освоить автоматизацию?
Да, если уделять занятиям не меньше 15 часов в неделю, выполнять практические задания и общаться с наставниками.
Какая будет нагрузка?
От 15 до 20 часов в неделю — зависит от вашего опыта в ручном тестировании.

Учебник с теорией и тренажёр для практики доступны 24/7 — сможете заниматься в любое время.

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

Если нет, выдадим сертификат о прохождении курса и справку об обучении в электронном виде.
Как можно оплатить?
Банковской картой: внести всю сумму сразу или платить ежемесячно.

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

Через компанию: юридические лица — резиденты РФ также могут оплатить обучение в Практикуме. Оставить заявку на оплату от юрлица можно на странице для корпоративных клиентов.
Можно ли оплатить курс за счёт работодателя?
Да, работодатель может оплатить учёбу полностью или разделить оплату с вами: например, поделить сумму 50/50 или 75/25.

Такая оплата пройдёт по счёту или двустороннему договору, а ИП могут оплатить с бизнес-счёта. Если работодатель купит обучение сразу 10 и больше сотрудникам, сделаем скидку 10%.

Чтобы получить счёт на оплату через компанию, оставьте заявку или напишите нам в чат поддержки.
Что такое налоговый вычет на обучение и как его получить?
Налоговый вычет может оформить тот, кто работает по трудовому договору и является налоговым резидентом Российской Федерации, то есть 183 дня в году находится на территории страны.

Для этого нужно подать заявление на налоговый вычет через личный кабинет на сайте nalog.ru (в него можно войти через аккаунт на Госуслугах).

К заявлению нужно приложить:
•‎ Справку 2-НДФЛ от работодателя.
•‎ Договор на обучение, в вашем случае это оферта Практикума.
•‎ Лицензию на образовательную деятельность. Вот наша.
•‎ Чек об оплате обучения. Мы отправляем его на электронную почту. Если не найдёте чек у себя в почте, напишите в чат службы поддержки — вышлем копию.
•‎ Справку о получении образовательных услуг — её тоже нужно запросить в чате поддержки.

Подробнее о налоговом вычете — на сайте Федеральной налоговой службы.

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

Мы перезваниваем в течение 30 минут каждый день с 10:00 до 19:00. Если оставите заявку сейчас, то перезвоним уже в рабочее время.