Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Тема: Тестування базового шляху. Потоковий граф та цикломатична складність

Методи проектування тестових шляхів для досягнення заданого ступеня протестованості в структурному тестуванні. Процес побудови набору тестів при структурному тестуванні прийнято ділити на три фази:

1. Конструювання КГП.

2. Вибір тестових шляхів.

3. Генерація тестів, що відповідають тестовим шляхам.

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

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

Друга фаза забезпечує вибір тестових шляхів. Виділяють три підходи до побудови тестових шляхів:

1. Статичні методи.

2. Динамічні методи.

3. Методи реалізованих шляхів.

Статичні методи. Найпростіше й легко реалізоване рішення - побудова кожного шляху за допомогою поступового його подовження за рахунок додавання дуг, поки не буде досягнута вихідна вершина керуючого графа програми. Ця ідея може бути посилена в так званих адаптивних методах, які щораз додають тільки один тестовий шлях (вхідний тест), використовуючи попередні шляхи (тести) як керівництво для вибору наступних шляхів відповідно до деякої стратегії. Найчастіше адаптивні стратегії застосовуються стосовно критерію С1. Основний недолік статичних методів полягає в тому, що не враховується можлива неможливість реалізації побудованих шляхів тестування. Достоїнство статичних методів в порівняно невеликій кількості необхідних ресурсів, як при використанні, так і при розробці. Однак їхня реалізація може містити непередбачений відсоток браку (нереалізованих шляхів). Крім того, у цих системах перехід від покриваючої безлічі шляхів до повної системи тестів користувач повинен здійснити вручну, а ця робота досить трудомістка.

Динамічні методи. Такі методи припускають побудова повної системи тестів, що задовольняють заданому критерію, шляхом одночасного рішення завдання побудови покриваючої безлічі шляхів і тестових даних. При цьому можна автоматично враховувати, реалізуються або не реалізуються, раніше розглянуті шляхи або їхні частини. Основною ідеєю динамічних методів є приєднання до початкових реалізованих відрізків шляхів подальших їхніх частин так, щоб: 1) не втрачати при цьому реалізованості знову отриманих шляхів; 2) покрити необхідні елементи структури програми. Динамічні методи вимагають значно більших ресурсів як при розробці, так і при експлуатації, однак збільшення витрат відбувається, в основному, за рахунок розробки й експлуатації апарата визначення реалізованості шляхів (символічний інтерпретатор, вирішувач нерівностей). Достоїнство цих методів полягає в тому, що їхня продукція має деякий якісний рівень - реалізованість шляхів.

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

Тестування базового шляху — це спосіб, що заснований на принципі «білого ящика». Автор цього способу - Том Маккейб (1976).

Спосіб тестування базового шляху дає можливість:

- одержати оцінку комплексної складності програми;

- використати цю оцінку для визначення необхідної кількості тестових варіантів.

Тестові варіанти розробляються для перевірки базової множини шляхів (маршрутів) у програмі. Вони гарантують однократне виконання кожного оператора програми при тестуванні.

Для представлення програми використовується потоковий граф. Перелічимо його особливості.

1. Граф будується відображенням керуючої структури програми. У ході відображення закриваючі дужки умовних операторів і операторів циклів (end if; end loop) розглядаються як окремі (фіктивні) оператори.

2. Вузли (вершини) потокового графа відповідають лінійним ділянкам програми, включають один або декілька операторів програми.

3. Дуги потокового графа відображають потік керування в програмі (передачі керування між операторами). Дуга - це орієнтоване ребро.

4. Розрізняють операторні та предикатні вузли. З операторного вузла виходить одна дуга, а із предикатного - дві дуги.

Предикатні вузли відповідають простим умовам у програмі. Складена умова програми відображається в кілька предикатних вузлів. Складеною називають умову, в якій використовується одна або декілька бульових операцій (OR, AND).

Наприклад, фрагмент програми

if a OR b

then x

else в

end if;

можна відобразити у потоковий граф, представлений на мал. 1.4

 

Мал. 1.4 Перетворений потоковий граф

5. Замкнуті області, утворені дугами й вузлами, називають регіонами.

6. Навколишнє середовище графу розглядається як додатковий регіон. Наприклад, показаний тут граф має три регіони - Rl, R2, R3.

Приклад 1. Розглянемо процедуру стиску:

1 виконувати поки немає EOF

1 читати запис;

2 якщо запис порожній

3 те видалити запис:

4 інакше якщо поле а >= поля b

5 те видалити b;

6 інакше видалити а;

7а кінець якщо;

7а кінець якщо;

7b кінець виконувати;

8 кінець стиск;

Мал. 1.5. Перетворений потоковий граф процедури стиску

Вона відображається в потоковий граф, представлений на мал. 1.5. Бачимо, що цей потоковий граф має чотири регіони.

Цикломатична складність. Цикломатична складність - метрика ПЗ, що забезпечує кількісну оцінку логічної складності програми. У способі тестування базового шляху цикломатична складність визначає:

- кількість незалежних шляхів у базовій множині програми;

- верхню оцінку кількості тестів, що гарантує однократне виконання всіх операторів.

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

Перелічимо незалежні шляхи для потокового графа із приклада 1:

Шлях 1: 1-8.

Шлях 2: 1-2-3-7а-7b-1-8.

Шлях 3: 1-2-4-5-7а-7b-1-8.

Шлях 4: 1-2-4-6-7а-7b-1-8.

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

1) тести, що забезпечують його перевірку, гарантують:

- однократне виконання кожного оператора;

- виконання кожної умови по True-галузі й по False-галузі;

2) потужність базової множини дорівнює цикломатичній складності потокового графа.

Значення 2-гої властивості важко переоцінити - воно дає апріорну оцінку кількості незалежних шляхів, що має сенс шукати в графі.

Цикломатична складність обчислюється одним із трьох способів:

1) цикломатична складність дорівнює кількості регіонів потокового графа;

2) цикломатична складність визначається по формулі V(G)-E-N+2,

де Е — кількість дуг, N — кількість вузлів потокового графа;

3) цикломатична складність формується по вираженню V(G) =p+ 1, де р — кількість предикатних вузлів у потоковому графі G.

Обчислимо цикломатичну складність графа із приклада 1 кожним із трьох способів:

1) потоковий граф має 4 регіони;

2) V(G) = 11 дуг - 9 вузлів + 2 = 4;

3) V(G) = 3 предикатних вузли +1=4.

Таким чином, цикломатична складність потокового графа із приклада 1 дорівнює чотирьом.

 

Лекція 4 (2 години)

<== предыдущая лекция | следующая лекция ==>
Факторные модели, их построение и моделирование | Тема: Способи тестування умов. Тестування галужень та операторів відношень
Поделиться с друзьями:


Дата добавления: 2014-01-20; Просмотров: 2839; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.019 сек.