Различия между версиями 1 и 2
Версия 1 от 2019-04-18 18:00:20
Размер: 2057
Редактор: FrBrGeorge
Комментарий:
Версия 2 от 2019-04-19 00:01:09
Размер: 2166
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 9: Строка 9:
 * Полезные термины: '''ошибка''' программиста при написании программы может привести к '''дефекту''' (багу) в программе, который в свою очередь может проявиться (или не проявиться) в виде программного '''сбоя'''  * Полезные ≠ друг другу термины: '''ошибка''' программиста при написании программы может привести к '''дефекту''' (багу) в программе, который в свою очередь может проявиться (или не проявиться) в виде программного '''сбоя'''
Строка 12: Строка 12:
== Модульное тестирование в Python ==
[[py3doc:doctest]]:
 * Идея: тест = диалог с python-интерпретатором

 * unittest
 * py.test
 * Показатель покрытия кода тестами (coverage)
Строка 19: Строка 27:
== Python ==
 * Модульное тестирование
   * doctest
   * unittest
   * py.test
 * Показатель покрытия кода тестами (coverage)

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

  • Место тестирования в жизненном цикле программного продукта
  • Виды тестирования

    • Уровни (unit / integration / system )
    • Тестирование только новых функций или старых тоже (регрессионное тестирование)
    • Ручное, автоматизированное, автоматическое
  • green test trap: Тестирование может доказать наличие дефектов, но не их отсутствие
  • red test trap: Не всякие проваленные тесты означают дефекты. Могут означать пробел в требованиях, в том числе нефункциональных
  • Полезные ≠ друг другу термины: ошибка программиста при написании программы может привести к дефекту (багу) в программе, который в свою очередь может проявиться (или не проявиться) в виде программного сбоя

  • Стоимость исправления дефекта возрастает пропорционально его «возрасту»
  • Непрерывная интеграция

Модульное тестирование в Python

doctest:

  • Идея: тест = диалог с python-интерпретатором
  • unittest
  • py.test
  • Показатель покрытия кода тестами (coverage)

TDD

  • Разработка_через_тестирование

    1. сначала пишется тест и заглушка
    2. код падает (иначе бесполезен)

    3. под тест пишется код
    4. код не падает
    5. код подчищается и не падает

Д/З

TODO

LecturesCMC/PythonDevelopment2019/09_Testing (последним исправлял пользователь FrBrGeorge 2019-04-29 12:46:49)