Студопедия — Тема 4. ТЕСТУВАННЯ ПОТОКІВ ДАНИХ ПРОГРАМИ
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Тема 4. ТЕСТУВАННЯ ПОТОКІВ ДАНИХ ПРОГРАМИ






 

Група критеріїв для даного методу побудована на принципах досяжності й доступу до змінних.

Будемо вважати, що вираз y:=f(x1,..., xn) використовує змінні x1,...,xn для обчислювального процесу (Computational use), що позначається як c-use, при цьому даний вираз є визначення змінної у (def у).

Будемо вважати, що вираз p(x1,…,xn) використовує змінні x1,...,xn як предикати (Predicate-use), що позначається як p-use.

Шлях p=(nin,...,nm) вважається таким, що не містить визначень змінної x, якщо в ньому немає def x.

Для вершини ni та змінної x, такої що x def(ni) вираз dcu(x,ni) позначає набір всіх вершин nj таких, що x c-use(nj) і шлях від ni до nj не містить визначень х.

Для вершини ni та змінної x, такої що x def(ni) вираз dpu(x,ni) позначає набір всіх ребер (nj,nk), таких що x p-use(nj,nk) і шлях від nj до nk не містить визначень х.

Позначимо як du - шлях (шлях визначення-використання):

- шлях p = (ni+1,... nj, nk), що містить глобальне визначення змінної x у вершині ni, і такий, що p не містить визначень змінної х, але містить c - use (x), і всі вершини ni... nk (крім ni і nk) попарно відмінні

- або шлях p(nj, nk), що не містить визначень змінної х, але містить предикатне використання х (p- use (x)) і всі вершини ni... nk попарно відмінні.

 

Розглянемо критерії тестування потоків даних програми.

Критерій “ all-defs”

 

Даний критерій вимагає створення набору тестів, які б містили для кожної вершини ni і кожної змінної x def(ni) як мінімум один шлях, що не містить визначень х від ni до елемента з dcu(x, ni) або dpu(x, ni). Критерій забезпечує перевірку правильної ініціалізації змінних, але не дає гарантій їхнього правильного використання в обчислювальному процесі. Це завдання ставиться поетапно перед наступними критеріями.

Критерій “all p-uses“

За даним критерієм вимагається створення набору тестів, які б містили для кожної вершини ni і кожної змінної x def(ni) як мінімум один шлях, що не містить визначень х від ni до всіх елементів з dpu(x, ni).

Критерій “all c-uses“

 

Даний критерій вимагає створення набору тестів, які б містили для кожної вершини ni і кожної змінної x def(ni) як мінімум один шлях, що не містить визначень х від ni до елемента з dcu(x, ni)

Ці два критерії гарантують перевірку того факту, що використовувані змінні в предикатних виразах та в обчисленнях були проініціалізовані.

 

Критерій “all c-uses / some p-uses“

 

Наступне завдання полягає у відповіді на питання: чи використані всі ініціалізовані змінні в обчисленнях або хоча б у предикатних виразах. Критерій «all c-uses / some p-uses» вимагає створення набору тестів, які б містили для кожної вершини ni і кожної змінної x def(ni) як мінімум один шлях, що не містить визначень х від ni до всіх елементів з dcu(x, ni), або, якщо dcu(x, ni) - порожня множина, хоча б шлях, що не містить визначень х від ni до елемента з dpu(x, ni).

 

Критерій “all p-uses / some c-uses“

 

Даний критерій аналогічний попередньому, з тією різницею, що в ньому перевіряються входження шуканої змінної в предикатні вирази, а якщо таких не виявлено, то в обчислення.

Даний критерій вимагає створення набору тестів, які б містили для кожної вершини ni і кожної змінної x def(ni) як мінімум один шлях, що не містить визначень х від ni до всіх елементів з dpu(x, ni), або, якщо dpu(x, ni) - порожня множина, хоча б шлях, що не містить визначень х від ni до елемента з dcu(x, ni).

 

Критерій “all uses“ (всі використання)

 

Даний критерій є узагальнюючим для останніх двох критеріїв. Він вимагає створення набору тестів, які б містили для кожної вершини ni і кожної змінної x def(ni) як мінімум один шлях, що не містить визначень х від ni до всіх елементів з dpu(x, ni) і до всіх елементів з dсu(x, ni).

 

Критерій “all du-paths”

Найбільшу повноту покриття забезпечує критерій «all du-paths», він враховує всі можливі використання зазначеної змінної. Даний критерій вимагає створення набору тестів, які б містили для кожної вершини ni і кожний змінної x def(ni) всі du-шляхи даного визначення.

Всі критерії структурного тестування узагальнені й представлені у вигляді ієрархічної структури, зображеної на рис. 2. Дана структура дозволяє виявити існуючі взаємозв'язки між критеріями.

Рис. 2. Взаємозв'язок між критеріями структурного тестування.

 

Взаємозв'язки між критеріями, які ґрунтуються на потоці керування програми, були вже проаналізовані вище, а критерії потоків даних, як видно з рис. 2, позв'язані в такий спосіб: найширшим є критерій «all du-paths», його виконання забезпечує виконання критерію «all uses», який, в свою чергу, є об'єднанням критеріїв «all p-uses / some c-uses» і «all c-uses / some p-uses». Кожний з останніх двох забезпечує виконання критерію «all-defs». При цьому, виходячи з визначення, «all p-uses / some c-uses» гарантує «all p-uses», а «all c-uses / some p-uses» гарантує «all c-uses».

Вочевидь, що покриття всіх шляхів, забезпечить виконання критерію «all du-paths», а критерій «all p-uses» перевірить проходження всіх переходів (всіх рішень). Таким чином, схема буде мати вигляд, представлений на Рис 2.







Дата добавления: 2015-10-15; просмотров: 740. Нарушение авторских прав; Мы поможем в написании вашей работы!



Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

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

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

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

Правила наложения мягкой бинтовой повязки 1. Во время наложения повязки больному (раненому) следует придать удобное положение: он должен удобно сидеть или лежать...

ТЕХНИКА ПОСЕВА, МЕТОДЫ ВЫДЕЛЕНИЯ ЧИСТЫХ КУЛЬТУР И КУЛЬТУРАЛЬНЫЕ СВОЙСТВА МИКРООРГАНИЗМОВ. ОПРЕДЕЛЕНИЕ КОЛИЧЕСТВА БАКТЕРИЙ Цель занятия. Освоить технику посева микроорганизмов на плотные и жидкие питательные среды и методы выделения чис­тых бактериальных культур. Ознакомить студентов с основными культуральными характеристиками микроорганизмов и методами определения...

ОПРЕДЕЛЕНИЕ ЦЕНТРА ТЯЖЕСТИ ПЛОСКОЙ ФИГУРЫ Сила, с которой тело притягивается к Земле, называется силой тяжести...

СПИД: морально-этические проблемы Среди тысяч заболеваний совершенно особое, даже исключительное, место занимает ВИЧ-инфекция...

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

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия