Файл: Управление качеством промышленного программного обеспечения.docx

ВУЗ: Не указан

Категория: Отчет по практике

Дисциплина: Не указана

Добавлен: 10.11.2023

Просмотров: 38

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Ниже приведены скрипты предусловия и скрипты тестовых случаев.



Рисунок 1.1.3 – Тестовый случай для хранимой процедуры «СоздатьНовогоКлиента»

В данном случае в качестве условия теста задано «число строк».

На рисунке 1.1.4 приведено предусловия для проверки выполнения ХП «Разместить новый заказ».



Рисунок 1.1.4 – Предусловие для хранимой процедуры «Разместить новый заказ»

На рисунке 1.1.5 приведен тестовый случай для проверки выполнения ХП «Разместить новый заказ».



Рисунок 1.1.5 – Тестовый случай для хранимой процедуры «Разместить новый заказ»

На рисунке 1.1.6 приведено предусловие для проверки выполнения ХП «Создание заказа».



Рисунок 1.1.6 – Предусловие для хранимой процедуры «Создание заказа»

На рисунке 1.1.7 приведен тестовый случай для проверки выполнения ХП «Создание заказа».



Рисунок 1.1.7 – Тестовый случай для хранимой процедуры «Создание заказа»

На рисунке 1.1.8 приведено предусловие для проверки выполнения ХП «Показать детали заказа».



Рисунок 1.1.8 – Предусловие для хранимой процедуры «Показать детали заказа»

На рисунке 1.1.9 приведен тест для проверки выполнения ХП «Показать детали заказа». В качестве условия теста были использованы «Контрольная сумма» и «Ожидаемая сумма».



Рисунок 1.1.9 – Тестовый случай для хранимой процедуры «Показать детали заказа»

Для определения контрольной суммы настроена конфигурация контрольной суммы с помощью скрипта, представленного на рисунке 1.1.10.



Рисунок 1.1.10 – Настройка конфигурации контрольной суммы


Для проверки ХП «Отмена заказа» необходимо обновить процедуру.

На рисунке 1.1.11. представлен скрипт первоначальной ХП «Отмена заказа».



Рисунок 1.1.11 – Первоначальный вид ХП «Отмена заказа»

После обновления ХП внесены изменения в рамках предусловия, которое представлено на рисунке 1.1.12.



Рисунок 1.1.12 – Обновление ХП «Отмена заказа»

На рисунке 1.1.13 приведено предусловие для проверки выполнения ХП «Отмена заказа».



Рисунок 1.1.13 – Предусловие для проверки ХП «Отмена заказа»

На рисунке 1.1.14 приведен тестовый случай для проверки ХП «Отмена заказа».



Рисунок 1.1.14 – Тестовый случай для проверки выполнения ХП «Отмена заказа»

На рисунке 1.1.15 представлены результаты выполнения всех тестовых случаев, которые подробно описаны в таблице 1.1.2.



Рисунок 1.1.15 – Результаты выполнения тестовых скриптов SQL

1.2. Тестирование приложения типа Windows Form «Калькулятор»

Для проведения модульного тестирования взят проект «Калькулятор», созданный в Visual Studio 2013 на языке программирования C#. Проект разбит на две части Интерфейс и Логику. Логика приложения – это классы и функции, реализованные в приложении, которые хранятся в одноименной DLL-библиотеке.

Содержимое DLL-библиотеки «Логика»:

public class Var

{

public static double result = 0;

public static char op = Convert.ToChar(0);

}

public class Constants

{

public static string Pi = Convert.ToString(Math.PI);

}

public class Operations

{

public static string neg(string answ)

{

return Convert.ToString(-Convert.ToDouble(answ));

}

public static string sin(string answ)

{

return Convert.ToString(Math.Round(Math.Sin(Convert.ToDouble(answ) * Math.PI / 180), 10));

}

public static string cos(string answ)

{

return Convert.ToString(Math.Round(Math.Cos(Convert.ToDouble(answ) * Math.PI / 180), 10));

}

public static string tg(string answ)

{

if (!double.IsInfinity(Math.Round(Math.Sin(Convert.ToDouble(answ) * Math.PI / 180), 10) / Math.Round(Math.Cos(Convert.ToDouble(answ) * Math.PI / 180), 10)))

{

return Convert.ToString(Math.Round(Math.Sin(Convert.ToDouble(answ) * Math.PI / 180), 10) / Math.Round(Math.Cos(Convert.ToDouble(answ) * Math.PI / 180), 10));



}

else

{

return null;

}

}

public static string ctg (string answ)

{

if (!double.IsInfinity(1 / (Math.Round(Math.Sin(Convert.ToDouble(answ) * Math.PI / 180), 10) / Math.Round(Math.Cos(Convert.ToDouble(answ) * Math.PI / 180), 10))))

{

return Convert.ToString(1 / (Math.Round(Math.Sin(Convert.ToDouble(answ) * Math.PI / 180), 10) / Math.Round(Math.Cos(Convert.ToDouble(answ) * Math.PI / 180), 10)));

}

else

{

return null;

}

}

public static string sqr(string answ)

{

return Convert.ToString(Math.Pow((Convert.ToDouble(answ)),2));

}

public static string sqrt(string answ)

{

return Convert.ToString(Math.Sqrt(Convert.ToDouble(answ)));

}

public static string ret(string answ)

{

if ((Convert.ToDouble(answ)!=0))

{

return Convert.ToString(1/(Convert.ToDouble(answ)));

}

else

{

return null;

}

}
}

Таблица 1.2.1 – Описания классов и функций

Название класса/функции

Назначение

1. Var

Класс необходимый для вывода и подсчета результатов выполняемых вычислений в калькуляторе.

2. Constants

Класс, в котором хранятся используемые в приложении константы.

3. Operations

Класс, содержащий функции, реализованные в приложении.

4. neg

Функция изменяющая знак на противоположный.

5. sin

Функция возвращающая синус введенного угла (в градусах).

6. cos

Функция возвращающая косинус введенного угла (в градусах).

7. tg

Функция возвращающая тангенс введенного угла (в градусах).

8. ctg

Функция возвращающая котангенс введенного угла (в градусах).

9. sqr

Функция возвращающая квадрат введенного числа.

10. sqrt

Функция возвращающая корень введенного неотрицательного числа.

11. ret

Функция возводящая введенное число в степень -1.

Для проведения модульного тестирования создано 15 тестов, проверяющих правильную работу функций:

[TestMethod]

public void Sum_2Plus5_7Returned()

{

Var.op='+';

Var.result = Convert.ToDouble(2);

Var.result += Convert.ToDouble(5);

Assert.AreEqual(7, Var.result);

}
[TestMethod]

public void Difference_5Minus3_2Returned()

{

Var.op = '-';

Var.result = Convert.ToDouble(5);

Var.result -= Convert.ToDouble(3);


Assert.AreEqual(2, Var.result);

}
[TestMethod]

public void Multiplication_3Multiply6_18Returned()

{

Var.op = '*';

Var.result = Convert.ToDouble(3);

Var.result *= Convert.ToDouble(6);

Assert.AreEqual(18, Var.result);

}
[TestMethod]

public void Division_9Split3_3Returned()

{

Var.op = '/';

Var.result = Convert.ToDouble(9);

Var.result /= Convert.ToDouble(3);

Assert.AreEqual(3, Var.result);

}
[TestMethod]

public void Negative_5Neg_n5Returned()

{

string str = Operations.neg("5");

Assert.AreEqual("-5", str);

}
[TestMethod]

public void Sin_90Sin_1Returned()

{

string str = Operations.sin("90");

Assert.AreEqual("1", str);

}
[TestMethod]

public void Cos_0Cos_1Returned()

{

string str = Operations.cos("0");

Assert.AreEqual("1", str);

}
[TestMethod]

public void Tg_0Tg_0Returned()

{

string str = Operations.tg("0");

Assert.AreEqual("0", str);

}
[TestMethod]

public void Tg_90Tg_NullReturned()

{

string str = Operations.tg("90");

Assert.AreEqual(null, str);

}
[TestMethod]

public void Ctg_45Ctg_1Returned()

{

string str = Operations.ctg("45");

Assert.AreEqual("1", str);

}
[TestMethod]

public void Ctg_0Ctg_NullReturned()

{

string str = Operations.ctg("0");

Assert.AreEqual(null, str);

}
[TestMethod]

public void Square_4Sqr_16Returned()

