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

       

Описание метрик покрытия


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

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

Определим способ описания метрик формально. Предположим, что в целевой системе выделено k интерфейсных операций: I = { Ii | i = 1, … , k } и требования к ее поведению были описаны в спецификации Spec = { SpecIi | i = 1, …, k }.

Тогда сюрьективная функция μ : VI x XI x YI x VI

R называется метрикой покрытия интерфейсной операции I с сигнатурой ( In, Out, Var ) , если множество R является конечным. Каждой метрике покрытия интерфейсной операции μ соответствует метрика покрытия модели требований MR[Spec], которую мы будем обозначать M[μ].

M[μ] = { Cr

2E | r
R }, где Cr = { ( v, x, y, v' )
V x X x Y x V | μ( v, x, y, v' ) = r}.

Лемма.

Метрика покрытия M[μ] является управляемой тогда и только тогда, когда третий и четвертый аргументы функции μ являются несущественными.

Кроме того, в технологии UniTesK поддерживается другой вариант описания метрик покрытия. В этом варианте каждый элемент покрытия описывается предикатом, определяющим принадлежность взаимодействия через определенную интерфейсную операцию ( v, x, y, v' ) к данному элементу покрытия. Такой способ описания позволяет задавать метрики покрытия модели требований, элементы которых могут пересекаться между собой.
Но, как и в первом способе, существуют ограничения на описываемые метрики, связанные с привязкой каждой метрики только к одной интерфейсной операции.
Конечный набор предикатов μ' = { ci | i = 1, … , m; ci : VI x XI x YI x VI

Bool } называется расширенной метрикой покрытия интерфейсной операции I с сигнатурой ( In, Out, Var ). Каждой расширенной метрике покрытия интерфейсной операции μ' соответствует метрика покрытия модели требований MR[Spec], которую мы будем обозначать M[μ'].
M[μ'] = { Ci
2E | i = 1, … , m }, где Ci = { ( v, x, y, v' )
V x X x Y x V | ci( v, x, y, v' ) }.
Лемма.
Метрика покрытия M[μ'] является управляемой тогда и только тогда, когда третий и четвертый аргументы всех предикатов ci являются несущественными.

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