Способ тестирования потоков данных.

В методе базового пути тесты строятся на основе анализа управляющей структуры программы. В данном способе анализу подвергается информационная структура программы.

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

Рассмотрим пример.

Пусть потоковый граф программы имеет вид, представленный на рис. 2.16, причем в нём сплошные дуги — это связи по управлению между оператором в программе, а пунктирные дуги отмечают информационные связи (связи по потокам данных).

 

Рис. 2.16. Граф программы с управляющими и информационными связями

 

Обозначенные здесь информационные связи соответствуют следующим допущениям:

· переменные а и в определяются в узле 1;

· переменная а используется в узле 4, переменная в - в узлах 3 и 6;

· переменная с определяется в узле 4 и используется в узле 6.

В общем случае для каждой i- той вершины графа можно записать :

· Множество определений данных: DEF (i) = {x | i-я вершина содержит определение x};

· Множество использований данных: USE (i) = {x | i-я вершина использует х}.

Под определением данных понимают действия, изменяющие элемент данных. Технический признак определения элемента данных х — данное стоит в левой части оператора присваивания:

x:=f(…).

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

=: f(x).

Назовём DU-цепочкой (цепочкой определения-использования) конструкцию [x, i, j], где i, j — имена вершин; х определена в i-й вершине (x ÎDEF (i)) и используется в j-й вершине (хÎ USE(j)).

В нашем примере существуют следующие DU цепочки:

[a, 1, 4], [b,1, 3], [b, 1, 6], [c, 4, 6].

Способ DU-тестирования требует охвата всех DU-цепочек программы. Таким образом, разработка тестов здесь проводится на основе анализа жизни всех данных программы.

Очевидно, что для подготовки тестов требуется выделение маршрутов — путей выполнения программы на управляющем графе. Критерий для выбора пути - покрытие максимального количества DU-цепочек.

Шаги способа DU-тестирования:

1) Построение управляющего графа программы;

2) Построение информационного графа программы;

3) Формирование полного набора DU-цепочек;

4) Формирование полного набора отрезков путей в управляющем графе (отображением набора DU-цепочек информационного графа, рис.2.17);

Рис. 2.17. Отображение DU- цепочки на отрезок графа управления.

 

5) Построение маршрутов — полных путей на управляющем графе, покрывающих набор отрезков путей управляющего графа;

6) Подготовка тестовых вариантов.

Достоинства DU-тестирования:

простота необходимого анализа операционно-управляющей структуры программы;

простота автоматизации

Недостаток DU-тестирования: трудности в выборе минимального количества максимально эффективных тестов.

Область использования DU-тестирования: программы с вложенными условными операторами и операторами цикла.