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

ЛР4 Ихсанова

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

Лабораторная работа 4

Постановка задачи

Придумать задачу, аналогичную разобранной задаче. Написать программу. Провести ее тестирование методом классов эквивалентностей и граничных значений. При обнаружении ошибок в программе провести регрессионное тестирование.

Придуманная программа: Предположим, у нас есть программа для расчета скидки на билеты в кинотеатре. Программа должна принимать на вход два параметра: стоимость билета и возраст клиента. В соответствии с заданными условиями, программа должна выдавать значение скидки:

1. Если возраст клиента составляет от 18 до 30 лет (включительно), то скидка должна составлять 10% от общей стоимости билета.

2. Если возраст клиента составляет от 31 до 50 лет (включительно), то скидка должна составлять 5% от общей стоимости билета.

3. Если возраст клиента меньше 18 лет или больше 50 лет, то скидка не предоставляется.

Код программы

#include <iostream>

using namespace std;

int main() {

double totalCost;

int age;

setlocale(LC_ALL, "rus");

cout << "Введите стоимость билета: ";

cin >> totalCost;

cout << "Введите возраст клиента: ";

cin >> age;

double discount = 0;

if (age >= 18 && age <= 30) {

discount = 0.1 * totalCost;

}

else if (age >= 31 && age <= 50) {

discount = 0.05 * totalCost;

}

cout << "Скидка составляет: " << discount << endl;

return 0;

}

Классы эквивалентности и тестирование граничных условий

Классы эквивалентности:

Возраст клиента [18; 30] - ожидается скидка в размере 10%.

Возраст клиента [31; 50] - ожидается скидка в размере 5%.

Возраст клиента [0; 18] - ожидается отсутствие скидки.

Возраст клиента [50; 100] - ожидается отсутствие скидки.

Тестирование:

№ теста

Возраст

Сумма

Расчет скидки

Ожидаемый результат

Результат

1

19

250

10%

Скидка есть

2

41

300

5%

Скидка есть

3

15

150

0

Скидки нет

4

55

300

0

Скидки нет

Добавлена проверка на положительные значения возраста и стоимости билета.

№ теста

Возраст

Сумма

Расчет скидки

Ожидаемый результат

Результат

1

19

-250

10%

Ошибка

2

-22

300

10%

Ошибка

Тестирование граничных условий:

Проведем тесты по граничным значениям.

№ теста

Возраст

Сумма

Расчет скидки

Ожидаемый результат

Результат

1

18

300

10%

Скидка есть

2

30

300

10%

Скидка есть

3

50

300

5%

Скидка есть

4

0

300

0

Скидки нет

5

100

300

0

Скидки нет

Тестирование граничных условий не выявило ошибок.

Код программы после устранения ошибок

#include <iostream>

using namespace std;

int main() {

double totalCost;

int age;

setlocale(LC_ALL, "rus");

cout << "Введите стоимость билета: ";

cin >> totalCost;

cout << "Введите возраст клиента: ";

cin >> age;

if (age < 0) {

cout << "Ошибка в возрасте" << endl;

system("pause");

}

double discount = 0;

if (totalCost < 0) {

cout << "Ошибка в стоимости билета" << endl;

system("pause");

}

if (age >= 18 && age <= 30) {

discount = 0.1 * totalCost;

cout << "Скидка есть = 10%!" << endl;

}

else if (age >= 31 && age <= 50) {

discount = 0.05 * totalCost;

cout << "Скидка есть = 5%!" << endl;

}

else {

cout << "Скидки нет!" << endl;

}

cout << "Скидка составляет: " << discount << endl;

return 0;

}

С криншоты программы

Выводы

Было изучено тестирование методами «черного ящика», классы эквивалентности и тестирование граничных условий, регрессионное тестирование.

Была разработана программа для анализа скидок по возрасту. Для нее были проведены тестирования по классам эквивалентности и тестирование граничных условий. После выявления ошибок были проведены регрессионные тестирования.

Соседние файлы в предмете Тестирование программного обеспечения