Похожие презентации:
Основные подходы к интегрированию программных модулей. Разработка через тестирование. Модульное тестирование
1.
Основ ны е подходы к интегрированиюпрограммны х модулей. Разработка
через тестирование. Модул ь ное
тестирование. Ф ункционал ь ное
тестирование.
2.
Понятие интеграции программныхмодулей
Интеграция программных модулей – это процесс объединения
различных компонентов системы в единую структуру с целью
обеспечения непрерывной работы и взаимодействия между
модулями.
3.
Горизонтал ь ная интеграция- это объединение компонентов, находящихся на одном уровне
иерархии.
Цел ь — обеспечить взаимодействие между различными
системами, не привязываясь к их внутренней структуре.
4.
ПринципПодсистемы подключаются не
напрямую, а косвенно через
специализированную систему —
корпоративную сервисную
шину (ESB или middleware).
Шина хранит репозиторий
функционала корпоративных
приложений, подключённых к ней,
и обеспечивает возможность
использования этих функций
другими приложениями, также
подключёнными к шине.
5.
Преимущества горизонтальной интеграции:- Легкость масштабирования.
- Независимость компонентов.
- Локальное обновление без риска конфликта.
- Быстрая адаптация к новым технологиям.
Недостатки горизонтальной интеграции:
- Сложность разработки адаптеров.
- Высокие затраты на создание и обслуживание.
- Возможная потеря производительности.
- Нагрузка на сетевые ресурсы.
- Трудности централизованного контроля бизнес-процессов.
6.
Вертикал ь ны й подход— это подход к объединению систем, которые находятся на
разных уровнях иерархии в одной организации или сети.
Цель — обеспечить последовательное соединение
компонентов с учётом их функциональных зависимостей, чтобы
создать единую функциональную структуру для обмена
информацией и взаимодействия между системами.
7.
ПринципСистемы интегрируются по принципу функциональных экспертиз
(области функциональности).
8.
Преимущества вертикальной интеграции:- Четко выраженное распределение ролей каждого модуля.
- Оптимизация внутренней согласованности процессов внутри
каждого слоя.
- Прозрачность и управляемость логики обработки данных.
Недостатки:
- Жесткая привязанность верхнего уровня к нижнему уровню,
усложняющая замену модулей.
- Ограниченность возможности параллельного выполнения
операций.
- Рост зависимости между элементами системы, затрудняя
тестирование и модернизацию.
9.
Интеграция «многие ко многим»(звезда, спагетти)
— это подход к объединению информационных систем, при
котором каждая система может обращаться к функционалу
любой другой системы, при этом каждая система может также
использоваться любой другой системой.
10.
ПринципКаждая из используемых в
компании систем может при
необходимости обращаться к
функционалу любой другой
системы, при этом каждая из
них может также
использоваться любой
другой системой.
Интеграция «многие ко
многим» может быть:
- Односторонней
- Двусторонней
11.
Преимущества:- Гибкость и высокая устойчивость к отказам.
- Эффективное использование ресурсов благодаря множественным
каналам коммуникаций.
- Улучшенная производительность за счёт параллельности
обработки запросов.
Недостатки:
- Усложнённость администрирования и мониторинга.
- Возникают проблемы координации данных между всеми
участниками.
- Риск избыточности данных и дублирования информации.
12.
Интеграция точка-точка- это прямое соединение между двумя компонентами без
промежуточных агентов или интерфейсов.
13.
Интеграция через APIИнтеграция через специальные интерф ейсы,
называемые API, которые позволяют модулям
обмениваться данными и ф ункциями.
14.
Интеграция на основе сообщенийИнтеграция на основе сообщений – это процесс
передачи данных и команд между модулями с
использованием специальных сообщений.
15.
Интеграция на основе баз данныхИнтеграция на основе баз данных – это
объединение различных модулей путем
реализации доступа к общей базе данных.
16.
Интеграция на основе файловогов заимодейств ия
– это совместное использование и обмен файлами
между модулями для передачи данных и синхронизации.
17.
Интеграция в виде микросервисовИнтеграция с использованием микросервисной
архитектуры, где каждый модуль является отдельным
сервисом, обменивающимся данными и ф ункциями с
другими сервисами.
18.
Совместное испол ь зование службСовместное использование служб – это
использование общих служб или ресурсов
различными программными модулями для
выполнения задач и достижения общих целей
системы.
19.
Отсутствиенеобходимости
в интеграции
20.
Разработка через тестирование(tes t-driven development, TDD)
- техника разработки программного обеспечения, которая
основывается на повторении очень коротких циклов
разработки: сначала пишется тест, покрывающий желаемое
изменение, затем пишется код, который позволит пройти тест,
и под конец проводится рефакторинг нового кода к
соответствующим стандартам.
21.
Цикл разработки через тестирование22.
Модул ь ное тестирование(unit testingunit testing, блочное тестирование)
— процесс в программировании, позволяющий проверить на
корректность отдельные модули исходного кода программы, наборы
из одного или более программных модулей вместе с
соответствующими управляющими данными, процедурами
использования и обработки.
Цел ь — изолировать отдельные части программы и показать, что по
отдельности эти части работоспособны. Также, чтобы проверить, что
каждая единица программного кода работает должным образом.
Данный вид тестирование выполняется разработчиками на этапе
кодирования приложения. Модульные тесты изолируют часть кода и
проверяют его работоспособность
23.
Модул ь ное тестиров ание неэф ф ектив но в сл едующихсл учаях :
- Сложный код
- Расчёт точности результата
- Работа с системой
- Многопоточность
- Ошибки интеграции и производительности
- Низкий уровень культуры программирования
- Проблемы с объектами-заглушками
- Разработка встраиваемого ПО
24.
Функциональное тестирование- это процесс обеспечения в рамках цикла разработки программного
обеспечения, необходимый для проверки реализуемости
функциональных требований, согласно спецификации тестируемого
программного обеспечения. Функциональное тестирование
проводится для оценки соответствия системы или компонента
заданным функциональным требованиям.
25.
Чёрный ящик26.
Типы функционального тестирования- Дымовой тест: набор тестов на явные ошибки в основной
функциональности
- Проверка работоспособности: базовый тест для быстрой
оценки того, может ли результат вычислений быть истинным.
- Регрессионное тестирование: это процесс повторного
тестирования программного обеспечения после внесения
изменений в код.
- Юзабилити-тестирование: это проверка удобства работы с
программным продуктом для конечных пользователей.
Программное обеспечение