Способ тестирования потоков данных.
В методе базового пути тесты строятся на основе анализа управляющей структуры программы. В данном способе анализу подвергается информационная структура программы.
Работу любой программы можно рассматривать как обработку потока данных, передаваемых от входа в программу к её выходу, следовательно, задача состоит в определении потоков данных , создаваемых и используемых разными частями программы.
Рассмотрим пример.
Пусть потоковый граф программы имеет вид, представленный на рис. 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-тестирования: программы с вложенными условными операторами и операторами цикла.