Uploaded by lomtik.01

ПиТПМ Лаюораторная №2

advertisement
Министерство образования и науки Хабаровского края
Краевое государственное бюджетное
профессиональное образовательное учреждение
«Комсомольский-на-Амуре колледж технологий и сервиса»
Кафедра математики, информатики и программирования
Специальность 09.02.07 «Информационные системы и программирование»
ОТЧЕТ
по дисциплине МДК 01.02 Поддержка и тестирование программный модулей
Модульное тестирование. Пароль
Выполнили студенты группы 541
Князев В.А.
Преподаватель
Плетнева Е.Г.
2022 г
Цель: изучить возможность создания автоматических тестов, для
модульного тестирования.
Задачи:
Создать проект программы, который будет проверять сложность пароля.
Создать модульный тест для тестирования программы проверки пароля.
Ход работы
В ходе выполнения работы, был создан проект программы, который
содержит код для проверки сложности пароля. Код этой программы
представлен в листинге 1.
Листинг 1
using System;
using System.Collections.Generic;
using System.Linq;
namespace PasswordChecker
{
public class Password
{
public static Dictionary<string, bool> Validate(string password)
{
Dictionary<string, bool> complexity = new Dictionary<string,
bool>()
{
{ "completely_correct", false },
{ "contains_chars_8_to_20", false },
{ "contains_number", false },
{ "contains_symbol", false },
{ "contains_upper_char", false },
{ "contains_lower_char", false }
};
// completely correct
if (password.Length > 7 && password.Length < 21
&& password.Any(Char.IsUpper) && password.Any(Char.IsLower)
&& password.Any(Char.IsSymbol) &&
password.Any(Char.IsNumber))
{
complexity["completely_correct"] = true;
}
// contains char 8 to 20
if (password.Length > 7 && password.Length < 21)
{
complexity["contains_chars_8_to_20"] = true;
}
// contains number
if (password.Any(Char.IsNumber))
{
complexity["contains_number"] = true;
}
// contains symbol
if (password.Any(Char.IsSymbol))
{
complexity["contains_symbol"] = true;
}
// contains upper char
if (password.Any(Char.IsUpper))
{
complexity["contains_upper_char"] = true;
}
// contains lower char
if (password.Any(Char.IsLower))
{
complexity["contains_lower_char"] = true;
}
return complexity;
}
}
}
Для программы проверки сложности пароля был создан проект
модульного тестирования, который тестирует эту программу. Код
модульного теста представлен в листинге 2.
Листинг 2.
using Microsoft.VisualStudio.TestTools.UnitTesting;
using PasswordChecker;
using System;
namespace SolutionTest
{
[TestClass]
public class PasswordTests
{
[TestMethod]
public void ValidateCompletelyCorrect()
{
string checkingPassword = "ASDqwe123$";
bool actual =
Password.Validate(checkingPassword)["completely_correct"];
Assert.IsTrue(actual);
}
[TestMethod]
public void ValidateCharsLessThen8()
{
string checkingPassword = "Aq1$";
bool actual =
Password.Validate(checkingPassword)["contains_chars_8_to_20"];
Assert.IsFalse(actual);
}
[TestMethod]
public void ValidateCharsFrom8To20()
{
string checkingPassword = "ASqw12$$";
bool actual =
Password.Validate(checkingPassword)["contains_chars_8_to_20"];
Assert.IsTrue(actual);
}
[TestMethod]
public void ValidateCharsMoreThen20()
{
string checkingPassword = "ASDqwe123$ASDqwe123$ASDqwe123$";
bool actual =
Password.Validate(checkingPassword)["contains_chars_8_to_20"];
Assert.IsFalse(actual);
}
[TestMethod]
public void ValidateContainsNumber()
{
string checkingPassword = "ASDqwe1$";
bool actual =
Password.Validate(checkingPassword)["contains_number"];
Assert.IsTrue(actual);
}
[TestMethod]
public void ValidateNotContainsNumber()
{
string checkingPassword = "ASDqweASD$";
bool actual =
Password.Validate(checkingPassword)["contains_number"];
Assert.IsFalse(actual);
}
[TestMethod]
public void ValidateContainsSymbol()
{
string checkingPassword = "Aqwe123$";
bool actual =
Password.Validate(checkingPassword)["contains_symbol"];
Assert.IsTrue(actual);
}
[TestMethod]
public void ValidateNotContainsSymbol()
{
string checkingPassword = "ASDqwe123";
bool actual =
Password.Validate(checkingPassword)["contains_symbol"];
Assert.IsFalse(actual);
}
[TestMethod]
public void ValidateContainsUpperChar()
{
string checkingPassword = "Aqwe123$";
bool actual =
Password.Validate(checkingPassword)["contains_upper_char"];
Assert.IsTrue(actual);
}
[TestMethod]
public void ValidateNotContainsUpperChar()
{
string checkingPassword = "asdqwe123$";
bool actual =
Password.Validate(checkingPassword)["contains_upper_char"];
Assert.IsFalse(actual);
}
[TestMethod]
public void ValidateContainsLowerChar()
{
string checkingPassword = "ASDq123$";
bool actual =
Password.Validate(checkingPassword)["contains_lower_char"];
Assert.IsTrue(actual);
}
[TestMethod]
public void ValidateNotContainsLowerChar()
{
string checkingPassword = "ASDQWE123$";
bool actual =
Password.Validate(checkingPassword)["contains_lower_char"];
Assert.IsFalse(actual);
}
}
}
Результат выполнения тестов представлен на рисунке 1.
Рисунок 1 – Результат выполнения тестов
Вывод:
Данная работа направлена на закрепление создания модульных тестов.
В этой работы был создан проект, который проверяет сложность пароля, а
также проект модульного тестирования, который тестирует правильное
выполнение программы проверки сложности пароля.
Исходя из проделанной работы, навыки создания модульных тестов
были закреплены.
Download