
лаб7 / lab7
.pdfГУАП КАФЕДРА № 41
ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ ПРЕПОДАВАТЕЛЬ
Старший преподаватель |
|
Д.В. Куртяник |
||
|
|
|
|
|
должность, уч. степень, |
|
|
||
|
|
подпись, дата |
|
инициалы, фамилия |
звание |
|
|
ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ 7
Модульное тестирование
по курсу: ОСНОВЫ ПРОГРАММИРОВАНИЯ
РАБОТУ ВЫПОЛНИЛ |
|
|
|||
СТУДЕНТ ГР. |
4016 |
|
|
|
М.О.Жовтяк |
№ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
подпись, дата |
|
инициалы, фамилия |
Санкт-Петербург 2021

Цель лабораторной работы: Приобретение практических навыков в области тестирования программного обеспечения, изучение возможностей модульного тестирования в MS Visual Studio
Ход работы:
1) Клонируем проект https://github.com/microsoft/calculator
2)Выбирается тест для проверки
Мной был выбран HistoryTests >>TestHistoryClearCommand, который проверяет,
очищена ли история операций калькулятора, где условием выполнения является нажатие на кнопку Clear History с входными и выходными данными 0, 0.
3) Тест перед изменением в коде:
4)Нарочно изменяем код так, чтобы тест не был выполнен. Здесь изменилось условие на проверку количества операций, теперь история очищается, если операций отрицательное количество, что невозможно. В итоге количество операций будет больше нуля и тест не будет пройден.
2

5) Делаем повторный тест
Тест не выполнен с ошибкой Assert failed.
6)Теперь создаем свой unit-тест с проверкой
В моем случае выполняем проверку функции, выполняющей возведение степени в квадрат.
Код UnitTest.cpp:
#include "pch.h" #include <CppUnitTest.h> #include "stepen.h"
using namespace std;
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
namespace Lab7
{
TEST_CLASS(UnitTest1)
{
public: TEST_METHOD(TestMethod1)
{
Assert::IsTrue(stepen(2) == 4);
}
TEST_METHOD(TestMethod2) { Assert::IsTrue(stepen(3) == 9);
};
}
Код stepen.h:
int stepen(int n)
{
int a = n * n; return a;
}
3

Проверка теста:
Вывод: в ходе работы я научился писать и запускать модульные тесты в Visual Studio с помощью встроенного средства для тестирования CppUnitTestFramework.
Список используемых ресурсов:
1)https://docs.microsoft.com/ru-ru/visualstudio/test/getting-started-with-unit- testing?view=vs-2022&tabs=dotnet%2Cmstest
2)https://docs.microsoft.com/ru-ru/visualstudio/test/unit-test-basics?view=vs-2022
3)https://pro.guap.ru/get-task/9436b1fb32e36f2745340cc6e3fc2023
4