Шаги технологии
 
Технология разработки тестов и тестирования UniTESK предполагает выполнение следующих шагов.

Определение тестируемой части системы

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

    Основные техники: анализ и составление контракта, анализ входных данных проекта, коммуникации с заказчиком и экспертами. Включает следующие действия.

Определение и анализ требований к тестируемой системе

      • Выделение и систематизация требований к тестируемой системе, обеспечение их адекватности, полноты и непротиворечивости.
        Основные техники: анализ всех входных данных, построение концептуальных моделей, построение сценарных моделей, коммуникации с заказчиком, экспертами и пользователями.
  • Представление требований в виде формальной модели.
    Основные техники: контрактные спецификации, расширенные конечные автоматы и системы переходов, событийные контракты, грамматики с ограничениями, ограничения общего характера (эквивалентность исходной и преобразованной программ).

Определение и анализ требований к полноте тестирования

  • Выделение критериев полноты тестирования.
    Основные техники: анализ всех входных данных, ситуационный анализ концептуальных моделей, коммуникации с заказчиком, экспертами и пользователями.
  • Представление критериев полноты тестирования в виде формальной модели.
    Основные техники: ветвления и пути в спецификациях, пути в дереве разбора, ситуационные предикаты, ограниченные комбинации элементов.

Разработка тестов

  • Разработка источников тестовых данных
    Основные техники: перебор конечных множеств, перебор комбинаций, перебор граничных значений и близких к ним, перебор узловых и близких значений, перебор грамматических конструкций с помощью модульных генераторов, перебор с фильтрацией, перебор атрибутированных графов и последовательностей.
  • Разработка модели тестирования в целом
    Основные техники: конечные автоматы, системы помеченных переходов, неявное представление автоматных моделей, послойное тестирование сложных моделей.

Разработка адаптеров, привязывающих тесты к тестируемой реализации

Основные техники: преобразование интерфейсов, тестирование с открытым состоянием, тестирование со скрытым состоянием, перехват событий в системе, привязка к обратным интерфейсам.

Отладка и выполнение тестов

Основные техники: отладка, трассировка, анализ трассы.
 
Анализ результатов тестирования

Основные техники: анализ трассы, анализ отчетов о покрытии модельных ситуаций, анализ отчетов о покрытии структуры моделей, анализ отчетов о покрытии структуры реализации, анализ отчетов об ошибках.

Copyright © 2014 Институт системного программирования Российской академии наук