|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Способ тестирования потоков данных
В предыдущих способах тесты строились на основе анализа управляющей структуры программы. В данном способе анализу подвергается информационная структура программы. Работу любой программы можно рассматривать как обработку потока данных, передаваемых от входа в программу к ее выходу. Рассмотрим пример. Пусть потоковый граф программы имеет вид, представленный на рис. 6.8. В нем сплошные дуги — это связи по управлению между операторами в программе. Пунктирные дуги отмечают информационные связи (связи по потокам данных). Обозначенные здесь информационные связи соответствуют следующим допущениям: q в вершине 1 определяются значения переменных а, b; q значение переменной а используется в вершине 4; q значение переменной b используется в вершинах 3, 6; q в вершине 4 определяется значение переменной с, которая используется в вершине 6. Рис. 6.8. Граф программы с управляющими и информационными связями
В общем случае для каждой вершины графа можно записать: q множество определений данных DEF(i) = { х | i -я вершина содержит определение х}; q множество использований данных: USE (i) = { х | i -я вершина использует х}. Под определением данных понимают действия, изменяющие элемент данных. Признак определения — имя элемента стоит в левой части оператора присваивания: x:= f (…). Использование данных — это применение элемента в выражении, где происходит обращение к элементу данных, но не изменение элемента. Признак использования — имя элемента стоит в правой части оператора присваивания: #:= f (x). Здесь место подстановки другого имени отмечено прямоугольником (прямоугольник играет роль метки-заполнителя). Назовём DU-цепочкой (цепочкой определения-использования) конструкцию [х, i,j], где i,j — имена вершин; х определена в i -й вершине (х DЕF(i)) и используется в j -й вершине (х USE(j)). В нашем примере существуют следующие DU-цепочки: [а,1,4],[b, 1,3], [b, 1,6], [с, 4, 6]. Способ DU-тестирования требует охвата всех DU-цепочек программы. Таким образом, разработка тестов здесь проводится на основе анализа жизни всех данных программы. Очевидно, что для подготовки тестов требуется выделение маршрутов — путей выполнения программы на управляющем графе. Критерий для выбора пути — покрытие максимального количества DU-цепочек. Шаги способа DU-тестирования: 1) построение управляющего графа (УГ) программы; 2) построение информационного графа (ИГ); 3) формирование полного набора DU-цепочек; 4) формирование полного набора отрезков путей в управляющем графе (отображением набора DU-цепочек информационного графа, рис. 6.9); Рис. 6.9. Отображение DU-цепочки в отрезок пути
5) построение маршрутов — полных путей на управляющем графе, покрывающих набор отрезков путей управляющего графа; 6) подготовка тестовых вариантов. Достоинства DU-тестирования: q простота необходимого анализа операционно-управляющей структуры программы; q простота автоматизации. Недостаток DU-тестирования: трудности в выборе минимального количества максимально эффективных тестов. Область использования DU-тестирования: программы с вложенными условными операторами и операторами цикла. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |