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