{

string str = Operations.sqr("4");

Assert.AreEqual("16", str);

}
[TestMethod]

public void SquareRoot_4Sqrt_2Returned()

{

string str = Operations.sqrt("4");

Assert.AreEqual("2", str);

}
[TestMethod]

public void SquareRoot_n4Sqrt_NanReturned()

{

string str = Operations.sqrt("-4");

Assert.AreEqual("NaN", str);

}
[TestMethod]

public void Reverse_4Ret_025Returned()

{

string str = Operations.ret("4");

Assert.AreEqual("0,25", str);

}

Результаты тестирования сведены в таблицу 1.2.2.

Таблица 1.2.2 – Описание модульных тестов

Предусловие

Тестовый сценарий (шаги)

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

Фактический результат

Послесловие

Инициализация переменных значениями 2 и 5.

Выполнить метод сложения двух чисел.

Результат равен 7.

Тест пройден.




Инициализация переменных значениями 5 и 3.

Выполнить метод нахождения разности двух чисел.

Результат равен 2.

Тест пройден.




Инициализация переменных значениями 3 и 6.

Выполнить метод умножения двух чисел.

Результат равен 18.

Тест пройден.




Инициализация переменных значениями 9 на 3.

Выполнить метод деления чисел.

Результат равен 3.

Тест пройден.




Инициализация переменной значением 5.

Изменить знак числа на отрицательный.

Результат равен -5.

Тест пройден.




Инициализация переменной значением 90 градусов.

Выполнить метод расчёта синуса угла.

Результат равен 1.

Тест пройден.




Инициализация переменной значением 0 градусов.

Выполнить метод расчёта косинуса угла.

Результат равен 0.

Тест пройден.




Инициализация переменной значением 0 градусов.

Выполнить метод расчёта тангенса 0 градусов.

Результат равен 0.

Тест пройден.




Инициализация переменной значением 90 градусов.

Выполнить метод расчёта тангенса 90 градусов. Проверить, что он не существует.

Результат равен null.

Тест не пройден.




Инициализация переменной значением 45 градусов.

Выполнить метод расчёта котангенса 45 градусов.

Результат равен 1.

Тест пройден.




Инициализация переменной значением 0 градусов.

Выполнить метод расчёта котангенса 0 градусов. Проверить, что он не существует.

Результат равен null.

Тест пройден.




Инициализация переменной значением 4.

Выполнить метода извлечения квадрата числа.

Результат равен 16.

Тест пройден.




Инициализация переменной значением 4.

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

Результат равен 2.

Тест пройден.




Инициализация переменной значением -4.

Выполнить метод извлечения квадратного корня из числа -4. Проверить, что он не существует.

Результат равен NaN.

Тест пройден.




Инициализация переменной значением 4 и -1.

Выполнить метод возведения числа в степень.

Результат равен 0,25.

Тест пройден.






Найдена ошибка при тестировании метода расчета тангенса от 90 градусов.

Описание ошибки приведено в таблице 1.2.3.

Таблица 1.2.3 – Описание ошибки при тестировании метода расчета тангенса угла

Короткое описание

Ошибка расчета метода тангенса угла

Проект

Калькулятор

Номер версии

1.0

Серьезность

Незначительная

Приоритет

Средний

Автор

-

Назначен на

Щукова Кристина

Окружение

Конфигурация (ОС, браузер и т.д.)

OC Windows 8 x64

Шаги воспроизведения

1. Инициализация переменной угла значением 90 градусов.

2. Выполнение метода расчета тангенса угла.

Фактический результат

1,63317787283838E+16

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

Null

Дополнения

Фрагмент ошибки

Фрагмент ошибки при выполнении метода расчета тангенса угла:



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

Необходимо внести следующие изменения в метод:





1.3. Тестирование интерфейса приложения типа Windows Form «Калькулятор»

Выполнено тестирование интерфейса проекта «Калькулятор». Интерфейс представлен на рисунке 1.3.1.



Рисунок 1.3.1 – Интерфейс приложения «Калькулятор»

Для тестирования были созданы 5 методов, содержащие записанные шаги, и 5 методов проверки выполнения методов.

public void Plus()

{

#region Variable Declarations

WinButton uIItem1Button = this.UIКалькуляторWindow.UIItem1Window.UIItem1Button;