QA: автоматизация тестирования

Автотесты своего проекта, которые запускаются одной командой и в CI

О курсе

Курс превращает ручные проверки в автотесты: модульные тесты функций, автотесты API и веб-интерфейса на pytest, отчёт о прогоне и запуск в конвейере. Отдельно — как встроить качество в работу команды: что автоматизировать первым, как мерить покрытие и когда тесты мешают, а не помогают. Практика — на учебном приложении «Задачник» из курса ручного тестирования, итог — набор автотестов собственного проекта.

Для кого Выпускники курса ручного тестирования, начинающие разработчики, студенты IT-специальностей
Формат 12 разделов, 72 академических часа: 20 теории, 52 практики
Инструменты Python 3.10+, VS Code, pytest, requests, Playwright, coverage, GitFlic CI
Итог Модульные, API- и UI-автотесты своего проекта с отчётом и запуском в CI

Курс в подготовке. На этой странице — программа. Начните с курса ручного тестирования: тест-дизайн и HTTP из него нужны здесь с первого раздела.

01

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

Автотест окупается, когда проверку повторяют часто, а результат однозначен. Раздел показывает, какие проверки стоит автоматизировать, а какие дешевле пройти руками, и как выглядит рабочий набор автотестов.

Ключевые темы

  • Зачем и когда автоматизировать; что не окупается
  • Пирамида тестов: модульные, API, UI
  • Виды инструментов автоматизации
  • Первый запуск готового набора автотестов «Задачника»
02

Python для автотестов

Ровно тот минимум Python, который нужен в тестах: без классов и сложных конструкций, с упором на чтение и отладку чужого кода.

Ключевые темы

  • venv и pip, запуск и отладка в VS Code
  • Строки, списки, словари, условия, циклы, функции
  • Импорт, исключения, JSON
03

pytest: первые тесты

Как pytest находит тесты, что он пишет при падении и как запускать только нужное.

Ключевые темы

  • Поиск тестов и структура папки tests
  • assert и чтение отчёта о падении
  • Выборочный запуск: по имени, -k, -x, -v
04

Фикстуры, параметризация, маркеры

Как убрать повторы из тестов: общая подготовка в фикстурах, один тест на много входных данных, группы тестов для быстрого прогона.

Ключевые темы

  • Фикстуры, conftest.py, очистка через yield
  • parametrize по классам эквивалентности и границам
  • Маркеры smoke и slow, pytest.ini
05

Модульные тесты и заглушки

Проверка одной функции в изоляции от базы, времени и файлов. Модульным тестом находится дефект в функции подсчёта «Задачника».

Ключевые темы

  • Тест функции в изоляции
  • monkeypatch, unittest.mock, tmp_path
  • Аналоги в других языках: JUnit, Jest, xUnit
06

Автотесты API: основы

Ручные проверки API из курса тестирования превращаются в код: тот же запрос, те же ожидания, но запуск за секунды.

Ключевые темы

  • requests в тестах; клиент и токен фикстурами
  • CRUD задач; проверка кода, заголовков и тела ответа
07

Автотесты API: данные и негативные случаи

Тесты, которые не зависят друг от друга и от порядка запуска, и проверки того, что сервер правильно отказывает.

Ключевые темы

  • Негативные проверки параметризацией
  • Проверка структуры ответа (jsonschema)
  • Подготовка и очистка данных; доступ к чужой задаче
08

Автотесты веб-интерфейса: Playwright

Браузер под управлением теста: найти элемент, нажать, ввести, дождаться и проверить результат.

Ключевые темы

  • Установка Playwright и браузера
  • Локаторы по роли, тексту и тестовому атрибуту
  • Ожидания и проверки expect; запись сценария codegen
09

UI: страница-объект и стабильность

Как сделать UI-тесты короткими и устойчивыми и что делать, когда тест то проходит, то падает.

Ключевые темы

  • Страница-объект
  • Вход через API для скорости
  • Скриншот и трасса при падении; разбор нестабильных тестов
10

Отчёты, покрытие, CI

Набор тестов запускается одной командой и сам — на каждый коммит, а результат читается без консоли.

Ключевые темы

  • Отчёты JUnit XML и HTML
  • Покрытие кода coverage
  • Конвейер GitFlic CI: тесты на коммит, артефакты
11

Качество в команде

Автотесты — часть процесса, а не цель. Раздел о том, как договориться о качестве и не утонуть в метриках.

Ключевые темы

  • Стратегия тестирования; что автоматизировать первым
  • Регресс новой версии «Задачника» автотестами
  • Definition of Done, ревью тестов, метрики и их ловушки
  • Нагрузочное тестирование: понятия и пример Locust

Итоговый проект

Автотесты своего проекта: модульные, API с негативными проверками и UI через страницу-объект, запуск одной командой, отчёт о прогоне и конвейер CI с зелёным прогоном. Если своего проекта нет — «Задачник» версии 1.1.

Задания на портале Вернуться на главную