Студопедия Главная Случайная страница Обратная связь

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

Тема 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; просмотров: 769. Нарушение авторских прав; Мы поможем в написании вашей работы!




Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Ситуация 26. ПРОВЕРЕНО МИНЗДРАВОМ   Станислав Свердлов закончил российско-американский факультет менеджмента Томского государственного университета...

Различия в философии античности, средневековья и Возрождения ♦Венцом античной философии было: Единое Благо, Мировой Ум, Мировая Душа, Космос...

Характерные черты немецкой классической философии 1. Особое понимание роли философии в истории человечества, в развитии мировой культуры. Классические немецкие философы полагали, что философия призвана быть критической совестью культуры, «душой» культуры. 2. Исследовались не только человеческая...

Образование соседних чисел Фрагмент: Программная задача: показать образование числа 4 и числа 3 друг из друга...

Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

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

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