| .docx | |
|---|---|
| report | report | 
Провести интеграционное тестирование программы, осуществляющей вычисление системы функций (в соответствии с вариантом).
Функция определяется как:
x <= 0 : (((((tan(x) - sec(x)) - csc(x)) ^ 2) - tan(x)) * ((sin(x) / tan(x)) - (tan(x) / cos(x))))
x > 0 : (((((log_2(x) ^ 2) / ln(x)) / log_3(x)) ^ 3) * (ln(x) / (log_3(x) / (log_10(x) / log_2(x)))))
- Все составляющие систему функции (как тригонометрические, так и логарифмические) должны быть выражены через базовые (тригонометрическая зависит от варианта; логарифмическая – натуральный логарифм).
 - Структура приложения, тестируемого в рамках лабораторной работы, должна выглядеть следующим образом (пример приведён для базовой тригонометрической функции 
sin(x)): 
  
  
- Обе «базовые» функции (в примере выше – 
sin(x)иln(x)) должны быть реализованы при помощи разложения в ряд с задаваемой погрешностью. Использовать тригонометрические / логарифмические преобразования для упрощения функций запрещено. - Для каждого модуля должны быть реализованы табличные заглушки. При этом, необходимо найти область допустимых значений функций, и, при необходимости, определить взаимозависимые точки в модулях.
 - Разработанное приложение должно позволять выводить значения, выдаваемое любым модулем системы, в 
сsvфайл вида «X, Результаты модуля (X)», позволяющее произвольно менять шаг наращиванияХ. Разделитель в файлеcsvможно использовать произвольный. 
- Разработать приложение, руководствуясь приведёнными выше правилами.
 - С помощью 
JUnit 5разработать тестовое покрытие системы функций, проведя анализ эквивалентности и учитывая особенности системы функций. Для анализа особенностей системы функций и составляющих ее частей можно использовать сайт www.wolframalpha.com. - Собрать приложение, состоящее из заглушек. Провести интеграцию приложения по 1 модулю, с обоснованием стратегии интеграции, проведением интеграционных тестов и контролем тестового покрытия системы функций.
 
- Текст задания, систему функций.
 - UML-диаграмму классов разработанного приложения.
 - Описание тестового покрытия с обоснованием его выбора.
 - Графики, построенные по 
csv-выгрузкам, полученным в процессе интеграции приложения. - Выводы по работе.
 
- Цели и задачи интеграционного тестирования. Расположение фазы интеграционного тестирования в последовательности тестов; предшествующие и последующие виды тестирования ПО.
 - Алгоритм интеграционного тестирования.
 - Концепции и подходы, используемые при реализации интеграционного тестирования.
 - Программные продукты, используемые для реализации интеграционного тестирования. Использование 
JUnitдля интеграционных тестов. - Автоматизация интеграционных тестов. ПО, используемое для автоматизации интеграционного тестирования.
 
Тригонометрические функции:
| Класс | Зависимости | Формула | 
|---|---|---|
Sine | 
— | Ряд Тейлора | 
Cosine | 
Sine | 
sin(π/2 - x) | 
Cosecant | 
Sine | 
1/sin(x) | 
Secant | 
Cosine | 
1/cos(x) | 
Tangent | 
Sine + Cosine | 
sin(x)/cos(x) | 
Cotangent | 
Sine + Cosine | 
cos(x)/sin(x) | 
Логарифмические функции:
| Класс | Зависимости | Формула | Особенности реализации | 
|---|---|---|---|
NaturalLogarithm | 
— | Ряд Тейлора для ln(1+x) | 
Использует преобразование аргумента через (x-1)/(x+1) | 
BaseNLogarithm | 
NaturalLogarithm | 
logₐ(x) = ln(x)/ln(a) | 
Поддерживает произвольное основание через конструктор | 
| Ссылка | Описание | 
|---|---|
| github.com/RedGry/ITMO/TPO/ТПО 2 - Подготовка.pdf | Подготовка к защите ЛР 2 | 
| github.com/band-of-four/cheatsheets/testing/lab2.md | Ответы на вопросы с se.ifmo.ru | 
| youtu.be/nU1Rvo8YyeY | Лекция ТПО #3. Модульное и интеграционное тестирование | 
| katalon.com/blog/integration-testing | What is Integration Testing? Definition, How-to, Examples | 
| guru99.com/equivalence-partitioning-boundary-value-analysis.html | Boundary Value Analysis and Equivalence Partitioning | 
| site.mockito.org | Примеры с Mockito | 
| www.baeldung.com/parameterized-tests-junit-5 | Guide to JUnit 5 Parameterized Tests | 
| mathworld.wolfram.com/TaylorSeries.html | Разложение тригонометрических функций в ряды Тейлора | 
| wikipedia.org/wiki/Natural_logarithm | Ряды для натурального логарифма и преобразования между разными основаниями | 
Проект доступен с открытым исходным кодом на условиях Лицензии MIT. 
Авторские права 2025 Max Barsukov
Поставьте звезду ⭐, если вы нашли этот проект полезным.
