Урок 01. Введение в автоматизированное тестирование. Unit-тестирование
⚡ Кратко: зачем тесты, пирамида, 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 не требуются.
🎯 Что изучать дальше
- → Урок 02: Summary session 1 — повторение unit-тестирования
- Параметризация тестов:
@pytest.mark.parametrize - Моки и заглушки:
unittest.mock,pytest-mock