You are on page 1of 9

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

КИЇВСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ імені Тараса Шевченка


ФАКУЛЬТЕТ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ
Кафедра програмних систем і технологій

Дисципліна
«Якість ПЗ та тестування»

Лабораторна робота №7

на тему:
« Тестування програм методами «чорного ящика»»

Виконав: Кивлюк Юрій Перевірив: Олексій Васильєв

Група ІПЗ-31 Дата перевірки

Форма навчання денна


Оцінка
Спеціальність 121

2023
Робоче завдання

1. Ознайомитися з теоретичними відомостями по стратегіях тестування.


2. Відповідно до варіанту задачі, підготувати тести по методиках стратегії "чорного
ящика".
3. Пропоновані тести звести в таблицю.

4. Розробити програму.
5. Виконати тестування. Занести в таблицю результати.
6. Зробити висновок про роль тестування з використанням стратегій "чорного ящика" і
можливості його вживання. Сформулювати його достоїнства і недоліки.

Звіт по лабораторній роботі повинен включати:


1. Завдання.
2. Текст програми.
3. Використати всі методи тестування за принципом «чорної скриньки» (еквівалентне
розбиття, аналіз граничних значень, аналіз причинно-наслідкових зв’язків).
4. Створити тести для кожного методу тестування.
5. Зробити скрін-шоти для кожного з проведених тестів з відповідним коментарем.
6. Висновок.

Виконання:
Варіант виконання – 2.

Реалізовувати програмний застосунок буде на мові програмування C#.

Варіант завдання:
Розробити програму визначення сумарної довжини тіні, яку відкидають на вісь ОХ
відрізки, паралельні цій осі і задані координатами початку і кінця відрізка: 

На початковому етапі реалізуємо тестові варіанти:

Тест 1) Перевірка введення значення кількості відрізків користувачем:

1: число не ціле.

2: число від’ємне.

3: невірний тип введення (string).

4: введено натуральне число


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

1: помилка, оскільки кількість відрізків – ціле число.

2: помилка, кількість має бути додатньою.

3: помилка, кількість має бути цілим числом, а не стрічкою, знаком.

4: коректне введення, перехід до наступного етапу.

Тест 2) Перевірка введення координат відрізків

1: вказано не числовий формат даних

2: введено раціональне число.

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

1: помилка, оскільки координати мають бути раціональними числами.

2: вірне введення, наступний етап.

Тест 3) Перевірка обчислень, якщо для відрізка задається більша координата, а після
менша.

Введено 2 – кількість відрізків:

s1: [3, 1].

s2: [5, -1].

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

довжина – 6.

Тест 4) Перевірка обчислень якщо відрізки не накладаються

 Введено 4 – кількість відрізків:

s1: [-1, 0].

s2: [1, 2].

s3: [2, 4].

s4: [5, 6].

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

довжина – 5.

Тест 5) Перевірка обчислень при накладанні відрізків.


 Кількість відрізків = 2:

s1: [0, 3].

s2: [2, 4].

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

довжина – 4.

Тест 6) Перевірка обчислень при введенні дробових чисел.

 Кількість відрізків = 2:

s1: [0.25, 2].

s2: [1, 2.5].

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

довжина – 2,25.

Отже складено 6 тестових варіантів для опрацювання:

Реалізація коду програми на C#:

Console.OutputEncoding = System.Text.Encoding.Default;
bool check = true;
int number_of_iterations = 0;
while (check)
{
Console.Write("Введіть кількість відрізків: ");
string input = Console.ReadLine();
try
{
number_of_iterations = int.Parse(input);
if (number_of_iterations >= 1)
{
check = false;
}
else
{
Console.WriteLine("Невірна кількість відрізків... необхідне натуральне число.");
}
}
catch (Exception)
{
Console.WriteLine("Невірне введення... Необхідне натуральне число.");
}
}

List<double[]> arr = new List<double[]>();


for (int i = 0; i < number_of_iterations; i++)
{
bool check1 = true;
double a = 0;
double b = 0;
while (check1)
{
Console.Write("\nПочаток відрізка: ");
string inputA = Console.ReadLine();
Console.Write("Кінець відрізка: ");
string inputB = Console.ReadLine();
try
{
a = double.Parse(inputA);
b = double.Parse(inputB);
check1 = false;
}
catch (Exception)
{
Console.WriteLine("невірне введення... Введіть раціональне число.");
}
}
if (a <= b)
{
arr.Add(new double[] { a, b });
}
else
{
arr.Add(new double[] { b, a });
}
}

