Цикломатическая складність - студопедія

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

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

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

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

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

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

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

Зауважимо, що кожен новий шлях включає нову дугу.

Всі незалежні шляхи графа утворюють базову безліч.

Властивості базового безлічі:

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

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

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

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

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

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

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

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 дорівнює чотирьом.

Схожі статті