Архитектура среды тестирования на основе моделей


Виды компонентов и их интеграция - часть 3


  • Для решения первой задачи можно использовать два подхода.

    • На практике более часто применяется связка из автоматной модели теста и генератора путей по графу переходов автомата. Эта техника положена в основу ModelJUnit и NModel.

      В этом случае автоматная модель теста должна определять методы, играющие роль действий, охранных условий, а также возвращающие текущее состояние автомата. Модель теста может зависеть от проверяемого компонента или от его модели поведения.

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

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

    • Первичные генераторы, которые строят объекты некоторого типа. Такой генератор может быть устроен как итератор по некоторой коллекции.
    • Фильтры, выполняющие отсев данных, не удовлетворяющих определенным ограничениям.
    • Решатели ограничений, прямым образом строящие данные, удовлетворяющие некоторым ограничениям.
    • Комбинаторы, строящие данные сложного типа из простых объектов.
    • Преобразователи, генерирующие данные некоторого типа по более простому кодированному их представлению.

  • Адаптеры.

    Адаптеры устраняют возможные расхождения между интерфейсами моделей и моделируемых ими компонентов.

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

    Можно отметить, что во многих случаях небольшие расхождения между модельным и проверяемым интерфейсами не требует написания адаптера, поскольку могут быть устранены указанием библиотечной процедуры преобразования. Это относится к случаям, в которых различия сводятся к отсутствию ряда параметров, перестановке параметров местами или простым преобразованиям типов, например, чисел в строки и обратно. Во всех этих случаях адаптер строится не вручную, а автоматически, лишь по указанию соответствующего преобразования в конфигурационном файле тестовой системы.

  • Заглушки (stubs, test doubles).




    Начало  Назад  Вперед