arr.Sort((x, y) => x[0].CompareTo(y[0]));

for (int i = 0; i < arr.Count - 1; i++)


{
if (arr[i + 1][0] < arr[i][1] && arr[i + 1][1] < arr[i][1])
{
arr[i + 1][0] = arr[i][1];
arr[i + 1][1] = arr[i][1];
}
else if (arr[i + 1][0] < arr[i][1])
{
arr[i + 1][0] = arr[i][1];
}
}

double lenght = 0;
for (int i = 0; i < arr.Count; i++)
{
lenght += arr[i][1] - arr[i][0];
}

try
{
if (lenght == (int)lenght)
{
lenght = (int)lenght;
}
}
catch (Exception)
{
// do nothing
}

Console.WriteLine("\nТінь = " + lenght);

Виконання тестів:

Тест 1:
Тест 2:

Тест 3:

Тест 4:
Тест 5:

Тест 6:

Складемо результуючу таблицю:

Но
Значення
мер Призначення Реакція
початкових Очікуваний результат Виснов
тес тесту програми
даних
ту
1 Перевірка 1: число не ціле. 1: помилка, оскільки Програма Програм
введення 2: число кількість відрізків – ціле показала опрацьо
значення від’ємне. число. стійкість до всі види
кількості 3: невірний тип 2: помилка, кількість має помилок та їх помило
відрізків введення (string). бути додатньою. опрацювання, даному
користуваче 4: введено 3: помилка, кількість має дочікується етапі,
м. натуральне бути цілим числом, а не коректного працює
число стрічкою, знаком. введення. коректн
4: коректне введення,
перехід до наступного
етапу.
Програма Програм
1: вказано не
показала опрацьо
числовий 1: помилка, оскільки
Перевірка стійкість до всі види
формат даних. координати мають бути
введення помилок та їх помило
2 2: введено раціональними числами.
координат опрацювання, даному
раціональне 2: вірне введення,
відрізків дочікується етапі,
число. наступний етап.
коректного працює
введення. коректн
Перевірка
Програма вірно
обчислень, Введено 2 – Очікувана довжина – 6. підставляє
якщо для кількість Програм
значення
відрізка відрізків. проводи
3 координат
задається s1: [3, 1]. вірний
відрізків та
більша s2: [5, -1]. розраху
проводить
координата, а
розрахунок.
після менша.
Програм
Введено 4 – Програма вірно
вірно
Перевірка кількість опрацювала
проводи
обчислень відрізків. Очікувана довжина – 5. введені
обрахун
якщо s1: [-1, 0]. координати та
4 введени
відрізки не s2: [1, 2]. відрізки. Після
відрізкі
накладаютьс s3: [2, 4]. чого показала
що не
я s4: [5, 6]. очікуваний
наклада
результат.
ся.
Програма вірно
Очікувана довжина – 4. опрацювала
Перевірка введені
Кількість
обчислень координати та Результ
відрізків = 2
5 при відрізки, які співпав
s1: [0, 3].
накладанні накладаються. очікува
s2: [2, 4].
відрізків. Вивела
очікуваний
результат.
Програма
Програм
Очікувана довжина – 2,25. коректно реагує
коректн
Перевірка на введення
Кількість опрацьо
обчислень дробового числа,
відрізків = 2 дробові
6 при введенні та проводить
s1: [0.25, 2]. числа.
дробових обрахунок. Було
s2: [1, 2.5]. Результ
чисел. отримано
співпав
очікуваний
очікува
результат.

Висновок:
Під час виконання даної лабораторної роботи було ознайомлено з темою
тестування методом «чорного ящика». За обраним варіантом було розроблено програму
для проведення тестування даного типу. Програма розроблена на С# обраховувала
довжини «тіней» відрізків на вісь, опрацьовувала помилки введення та виводила результат
користувачу.
Для тестування було створено 5 тестових варіантів, приведено приклади введення
та очікуваних результатів. Результати після тестування було порівняно з очікуваними та
зроблено висновки щодо реакції програми.
Визначено, що програма коректно реагує на різні типи введення даних, їх
черговість введення. Аналіз результатів підтвердив очікування, вони співпали, що дає
змогу зрозуміти правильність роботи застосунку.
Метод тестування за допомогою чорної скриньки є цінним підходом до тестування
програмного забезпечення, оскільки він допомагає виявити помилки, покращити якість
програмного забезпечення та покращити взаємодію з користувачем.

You might also like