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

Практична робота №1

Тема. Тестування галужень та операторів відношень

Мета: навчитися використовувати різні методи тестування галужень та операторів відношень; провести порівняльний аналіз способів тестування.

Хід заняття

1. Організаційна частина

а) готовність групи до заняття;

б) психоемоційний настрій;

в) перевірка присутніх;

2. Актуалізація опорних знань студентів:

а) повідомлення теми та мети;

б) повідомлення основних тем, по яким відбувається практична робота.

3. Закріплення вмінь та навичок студентів

Теоретичні відомості. Для тестування галужень та операторів відношень можна використовувати методи структурного тестування „білого ящика”, а саме: метод базового шляху, спосіб тестування умов, а також спосіб тестування гілок та операторів відношень.

Для використання методу базового шляху необхідно виконати наступні кроки:

  1. на основі тексту програми сформувати потоковий граф;

  2. визначити цикломатичну складність потокового графу (по кожній з 3-х формул);

  3. визначити базову множину незалежних лінійних шляхів;

  4. розробити тестові варіанти для виконання кожного шляху.

Способи тестування умов містяться в тестуванні кожної гілки логічних умов програми. Простий спосіб міститься в тестуванні кожної простої умови, що входить в склад, при цьому перевіряється кожна true – та false – гілки. Інша методика тестування - тестування області визначення. При використанні даного методу необхідно виконати наступні кроки:

  • побудувати обмеження умов;

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

  • використовуючи константні формули ОМ& або OMOR будуємо обмежуючу множину (ОМ);

  • для кожного елемента ОМ розробляється тестовий варіант.

4. Основна частина заняття:

Завдання. Використовуючи способи тестування, що наведені в теоретичних відомостях, виконати тестування частини програми за варіантом:

Варіант 1.

………

var a, b, c, m:real;

…………

if (a>b) then m:=(a-b)*c

else begin

if (a=c) then m:=(a+b)*c

else writeln (“Vvedite drugie chisla!”);

end;

Варіант 2.

………

var s, k, r, p:real;

…………

if (s=k) then p:=(sqr(r))

else begin

if (s>r)or(s>k) then p:=(s+k)*r

else writeln(“p=0”);

end;

  1. Приклад виконання роботи.

Для прикладу розглянемо тестування наступного коду:

………

var a, b, c, s:real;

…………

if (a<b) then s:=(a+b)*c

else begin

if (a>b) and(a<c)then s:=a/(b+c)

else s:=a+b+c;

end;

    1. Тестуємо наведений код програми методом базового шляху:

  1. П еретворюємо код в вершини та будуємо потоковий граф:

1: введення даних

2:якщо (a<b)

3: то s:=(a+b)

4:інакше якщо

5: (a>b) та (a<c)

6:то s:=a/(b+c)

7:інакше s:=a+b+c

8: кінець інакше

8: кінець програми

  1. Розраховуємо цикломатичну складність 3-ма способами:

ЦС(1): V(G) = 9-8+2=3

ЦС(2): V(G) = 2пр.вуз.+1=3

ЦС(3): V(G) = 3 регіони

  1. Базова множина незалежних лінійних шляхів:

Шлях 1: 1-2-3-8

Шлях 2: 1-2-4-7-8

Шлях 3:1-2-4-5-6-8

  1. Тестові варіанти

ТВ1:

ПД: а=2, в=3, с=2

Оч.рез. : s=(2+3)*2=10

ТВ2:

ПД: а=5, в=2, с=7

Оч.рез. : s=5/(2+7)=5/9

ТВ3:

ПД: а=5, в=2, с=2

Оч.рез. : s=5+2+2=9

    1. Тестуємо наведений код методом тестування галужень та операторів відношень.

  1. будуємо обмеження умов:

С1=(a<b)

C2=(a>b)and(a<c)

1.1 ОУС1=(>,<,=)

OMC1={true, false,false}

ТВ1: ПД: а=5, в=7 Оч.рез. : (a<b)=true

ТВ2: ПД: а=5, в=2 Оч.рез. : (a>b)=false

ТВ3: ПД: а=2, в=2 Оч.рез. : (a=b)=false

      1. ОУС2=(d1, d2,d3)

d1=(>,<,=)=(true,false,false)

d2=(true,false)

d3=(>,<,=)=(false, true, false)

      1. будуємо таблицю істинності:

&

a<b

a=b

a>b

a<c

false

false

true

a=c

false

false

false

a>c

false

false

false

1.2.3 Використовуючи правила мінімізації скорочуємо кількість тестових варіантів та будуємо обмежуючу множину:

OMC2 = {(true, false,false), (false,false,false)}

1.2.4 Складаємо тестові варіанти:

ТВ1: ПД: а=2, в=1, c=3 Оч.рез. : true

ТВ2: ПД: а=2, в=2, c=4 Оч.рез. : false

ТВ3: ПД: а=2, в=5, c=4 Оч.рез. : false

ТВ4: ПД: а=2, в=5, c=2 Оч.рез. : false

ТВ5: ПД: а=2, в=2, c=2 Оч.рез. : false

ТВ6: ПД: а=2, в=5, c=4 Оч.рез. : false

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

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

5.1 Які особливості має потоковий граф?

5.2 Поясніть поняття цикломатичної складності.

5.3 Поясніть переваги та недоліки способу тестування галужень та операторів відношень.

6. Узагальнення та систематизація вмінь і навичок.

7. Підведення підсумків заняття.

8. Самостійна робота: за розглянутим прикладом самостійно виконати завдання та відповісти на контрольні запитання.