Файл: Практическая работа 4 по теме Модульное тестирование студента 3 курса группы 1202 Докшина Даниила Андреевича Преподаватель.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 25.10.2023
Просмотров: 63
Скачиваний: 3
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ МОСКОВСКОЙ ОБЛАСТИ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ПРОФЕССИОНАЛЬНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ МОСКОВСКОЙ ОБЛАСТИ «СЕРПУХОВСКИЙ КОЛЛЕДЖ» |
Практическая работа №4
по теме
«Модульное тестирование»
студента 3 курса группы 1202
Докшина Даниила Андреевича
Преподаватель:
Никишин Д.А.
Серпухов, 2023
Цель: получить практические навыки и умения модульного тестирования.
Задание:
-
Создать приложение в Windows Forms (.NET Framework) на C#, которое будет считать среднее значение оценки, количество пропусков (шт.) и количество пропусков (часов). -
Создать DataGridView согласно предоставленному образцу. -
При вводе оценок или отсутствия, ячейка должна окрашиваться в соответствующий цвет: 5 - зеленый, 4 – светло-зеленый, 3 – оранжевый, 2 светло-красный, 1 – красный, н – светло серый. -
При вводе оценок или отсутствия, ячейки в столбце «Средняя оценка» должны высчитывать среднее значение выставленных оценок у студента, ячейки в столбце «Пропуски» считают общее количество пропусков, ячейки в столбце «Пропуски часов» считают общее количество пропущенных часов. -
Количество дней в таблице должно быть не менее 5. -
Сделать 5 тест кейсов с созданным приложением. -
Составить отчет о проделанной работе, сделать вывод.
Ход выполнения
-
Я создал проект «1202_PR4_Dokshin» и создал в нем форму «Form1». Структура проекта представлена на рисунке 1.
Рисунок 1 – Структура проекта
-
Далее в этой форме я создал элемент DataGridView и внес данные. Форма с внесенными данными представлена на рисунке 2
Рисунок 2 – Форма с данными
-
Затем я создал алгоритмы для расчета средней оценки, определения цвета ячейки, вычисления пропущенных часов. Алгоритмы расчетов представлены на рисунках 3-4.
private void dataGridViewStatement_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex >= 5 && e.RowIndex != -1)
{
switch (dataGridViewStatement[e.ColumnIndex, e.RowIndex].Value)
{
case "1":
dataGridViewStatement[e.ColumnIndex, e.RowIndex].Style.BackColor = Color.Red;
break;
case "2":
dataGridViewStatement[e.ColumnIndex, e.RowIndex].Style.BackColor = Color.IndianRed;
break;
case "3":
dataGridViewStatement[e.ColumnIndex, e.RowIndex].Style.BackColor = Color.Yellow;
break;
case "4":
dataGridViewStatement[e.ColumnIndex, e.RowIndex].Style.BackColor = Color.LightGreen;
break;
case "5":
dataGridViewStatement[e.ColumnIndex, e.RowIndex].Style.BackColor = Color.Green;
break;
case "н":
dataGridViewStatement[e.ColumnIndex, e.RowIndex].Style.BackColor = Color.Aquamarine;
break;
Рисунок 3 – Алгоритмы расчётов
default:
dataGridViewStatement[e.ColumnIndex, e.RowIndex].Style.BackColor = Color.White;
break;
}
}
if (e.ColumnIndex != -1 && e.RowIndex != -1)
{
int lost = 0;
double sum = 0;
double count = 0;
for (int i = 5; i < 9; i++)
{
if (dataGridViewStatement[i, e.RowIndex].Value == null || dataGridViewStatement[i, e.RowIndex].Value == "")
{
continue;
}
if (Char.IsDigit(dataGridViewStatement[i, e.RowIndex].Value.ToString()[0]))
{
sum += int.Parse(dataGridViewStatement[i, e.RowIndex].Value.ToString());
count++;
}
else if ((dataGridViewStatement[i, e.RowIndex].Value.ToString() == "н"))
{
lost++;
}
else
{
dataGridViewStatement[i, e.RowIndex].Value = "";
}
}
dataGridViewStatement[2, e.RowIndex].Value = sum != 0 ? sum / count : 0;
dataGridViewStatement[3, e.RowIndex].Value = lost;
dataGridViewStatement[4, e.RowIndex].Value = $"{lost * 2} из 104";
}
Рисунок 4 – Алгоритмы расчётов
-
Для проверки правильной работы приложения я создал 5 тест-кейсов. Тест-кейсы представлены в таблице 1-5
Таблица 1 – Тест-кейс 1.
Наименование | Описание |
Test Case #1 | TC_UI_1 (Test case user interface 1) |
Приоритет теста | Высокий |
Статус выполнения кейса | Выполнен |
Версия ПО | 1.0 |
Наименование модуля | Form1.cs |
Название тестирования/Имя | Проверка смены цвета при выставлении оценки |
Резюме испытания | Проверка смены цвета при выставлении оценки |
Шаги тестирования |
|
Данные тестирования | dataGridViewStatement[5, 0] = “5” |
Ожидаемый результат | В ячейке отобразится значение «5» и цвет сменится на зеленый |
Фактический результат | В ячейке отобразилось значение «5» и цвет сменился на зеленый |
Предпосылки | - |
Постусловия | Программа продолжает работать |
Статус (Pass/Fail) | Pass |
Комментарии | - |
Таблица 2 – Тест-кейс 2.
Наименование | Описание |
Test Case #2 | TC_UI_2 |
Приоритет теста | Высокий |
Статус выполнения кейса | Выполнен |
Версия ПО | 1.0 |
Наименование модуля | Form1.cs |
Название тестирования/Имя | Проверка поведения программы на ввод оценки больше «5» |
Резюме испытания | Проверка поведения программы на ввод оценки больше «5» |
Шаги тестирования |
|
Данные тестирования | dataGridViewStatement[5, 0] = “8” |
Ожидаемый результат | Ячейка останется пустой и значение средней оценки не изменится |
Фактический результат | Ячейка осталась пустой и значение средней оценки не изменилось |
Предпосылки | - |
Постусловия | Программа продолжает работать |
Статус (Pass/Fail) | Pass |
Комментарии | - |
Таблица 3 – Тест-кейс 3.
Наименование | Описание |
Test Case #3 | TC_UI_3 |
Приоритет теста | Высокий |
Статус выполнения кейса | Выполнен |
Версия ПО | 1.0 |
Наименование модуля | Form1.cs |
Название тестирования/Имя | Проверка поведения программы на смену значения средней оценки |
Резюме испытания | Проверка поведения программы на ввод оценки больше «5» |
Шаги тестирования |
|
Данные тестирования | dataGridViewStatement[5, 0] = “4” dataGridViewStatement[6, 0] = “3” dataGridViewStatement[2, 0] = “8” |
Ожидаемый результат | Ячейка вернёт значение средней оценки |
Фактический результат | Ячейка вернула значение средней оценки |
Предпосылки | - |
Постусловия | Программа продолжает работать |
Статус (Pass/Fail) | Pass |
Комментарии | - |
Таблица 4 – Тест-кейс 4.
Наименование | Описание |
Test Case #4 | TC_UI_4 |
Приоритет теста | Высокий |
Статус выполнения кейса | Выполнен |
Версия ПО | 1.0 |
Наименование модуля | Form1.cs |
Название тестирования/Имя | Проверка расчёта пропусков часов по «н» |
Резюме испытания | Проверка расчёта пропусков часов по «н» |
Шаги тестирования |
|
Данные тестирования | dataGridViewStatement[5, 0] = “н” dataGridViewStatement[6, 0] = “н” dataGridViewStatement[3, 0] = “34” |
Ожидаемый результат | Ячейка dataGridViewStatement[3, 0] будет равна «2», а ячейка dataGridViewStatement[4, 0] = «4 из 104» |
Фактический результат | Ячейка dataGridViewStatement[3, 0] равна «2», а ячейка dataGridViewStatement[4, 0] = «4 из 104» |
Предпосылки | - |
Постусловия | Программа продолжает работать |
Статус (Pass/Fail) | Pass |
Комментарии | - |
Таблица 5 – Тест-кейс 5.
Наименование | Описание |
Test Case #5 | TC_UI_5 |
Приоритет теста | Высокий |
Статус выполнения кейса | Выполнен |
Версия ПО | 1.0 |
Наименование модуля | Form1.cs |
Название тестирования/Имя | Проверка поведения программы на смену значения кол-ва пропусков |
Резюме испытания | Проверка поведения программы на смену значения кол-ва пропусков |
Шаги тестирования |
|
Данные тестирования | dataGridViewStatement[5, 0] = “н” dataGridViewStatement[5, 1] = “н” dataGridViewStatement[5, 0] = “н” |
Ожидаемый результат | Ячейка вернёт значение кол-ва пропусков |
Фактический результат | Ячейка вернула значение кол-ва пропусков |
Предпосылки | - |
Постусловия | Программа продолжает работать |
Статус (Pass/Fail) | Pass |
Комментарии | - |
Вывод: Выполнив данную практическую работу, я получил практические навыки модульного тестирования.