ИТМО, ПИиКТ 3 курс. Тестирование программного обеспечения. Лабораторная работа #2
Провести интеграционное тестирование программы, осуществляющей вычисление системы функций (в соответствии с вариантом).
Правила выполнения работы:
Все составляющие систему функции (как тригонометрические, так и логарифмические) должны быть выражены через базовые (тригонометрическая зависит от варианта; логарифмическая - натуральный логарифм).
Структура приложения, тестируемого в рамках лабораторной работы, должна выглядеть следующим образом (пример приведён для базовой тригонометрической функции sin(x)):
Обе "базовые" функции (в примере выше - sin(x) и ln(x)) должны быть реализованы при помощи разложения в ряд с задаваемой погрешностью. Использовать тригонометрические / логарифмические преобразования для упрощения функций ЗАПРЕЩЕНО.
Для КАЖДОГО модуля должны быть реализованы табличные заглушки. При этом, необходимо найти область допустимых значений функций, и, при необходимости, определить взаимозависимые точки в модулях.
Разработанное приложение должно позволять выводить значения, выдаваемое любым модулем системы, в сsv файл вида «X, Результаты модуля (X)», позволяющее произвольно менять шаг наращивания Х. Разделитель в файле csv можно использовать произвольный.
Порядок выполнения работы:
Разработать приложение, руководствуясь приведёнными выше правилами.
С помощью JUNIT4 разработать тестовое покрытие системы функций, проведя анализ эквивалентности и учитывая особенности системы функций. Для анализа особенностей системы функций и составляющих ее частей можно использовать сайт https://www.wolframalpha.com/.
Собрать приложение, состоящее из заглушек. Провести интеграцию приложения по 1 модулю, с обоснованием стратегии интеграции, проведением интеграционных тестов и контролем тестового покрытия системы функций.
Отчёт по работе должен содержать:
Текст задания, систему функций.
UML-диаграмму классов разработанного приложения.
Описание тестового покрытия с обоснованием его выбора.
Графики, построенные csv-выгрузкам, полученным в процессе интеграции приложения.
Выводы по работе.
Вариант 17
x <= 0 : (((((tan(x) ^ 3) / (csc(x) + sin(x))) - cot(x)) ^ 3) / csc(x))
x > 0 : (((((log_10(x) ^ 2) + (log_10(x) ^ 3)) - log_3(x)) - (log_3(x) - log_10(x))) ^ 3)```