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

Тестування програмних систем і комплексів

Лекція 2

Основні поняття тестування

ПЛАН

1 Концепція тестування

2 Основна термінологія

3 Організація тестування

4 Фази тестування

5 Керуючий граф програми

6 Основні проблеми тестування

Концепція тестування

Формальний підхід (доказ) - з вихідних формул-аксіом виводяться шукані формули (теореми). Вивід здійснюється шляхом переходу від одних формул до інших за строгими правилами. Зводиться до послідовності текстових підстановок.

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

Визначення

Налагодження (debug, debugging) - процес пошуку, локалізації й виправлення помилок у програмі

Тестування - виявлення (констатацію наявності) фактів розбіжностей з вимогами (помилок).

Трансляція – перевірка програми на наявність синтаксичних помилок

Приклад

//Метод обчислює ненегативну ступінь n числа x

double Power(double x,int n)

{

double z=1; int i;

for(i=1; i<=n;i++)

{

z=z*x;

}

return z;

}

Скоректований вихідний текст

double PowerNonNeg(double x, int n)

{

double z=1; int i;

if (n>0)

{

for (i=1;n>=i;i++)

{

z = z*x;

} }

else printf("Помилка! Ступінь числа n повинен бути більше 0.\n");

return z;

}

Види тестування

Статичне тестування виявляє невірні конструкції або невірні відносини об'єктів програми (помилки формального завдання).

Динамічне тестування (власне тестування) здійснює виявлення помилок тільки в програмі, що виконується.

Оракул

визначає, чи відповідають вихідні дані - Yв (обчислені за вхідним даними - X) бажаним результатам - Y

визначає належить кожна обчислена точка (x, yв) графікові бажаної функції (X, Y).

дає висновок про факт появи неправильної пари (x, yв)

нічого не говорить про те, яким чином вона була обчислена або який правильний алгоритм

лише порівнює обчислені й бажані результати.

Оракулом може бути Замовник або програміст, що робить відповідні обчислення в розумі,

потребує альтернативний спосіб одержання функції (X, Y) для обчислення еталонних значень Y.

Аналіз протоколу проміжних обчислень

"Виконання програми в розумі" (deskchecking).

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

Покрокове виконання програми (single-step running).

Виконання із замовленими зупинками (breakpoints), аналізом трас (traces) або станів пам'яті - дампів (dump).

Реверсивне (зворотне) виконання (reversible execution)

Визначення

Контрольна точка (breakpoint) - точка програми, що при її досягненні посилає відладчику сигнал.

Режим «останову» (break mode) - не перериває й не закінчує виконання програми й дозволяє аналізувати стан окремих змінних або структур даних

Траса - це "збережений шлях “,зафіксовані в журналі записи про стани змінних у заданих точках у ході виконання програми.

Дамп - область пам'яті, стан якої фіксується в контрольній точці у вигляді єдиного масиву або декількох зв'язаних масивів.

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