Урок 01. Введение в автоматизированное тестирование. Unit-тестирование

📁 Блок: Основы и Unit ⏱️ Время изучения: ~60 мин 🎯 Сложность: Начальная
#unit-testing #pytest #unittest #fixtures #assert

⚡ Кратко: зачем тесты, пирамида, pytest

Автотестирование — запуск проверок кода скриптами вместо ручной проверки. Unit-тесты проверяют одну функцию/метод в изоляции, выполняются быстро и составляют основание пирамиды тестирования.

  • Пирамида: Unit (много) → Integration (меньше) → E2E (единицы)
  • pytest — современный фреймворк: просто assert, фикстуры, маркировки
  • Фикстура: @pytest.fixture def calculator(): return Calculator()
  • Маркировки: @pytest.mark.skip, @pytest.mark.xfail, -k "sum"
  • Запуск: pytest или pytest -v

Установка: pip install pytest

Топ-3 ошибки: 1) Забыть префикс test_. 2) Изменять состояние в тесте без фикстуры. 3) Проверять == для float без round() или pytest.approx.

📖 О чём этот урок

Этот урок открывает курс Auto QA. Вы узнаете, что такое тестирование программного обеспечения и почему автоматизация тестирования экономит время и деньги. Изучите концепцию пирамиды тестирования и освоите написание unit-тестов на Python — с нуля до маркировок pytest.

Что изучим

  • Что такое тестирование ПО и его ключевые аспекты
  • Выгода от автоматизации тестирования
  • Пирамида тестирования: Unit, Integration, E2E
  • Разработка класса Calculator как объекта тестирования
  • Ручное тестирование через assert — ограничения
  • pytest: установка, соглашения об именовании, фикстуры
  • Запуск тестов: pytest, pytest -v, pytest -k
  • Маркировки: skip, skipif, xfail, пользовательские маркеры

📚 Что повторить перед изучением

  • Базовый Python: функции, классы, исключения (raise, try/except)
  • Работа с виртуальным окружением: venv, pip install
  • Командная строка (PowerShell / терминал VS Code)
Первый урок курса — предварительные уроки Auto QA не требуются.

🎯 Что изучать дальше