Intro

Какой бы вы большой код не писали, обязательно надо уделять внимание тестам. Без тестов любой последующий рефакторинг будет растягиваться на часы исправления багов (особенно на стыке технологий, особенно, если рефакторите года через пол как писали предыдущую версию)

Основная библиотека для написания тестов сейчас — pytest.

Какие тесты есть (далеко не полный список):

  • Модульный тест (Unit test) — проверка отдельного компонента (функция, класс) в отрыве от всего кода

  • Smoke tests — минимальный набор тестов, способный показать, что вероятно критических ошибок нет

  • Интеграционный тест (Integration testing) — проверяет несколько классов (что-то между модульным и системным)

  • Системный тест (end-to-end) — проверяем всю программу в среде, приближенной к пользовательской

  • Функциональный тест (Functional testing) — проверка бизнес-задач (добавление элемента в корзину в магазине, например)

  • Subcutaneous test — функциональный тест не уровня пользовательского, а например, уровня API (пользователь не взаимодействует с API напрямую, но здесь так же бизнес-флоу проходят, если мы пишем API для магазина, например)

Last updated