Способ тестирования потоков данных
При тестировании потоков данных анализу подвергается информационная структура программы. Работу любой программы можно рассматривать как обработку потока данных, передаваемых от входа программы к ее выходу.
Пример.
Пусть потоковый граф программы имеет следующий вид:
Сплошные дуги – это связи по управлению между операторами в программе.
Пунктирные дуги обозначают информационные связи или связи по потокам данных.
Обозначенные информационные потоки соответствуют следующим допущениям:
1) в вершине 1 определяются значения переменных a и b;
2) значение переменной a используется в вершине 4;
3) значение переменной b используется в вершинах 3 и 6;
4) в вершине 4 определяется значение переменой c, которая используется в вершине 6.
В общем случае для каждой вершины графа можно записать:
1) множество определений данных
DEF = {x| i–я вершина содержит определение x};
2) множество использований данных
USE (i) = {x| i–я вершина использует x}.
Под определением данных понимают действие, изменяющее элемент данных. Признак определения состоит в том, что имя элемента находится в левой части оператора присваивания.
Использование данных – это применение элементов в выражении, где происходит обращение к элементу данных, но не изменение элемента. Признак использованиясостоит в том, что имя элемента находится в правой части оператора присваивания.
Назовем DU-цепочкойили цепочкой определения использования конструкцию типа [x, i, j], где i,j – имена вершин, а переменная x определена в i–ой вершине и используется в j–ой вершине.
DU[x, i, j], DEF (i), USE (j).
В примере перечислим следующие цепочки: [a,1,4], [b,1,3], [b,1,6],[c,4,6].
Способ DU–тестирования требует охвата всех DU–цепочек в программе. Поэтому разработка тестов проводится на основе анализа определения и использования всех данных программы.
Для подготовки тестов требуется определение пути выполнения программы на управляющем графе. В качестве критерия выбора пути используется покрытие максимального количества DU–цепочек.
Шаги способа DU–тестирования:
1) построение потокового графа программы;
2) построение информационного графа;
3) формирование полного набора DU–цепочек;
4) формирование полного набора отрезков путей в потоковом графе путем отображения набора DU–цепочек информационного графа;
5) построение маршрутов или полных цепей на потоковом графе, покрывающих набор отрезков путей потокового графа.
6) подготовка тестовых вариантов.
Достоинства DU–тестирования:
1) простота необходимого анализа операционно управляющей структуры программы;
2) простота автоматизации.
Недостаток DU–тестирования заключается в трудности выбора минимального количества максимально эффективных тестов.
Областями использования DU–тестирования являются программы с вложенными условными операторами и операторами циклов.
Дата добавления: 2016-09-20; просмотров: 400;