Jump to content

Платформа тестовых шаблонов

Test Template Framework ( TTF ) — это платформа тестирования на основе моделей (MBT), предложенная Филом Стоксом и Дэвидом Кэррингтоном в ( Stocks & Carrington 1996 ) для целей тестирования программного обеспечения . Хотя TTF должен был быть независимым от нотации, исходное представление было сделано с использованием формальной нотации Z. Это одна из немногих платформ MBT, приближающихся к модульному тестированию .

Введение

[ редактировать ]

TTF — это конкретное предложение тестирования на основе моделей (MBT). Он считает модели Z-спецификациями . Каждая операция в спецификации анализируется для получения или создания абстрактных тестовых примеров . Этот анализ состоит из следующих этапов:

  1. Определите пространство ввода (IS) каждой операции.
  2. Получите допустимое пространство ввода (VIS) из IS каждой операции.
  3. Примените одну или несколько тактик тестирования . [1] начиная с каждой ВИС , строить дерево тестирования для каждой операции. Деревья тестирования заполняются узлами, называемыми тестовыми классами .
  4. Обрежьте каждое из полученных деревьев тестирования .
  5. Найдите один или несколько абстрактных тестовых случаев на каждом листе каждого дерева тестирования .

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

Важные понятия

[ редактировать ]

В этом разделе описаны основные концепции, определенные TTF.

Входное пространство

[ редактировать ]

Позволять быть Z-операцией. Позволять быть всеми входными переменными и (нештрихованными) переменными состояния, на которые ссылаются в , и соответствующие им типы. Входное пространство (IS) , написано , представляет собой блок схемы Z, определенный .

Допустимое пространство для ввода

[ редактировать ]

Позволять быть Z-операцией. Позволять быть предварительным условием . Допустимое пространство ввода (VIS) , написано , представляет собой блок схемы Z, определенный .

Тестовый класс

[ редактировать ]

Позволять будет Z-операцией и пусть быть любым предикатом, зависящим от одной или нескольких переменных, определенных в . Затем поле Z-схемы это тестовый класс . Обратите внимание, что эта схема эквивалентна . Это наблюдение можно обобщить, сказав, что если это тестовый класс , то блок схемы Z, определенный также является тестовым классом . Согласно этому определению, ВИС также является тестовым классом.

Если это тестовый класс , то предикат в называется характеристическим предикатом или характеризуется .

Классы тестирования также называются целями тестирования ( Utting & Legeard 2007 ), шаблонами тестов ( Stocks & Carrington 1996 ) и спецификациями тестов.

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

[ редактировать ]

В контексте TTF тактика тестирования [1] это средство разделения любого тестового класса любой операции. Однако некоторые тактики тестирования, используемые на практике, на самом деле не всегда генерируют разделение некоторых тестовых классов.

Некоторые тактики тестирования, первоначально предложенные для TTF, следующие:

  • Дизъюнктивная нормальная форма (ДНФ). При применении этой тактики операция записывается в дизъюнктивной нормальной форме , а тестовый класс делится на столько тестовых классов, сколько термов содержится в предикате результирующей операции. Предикат, добавляемый к каждому новому тестовому классу, является предварительным условием одного из терминов предиката операции.
  • Стандартные разделы (SP). Эта тактика использует заранее определенное разделение некоторого математического оператора ( Stocks 1993 ). Например, следующий раздел представляет собой хороший раздел для выражений вида где является одним из , и (см. Теорию множеств ).
    Как можно заметить, стандартные разделы могут меняться в зависимости от объема тестирования, который хочет выполнить инженер.
  • Распространение поддоменов (SDP). Эта тактика применяется к выражениям, содержащим:
    1. Два или более математических оператора, для которых уже определены стандартные разделы, или
    2. Математические операторы, которые определяются через другие математические операторы.
    В любом из этих случаев стандартные разделы операторов, встречающиеся в выражении или в определении сложного оператора, объединяются для создания раздела для выражения. Если применить эту тактику ко второму случаю, то полученный раздел можно рассматривать как стандартный раздел для этого оператора. Стокс и Кэррингтон в ( Stocks & Carrington 1996 ) иллюстрируют эту ситуацию на примере , где означает антиограничение домена , предоставляя стандартные разделы для и и распространяя их для вычисления раздела для .
  • Спецификационная мутация (SM). Первый шаг этой тактики состоит в создании мутанта операции Z. Мутант операции Z по своей сути аналогичен мутанту программы , т. е. представляет собой модифицированную версию операции. Модификация внесена инженером с целью выявить ошибку в реализации. Мутантом должна быть спецификация, которую, по мнению инженера, реализовал программист. Затем инженер должен рассчитать подмножество VIS, которое дает разные результаты в обеих спецификациях. Предикат этого набора используется для создания нового тестового класса.

