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



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

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

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

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

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

Мелоксикам (Мовалис) Групповая принадлежность · Нестероидное противовоспалительное средство, преимущественно селективный обратимый ингибитор циклооксигеназы (ЦОГ-2)...

Менадиона натрия бисульфит (Викасол) Групповая принадлежность •Синтетический аналог витамина K, жирорастворимый, коагулянт...

Реформы П.А.Столыпина Сегодня уже никто не сомневается в том, что экономическая политика П...

Виды нарушений опорно-двигательного аппарата у детей В общеупотребительном значении нарушение опорно-двигательного аппарата (ОДА) идентифицируется с нарушениями двигательных функций и определенными органическими поражениями (дефектами)...

Особенности массовой коммуникации Развитие средств связи и информации привело к возникновению явления массовой коммуникации...

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