- •1. Теоретична частина.
- •1.1. Теоретичне питання 1.
- •1.2 Теоретичне питання 2. Категорії програмних помилок. Документування та аналіз помилок. Способи відтворення помилки.
- •2. Практична частина.
- •2.1. Лабораторна робота № 1. Розробка тестів для перевірки програми
- •Специфікація програми має такий вигляд:
- •Специфікація даних має вигляд опису:
- •Визначити області еквівалентності вхідних параметрів.
- •Аналіз тестових випадків.
- •Текст програми.
- •Розроблена система тестів та очікуваних результатів.
- •2.2. Лабораторна робота № 2. Тема: Розробка тестів для методу покриття операторів.
- •Опис тестів.
- •Текст програми.
- •Список помилок, які можуть бути виявлені тестами.
- •2.3. Лабораторна робота № 3. Тема: Розробка тестів для методу покриття рішень.
- •Опис тестів.
- •Опис помилок, які можуть бути виявлені тестами.
- •Текст програми.
- •Висновок.
- •Використані джерела.
Розроблена система тестів та очікуваних результатів.
№ тесту |
Значення параметрів |
Опис ситуації |
Результат |
|||
а |
b |
x |
Тип |
Повідомлення |
||
1 |
6,55 |
4 |
6,55 |
Ділення на нуль |
|
Рішення відсутнє. Помилка: ділення на нуль |
2.2. Лабораторна робота № 2. Тема: Розробка тестів для методу покриття операторів.
Індивідуальне завдання.
Опис тестів.
-
Тест 1
Визначає, чи буде виконаний оператор виведення на екран повідомлення «А повинно бути менше N», коли b >e .
Вхідні дані: b=4; e=4
Покриття операторів: 1-20, 25-28, 40-45.
Тест 2
Визначає, чи проводитимуться обчислення, коли вхідні дані містять хоч би одне від'ємне число.
Вхідні дані: b=-1; e=4
Покриття операторів: 1-20, 29-33, 40-45.
Тест 3
Визначає, чи проводитимуться обчислення, коли вхідні дані містять хоч би один нуль.
Вхідні дані: b=0; e=2
Тест 4
Визначає, чи буде виконаний оператор Factor := a*Factor(b-1) у функції Factor, якщо вхідні дані містять хоча б одне число, що задовольняє умові а > 1.
Вхідні дані: b=2; e=4
Покриття операторів 1-20, 35-45.
Текст програми.
program lab;
var x,b:integer; y:real; begin write ('vvedit x,b:'); read(x,b); readln; if x>0 then y:=(x-sqrt/(b*sin(x)) else y:=(ln(abs(2-x))*exp(x)); writeln ('otvet:',y:5:2); readln; end. |