Тестирование софта - статьи

       

Сфера применения тестирования на основе спецификаций


Тестирование на основе спецификаций максимально эффективно при тестировании групп функций с объемным, логически связным текстуальным описанием, а также функций с закрытым кодом.

Рассмотрим преимущества подхода тестирования на основе спецификаций, на примере технологии UniTESK.

  • Абстрагирование от архитектуры.
    Независимость тестов от внутренней архитектуры реализации становится возможной, благодаря отделению кода спецификации от медиаторов.
    В результате спецификации обладают самостоятельной ценностью. При переходе от одной архитектуры реализации к другой может потребоваться изменение медиаторов, логика же тестирования остается неизменной. Разработчику тестов для системы, работающей на специфической платформе достаточно иметь спецификации и интерфейс реализации: они однозначно определяют построение медиаторной части.
  • Конфигурационная система.
    Благодаря разделению спецификаций и реализационно-зависимых компонентов теста, возникает возможность создания гибкой конфигурационной системы, способной адекватно отражать в спецификациях неописанные варианты поведения функций. В частности, это относится к тем случаям, когда поведение тестируемой функции сильно зависит от специфики конкретной реализации (implementation-defined).
  • Генерация отчета по покрытию проверенных требований работы функции.
    Такие отчеты, помимо оценки качества тестирования, дают возможность выделить часто используемые части программы, для их возможной дальнейшей оптимизации.
  • Разделение сценариев и спецификаций.
    Такое разделение позволяет использовать одно описание функциональности тестируемой системы при ее тестировании в различных условиях.
    Например, сценарии легко дорабатываются в следующих направлениях.
    • Увеличение множества тестовых значений параметров функции.
      Это приводит к более полному тестированию функции. Обычно для минимальной полноты тестов требуется по одному набору значений параметров на каждую ветвь функциональности, определенную в спецификации данной функции.
    • Вовлечение в тестирование функции связанных с ней функций.
      Этот метод также приводит к более полному тестированию реализации функции.
      Особенно он важен при тестировании функций со скрытым состоянием, на которое можно влиять исключительно опосредованно, путем вызова других функций.


Содержание раздела