Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

отчет лабок / яша / Тестування_ЛР_2

.docx
Скачиваний:
0
Добавлен:
27.01.2024
Размер:
95.35 Кб
Скачать

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

СУМСЬКИЙ МАШИНОБУДІВНИЙ КОЛЕДЖ

ЗВІТ ПРО ВИКОНАННЯ

ЛАБОРАТОРНОЇ РОБОТИ № 2

із дисципліни: «Тестування програмних систем і комплексів»

Варіант 4

Перевірила Антипенко Вiкторiя

Суми 2020

ЛАБОРАТОРНА РОБОТА №2

Тема: тестування програми методом “білого ящика”

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

ХІД РОБОТИ

Завдання 1.

Код:

#include <limits.h>

#include <stdio.h>

#include <stdlib.h>

int main(int argc, char** argv)

{

int r , array[] = { 3, 2, 16, 23, 11, 5, 23, -5, 12,1 };

printf("введите r\n");

scanf("%d", &r);

printf("%d %d %d %d %d%d %d %d %d %d\n", array[0], array[1], array[2], array[3], array[4], array[5], array[6], array[7], array[8], array[9]);

unsigned idx = 0, diff = UINT_MAX;

for(int i = 0; i < (sizeof(array) / sizeof(int)) - 1; ++i)

{

if((array[i] + array[i + 1] - r) < abs(diff))

{

idx = i;

diff = abs((array[i] + array[i + 1] - r));

}

}

printf("Cумма %d и %d наиболее близка числу %d\n", array[idx], array[idx + 1], r);

return EXIT_SUCCESS;

}

Результат роботи

потоковий граф програми

Визначення цикломатичної| складність потокового графа

1 Считуем r

3 заполнение масива

4 Вывод маисва

5 i=0

6 проверяем i < sizeof / sizeof(int)) - 1

7 проверяем array[i] + array[i + 1] - r) < abs(diff)

8 idx = i;

9 находим diff

11 вывод елеменотв

V(G)= 10-9+2=3

V(G)=3

V(G)=2+1=3

Определение базового множества независимых путей

Путь 1: 1-2-3-4-9

Путь 2: 1-2-3-4-5-6-5-9

Путь 3: 1-2-3-4-5-6-7-8-5-9

Подготовка тестовых вариантов:

ТВ1:

ИД: i > (sizeof(array) / sizeof(int)) - 1;

ОР: невозможно, т.к. i < (sizeof(array) / sizeof(int)) - 1;;.

ТВ2:

ИД: if((array[i] + array[i + 1] - r) >abs(diff))

ОР: невозможно, т.к. diff = UINT_MAX;.

ТВ3:

ИД: i <(sizeof(array) / sizeof(int)) - 1;- для первого прохода внешнего цикла

if((array[i] + array[i + 1] - r) <abs(diff))– для второго прохода внешнего цикла

ОР: diff и idx принимает определенное значение

тесту

Умова, яка тестується

Очікуваний результат

Фактичний результат

1

i <(sizeof(array) / sizeof(int)) - 1;

if((array[i] + array[i + 1] - r) <abs(diff))–

Diff и idx принимает определенное значение

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

Соседние файлы в папке яша