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

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

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

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

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

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

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

Как проходит курс

YandexGPT помогает проходить курс

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

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

Базовый курс длится 5, а расширенный — 6 месяцев, потому что там больше тем и проектов. Занятиям нужно уделять ~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
+2 темы・+3 проекта・+1 месяц
Расширенный курс «Автоматизатор тестирования на Python»
У этого курса есть расширенный формат: стоит дороже, но включает в себя больше тем и проектов.
  • Дополнительные темы
  • Дополнительные проекты
  • Индивидуальные консультации
Ещё 2 темы
CI/CD: развёртывание, настройка сценариев тестов и их запуск. Docker: как создавать образы и работать с ними.
Ещё 3 проекта
По всем дополнительным темам, чтобы усилить портфолио.
8 индивидуальных консультаций
По темам курса или техническому собеседованию.
Больше навыков, которые помогут профессионально расти
Этот курс может оплатить
ваш работодатель
Полностью или разделив оплату с вами,
например 50/50 или 75/25
  • Расскажем всё про курс
  • Поделимся презентацией
  • Ответим на ваши вопросы
  • Подготовим договор и счёт

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

  •                                        

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

  • Ещё можно платить частями Практикуму столько месяцев, сколько идёт курс. Общая стоимость будет меньше, чем в рассрочку от банка
  • Вернём деньги в любой момент за остаток курса,
    если что-то не понравится. Подробности — в 7 пункте оферты

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

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

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

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

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

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

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

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

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

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