Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Темы на модуль(самостоялка).doc
Скачиваний:
1
Добавлен:
25.11.2019
Размер:
173.57 Кб
Скачать

Тема 1.3 Кроки способу тестування базового шляху

Завдання: законспектувати тему до зошита у вигляді відповідей на контрольні запитання, що містяться в кінці теми.

Для ілюстрації кроків даного способу використаємо конкретну програму - процедуру обчислення середнього значення:

процедура середнє;

1 i := 1;

1 введено := 0;

1 кільк := 0;

1 сум := 0;

вык поки 2 -вел( i ) <> stop і введено <=500 - 3

4 введено:= введено + 1;

якщо 5 -вел( i ) >= мін і вел( i ) <= макс - 6

7 то кільк := кільк + 1;

7 сум := сум + вел( i );

8 кінець якщо;

8 i := i + 1;

9 кінець вик;

10 якщо кільк > 0

11 то середнє := сум / кільк;

12 інакше середнє := stop;

13 кінець якщо;

13 кінець середнє;

Помітимо, що процедура містить складені умови (у заголовку циклу й умовному операторі).

Крок 1. На основі тексту програми формується потоковий граф:

1)нумеруються оператори тексту (номера операторів показані в тексті процедури);

2)виконується відображення пронумерованого тексту програми у вузли й вершини потокового графа (мал. 1.1).

Мал. 1.1. Потоковий граф процедури обчислення середнього значення

Крок 2. Визначається цикломатична складність потокового графа - по кожній із трьох формул:

1) V(G) = 6 регіонів;

2) V(G) = 17 дуг - 13 вузлів + 2 = 6;

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

Крок 3. Визначається базова множина незалежних лінійних шляхів:

Шлях 1: 1-2-10-11-13; /вел=stор, кільк>0.

Шлях 2: 1-2-10-12-13;/вел=stop, кільк=0.

Шлях 3: 1-2-3-10-11-13; /спроба обробки 501-ї величини.

Шлях 4: 1-2-3-4-5-8-9-2-... /вел<мін.

Шлях 5: 1-2-3-4-5-6-8-9-2-... /вел>макс.

Шлях 6: 1-2-3-4-5-6-7-8-9-2-... /режим нормальної обробки.

ПРИМІТКА

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

Крок 4. Підготовляються тестові варіанти, що ініціюють виконання кожного шляху.

Кожний тестовий варіант формується в наступному виді:

1)Початкові дані (ПД):

2)Очікувані результати (ОЧ.РЕЗ.):

Вихідні дані повинні вибиратися так, щоб предикатні вершини забезпечували потрібні перемикання - запуск тільки тих операторів, які перераховані в конкретному шляху, причому в необхідному порядку.

Визначимо тестові варіанти, що задовольняють виявленій множині незалежних шляхів.

Тестовий варіант для шляху 1 ТВ1:

ПД: вел(k) = припустиме значення, де k < i; вел(i) = stop, де 2 < i < 500.

ОЧ.РЕЗ.: коректне усереднення ґрунтується на k величинах і правильному підрахунку.

ПРИМІТКА

Шлях не може тестуватися самостійно, а повинен тестуватися як частина шляхів 4, 5, 6 (труднощі перевірки 11-го оператора).

Тестовий варіант для шляху 2 ТВ2:

ПД: вел(1) =stор.

ОЧ.РЕЗ.: середнє=stор, інші величини мають початкові значення.

Тестовий варіант для шляху 3 ТВЗ:

ПД: спроба обробки 501-ї величини, перших 500 величин повинні бути правильними.

ОЧ.РЕЗ.: коректне усереднення ґрунтується на k величинах і правильному підрахунку.

Тестовий варіант для шляху 4 ТВ4:

ПД: вел(i)=припустиме значення, де i ≤ 500; вел(k) < мін, де k < i.

ОЧ.РЕЗ.: коректне усереднення ґрунтується на k величинах і правильному підрахунку.

Тестовий варіант для шляху 5 ТВ5:

ПД: вел(i)=припустиме значення, де i ≤ 500; вел(k) > макс, де k < i.

ОЧ.РЕЗ.: коректне усереднення ґрунтується на n величинах і правильному підрахунку.

Тестовий варіант для шляху 6 ТВ6:

ПД: вел(i)=припустиме значення, де i ≤ 500.

ОЧ.РЕЗ.: коректне усереднення ґрунтується на n величинах і правильному підрахунку.

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

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

Контрольні запитання:

  1. Як створити керуючий граф?

  2. Які кроки потрібно виконати для тестування методом базового шляху?

  3. Для чого обчислюють цикломатичну складність?

  4. Які обмеження існують для створення тестових варіантів?