Тестирование

Практический проект: разработка программного обеспечения на Python

Mark Pedigo

Principal Data Scientist

Дорожная карта

Дорожная карта с пройденными и предстоящими этапами проекта.

Практический проект: разработка программного обеспечения на Python

Зачем нужно автоматическое тестирование?

  • Автоматическое тестирование с помощью программных средств
  • Не требует участия человека
  • От простых проверок до комплексных оценок

Робот тестирует код

Практический проект: разработка программного обеспечения на Python

Преимущества автоматического тестирования

  • Повышение качества кода
  • Снижение рисков
  • Улучшение пользовательского опыта
Практический проект: разработка программного обеспечения на Python

Что такое модульные тесты?

  • Отдельные компоненты или функции тестируются независимо
  • Фокус на минимальных частях приложения
  • Проверка ожидаемого результата на основе входных данных

Лупа, исследующая блоки

Практический проект: разработка программного обеспечения на Python

Что такое библиотека pytest?

  • Популярный фреймворк для тестирования на Python
  • Поддерживает модульное тестирование
  • Известен простотой, гибкостью и богатым функционалом
Практический проект: разработка программного обеспечения на Python

Преимущества pytest

  • Простота и читаемость
  • Мощные фикстуры
  • Интеграция с другими инструментами
Практический проект: разработка программного обеспечения на Python

Модульный тест — пример

# math.py
def add(a, b):
  return a + b
# test_math.py
import pytest
def test_add():
    assert add(2, 3) == 5
    assert add(-1, 1) == 0
    assert add(0, 0) == 0
    assert add(-5, -7) == -12

Выполните в консоли:

pytest test_math.py

===== test session starts ===== collected 1 item test_math_functions.py . [100%] ====== 1 passed in 0.03s ======
Практический проект: разработка программного обеспечения на Python

Давайте потренируемся!

Практический проект: разработка программного обеспечения на Python

Preparing Video For Download...