LABA1
.pdfМинистерство науки и высшего образования Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР) Кафедра комплексной информационной безопасности электронно-
вычислительных систем (КИБЭВС)
ТЕСТИРОВАНИЕ
Отчет по лабораторной работе №1 по дисциплине «Безопасность операционных систем»
Вариант №1
Выполнил Студент гр. 730-2
Подойницын К.В.
____Фатеев А.В.
____Астра Г.А.
13.01.2023
Принял Преподаватель каф. КИБЭВС
Давыдова Е.М. 13.01.2023
Томск 2023
Введение
Целью данной работы является изучение и осуществление
тестирования.
2
Ход работы
Согласно варианту было необходимо написать функцию, которая
будет производить поиск наибольшего общего делителя.
using System;
namespace TIMP1
{
class Program
{
public static void Main(string[] args)
{
function();
}
private static void function()
{
int a, b, i; start:
Console.Write("Введите b:");
b = Convert.ToInt32(Console.ReadLine()); Console.Write("Введите a:");
a = Convert.ToInt32(Console.ReadLine()); if (a < 0)
{
a = a * (-1);
}
if (b < 0)
{
b = b * (-1);
}
if ((a == 0) || (b == 0))
{
Console.Write("Числа не могут быть нулями\n"); goto start;
}
else
{
for (i = a; i > 0; i--)
{
if (a % i == 0)
{
if (b % i == 0)
{
3
break;
}
}
}
Console.Write(i);
Console.ReadLine();
}
}
}
}
4
Далее напишем модульный тест покрывающий нашу функцию.
namespace TIMP1
{
public class Program
{
public int func(int a, int b)
{
int i=a;
if (a <= 0)
{
a = a * (-1); if (a == 0)
{
i = -1; return i;
}
}
if (b < 0)
{
b = b * (-1);
}
for (i = a; i > 0; i--)
{
if (a % i == 0)
{
if (b % i == 0)
{
break;
}
}
}
return(i);
}
}
}
5
namespace testtimp
{
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
int a = 3; int b = 0;
int expected = 3;
TIMP1.Program test = new TIMP1.Program(); int actual = test.func(a, b);
Assert.AreEqual(expected, actual);
}
}
}
6
namespace testtimp
{
[TestClass]
public class UnitTest3
{
[TestMethod]
public void TestMethod3()
{
int a = 4; int b = 8;
int expected = 4;
TIMP1.Program test = new TIMP1.Program(); int actual = test.func(a, b);
Assert.AreEqual(expected, actual);
}
}
}
7
namespace testtimp
{
[TestClass]
public class UnitTest2
{
[TestMethod]
public void TestMethod2()
{
int a = -1; int b = 1;
int expected = 1;
TIMP1.Program test = new TIMP1.Program(); int actual = test.func(a, b);
Assert.AreEqual(expected, actual);
}
}
}
8
namespace testtimp
{
[TestClass]
public class UnitTest4
{
[TestMethod]
public void TestMethod4()
{
int a = -1; int b = -1;
int expected = 1;
TIMP1.Program test = new TIMP1.Program(); int actual = test.func(a, b);
Assert.AreEqual(expected, actual);
}
}
}
9
Далее произведем тестирование базового пути. Для начала нарисуем граф для псевдокода. Граф представлен на рисунке 1.
Рисунок 1 - Потоковый граф для псевдокода
10