Обзор автоматического тестирования

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

Mark Pedigo

Principal Data Scientist

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

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

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

Автоматическое тестирование и процесс разработки

  • Корректные, предсказуемые результаты
  • Заранее определённые тест-кейсы
  • Автоматическое выполнение

Компьютер с надписью «automated testing» на экране, окружённый жуками и шестерёнками — символ автоматического тестирования.

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

Библиотека doctest

  • Автоматическое тестирование: doctest, pytest
  • Документирование кода с помощью строк документации
  • doctest: проверка примеров в строках документации
Практический проект: разработка программного обеспечения на Python

Возможности библиотеки doctest

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

Пример использования

def area(l, w):
    """
    Finds the area given length and width and returns the result
    >>> area(1, 1)
    1
    """
    return l + w

import doctest
doctest.testmod()
Практический проект: разработка программного обеспечения на Python

Пример использования

Failed example:
    area(1,1)
Expected:
    1
Got:
    2
Практический проект: разработка программного обеспечения на Python

Пример использования

def area(l, w):
    """
    Finds the area given length and width and returns the result
    >>> area(1, 1)
    1
    """
    return l * w

import doctest
doctest.testmod()

Everything OK = no error messages, no output

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

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

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

Preparing Video For Download...