72
3.3. Тестирование ПО
Тестирование созданного программного обеспечения проводилось с помощью
фреймворков Unittest [37] и Green на языке Python.
Unittest изначально был вдохновлен Junit фреймворк для юнит-тестов на языке
Java) и достаточно сильно похож на фреймворки для юнит-тестирования в других
языках, когда речь заходит об основных инструментах. Он поддерживает:
• автоматизацию тестов
• совместное использование кода методов для подготовки данных к
тестированию и последующего очищения тестовой среды
• агрегацию тестов в коллекции
• независимость тестов от других фреймворков.
Для этого в unittest существует ряд важных концепций в парадигме объектно-
ориентированного программирования, перечисленных ниже.
Испытательный стенд (test fixture) представляет собой различные
подготовительные действия, необходимые для выполнения тестов, а также очистку
среды выполнения после того, как тесты закончили свою работу. Эти действия могут
включать в себя такие операции, как создание временных или проксирующих баз
данных, директорий или запуск серверного процесса.
Тестовым случаем (test case) называется минимальный блок тестирования. Он
проверяет результаты работы исследуемого кода на разных наборах данных. Модуль
unittest предоставляет базовый класс TestCase, который можно использовать для
создания новых тестовых случаев. Эта стратегия является рекомендуемой при
написании тестов.
Набор тестов (test suite) – это несколько тестовых случаев, наборов тестов или и
того, и другого. Обычно используется для объединения тестов, которые должны быть