Некоторые другие тактики тестирования, которые также могут быть использованы, следующие:

  • В расширении набора (ISE). Это относится к предикатам формы . В этом случае он генерирует n тестовых классов таких, что предикат вида добавляется к каждому из них.
  • Обязательный тестовый набор (MTS). Эта тактика связывает набор постоянных значений с переменной VIS и генерирует столько тестовых классов, сколько элементов находится в наборе. Каждый тестовый класс характеризуется предикатом вида где var — имя переменной, а val — одно из значений набора.
  • Числовые диапазоны (NR). Эта тактика применима только к переменным VIS типа (или его «подтип» ). Он заключается в связывании диапазона с переменной и получении тестовых классов путем сравнения переменной с пределами диапазона определенными способами. Более формально, пусть n — переменная типа и пусть быть связанным диапазоном. Затем тактика генерирует тестовые классы, характеризующиеся следующими предикатами: , , , , .
  • Свободный тип (FT). Эта тактика генерирует столько тестовых классов, сколько элементов имеет свободный (перечисляемый) тип. Другими словами, если модель определяет тип COLOR ::= red | синий | зеленый и некоторая операция использует c типа COLOR , тогда, применяя эту тактику, каждый тестовый класс будет разделен на три новых тестовых класса: один, в котором c равен красному , другой, в котором c равен синему , и третий, где c равен зеленому .
  • Правильное подмножество расширения множества (PSSE). Эта тактика использует ту же концепцию ISE, но применяется для включения включений. PSSE помогает тестировать операции, включая такие предикаты, как . Когда применяется PSSE, он генерирует тестовые классы, где предикат формы с и , добавляется к каждому классу. исключен из потому что expr является правильным подмножеством .
  • Подмножество расширения набора (SSE). Он идентичен PSSE, но применяется к предикатам формы в этом случае он генерирует рассматривая также .

Дерево тестирования&

[ редактировать ]

Применение тактики тестирования к VIS создает несколько классов тестирования. Если некоторые из этих тестовых классов дополнительно разделить путем применения одной или нескольких тактик тестирования, получится новый набор тестовых классов. Этот процесс можно продолжить, применив тактику тестирования к уже созданным тестовым классам. Очевидно, что результат этого процесса можно изобразить в виде дерева, в котором VIS является корневым узлом, тестовые классы, созданные первой тактикой тестирования, — его дочерними элементами и так далее. Кроме того, Стокс и Кэррингтон в ( Stocks & Carrington 1996 ) предлагают использовать обозначение Z для построения дерева следующим образом.

Обрезка тестовых деревьев

[ редактировать ]

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

Абстрактный тестовый пример

[ редактировать ]

Абстрактный тестовый пример — это элемент, принадлежащий тестовому классу . TTF предписывает, что абстрактные тестовые примеры должны быть получены только из листьев дерева тестирования . Абстрактные тестовые примеры также можно записать в виде блоков Z-схемы. Позволять будет какая-то операция, пусть быть ВИС , позволять быть всеми переменными, объявленными в , позволять быть (листовым) тестовым классом дерева тестирования, связанного с , позволять характеристические предикаты каждого тестового класса из до (следуя краям от дочернего элемента к родительскому ), и пусть быть постоянные значения, удовлетворяющие . Затем абстрактный тестовый пример это блок схемы Z, определенный .

См. также

[ редактировать ]
  • Стокс, Фил; Кэррингтон, Дэвид (1996), «Среда тестирования на основе спецификаций», IEEE Transactions on Software Engineering , 22 (11): 777–793, doi : 10.1109/32.553698 .
  • Уттинг, Марк; Легард, Бруно (2007), Практическое тестирование на основе моделей: инструментальный подход (1-е изд.), Морган Кауфманн , ISBN  0-12-372501-1 .
  • Стокс, Фил (1993), «Применение формальных методов к тестированию программного обеспечения» , факультет компьютерных наук, Университет Квинсленда, докторская диссертация .

Примечания

[ редактировать ]
  1. ^ Jump up to: а б Стокс и Кэррингтон используют термин «стратегии тестирования» в ( Stocks & Carrington 1996 ).
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 3640a405bded3fe3aec1c547b98382c1__1649570940
URL1:https://arc.ask3.ru/arc/aa/36/c1/3640a405bded3fe3aec1c547b98382c1.html
Заголовок, (Title) документа по адресу, URL1:
Test Template Framework - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)