Интеграционное тестирование - часть большого проекта
Ни одна разработка программного обеспечения не обходится без тестирования исполняемого кода. Фактически, на это уходит половина всего времени, затраченного на разработку, и более половины стоимости проекта. Однако это неотъемлемая часть процесса создания новых приложений, программ, систем.
Интеграционное тестирование как часть большой работы
Один из способов контроля качества программного обеспечения – интеграционное тестирование, на вход которого подаются отдельно взятые модули, протестированные на предыдущем этапе.

Методы сборки модулей
Монолитный метод означает, что все модули, которые в будущем будут подвергнуты интеграционному тестированию, собираются воедино одновременно. Почти наверняка возникают ситуации, когда часть тестируемого комплекса еще не готова.

В таком случае ее заменяют дополнительно разработанными "заглушками", или драйверами.
Наряду с монолитным методом выделяют инкрементальный (его еще называют пошаговым), так как объем тестируемого кода наращивается постепенно, давая локализовать участки с дефектами во взаимосвязях между отдельными частями.
Инкрементальный метод включает в себя два способа добавления модулей:
- сверху-вниз или восходящий,
- снизу-вверх – нисходящий.
Особенности монолитного и инкрементального тестирования
Главный недостаток монолитного вида сборки – большое количество времени и трудозатрат уходит на имитацию недостающих частей тестируемого комплекса. Казалось бы, заглушки - достаточно удобный инструмент тестирования, однако возникают ситуации, когда в процессе приходится создавать заново имитационные части программы. Например, в случае изменения состава тестируемых модулей. Кроме того, эффективность поиска дефектов не так высока, когда работа ведется не с реальным продуктом, а лишь с фиктивным компонентом. Этот же недостаток сопровождает и инкрементальное тестирование с восходящим способом сборки.

Конечно же, оба способа сборки, монолитный и инкрементальный, имеют не только недостатки, но и достоинства. В первом случае появляются отличные возможности для параллельной разработки всех классов и функций, участвующих в тестировании, как на начальном этапе, так и после доработки. Пошаговый же метод менее трудозатратен: модули присоединяются постепенно, и так же постепенно обнаруживаются ошибки и дефекты. Это, как известно, позволяет сократить время на поиск таковых.
Преимущества проведения интеграционного тестирования
На этом этапе проводится колоссальная работа проверки взаимосвязей всех уровней, без чего, конечно же, невозможно дальнейшее тестирование.

- проверка интерфейса взаимодействия между отдельными модулями программы;
- контроль взаимосвязей тестируемого комплекса со сторонними программными решениями;
- тестирование работы внешних компонентов решения;
- контроль соответствия документации по проекту в части взаимодействия отдельных модулей.
Исправление дефектов
Интеграционное тестирование завершено, однако это еще не все. Найденные ошибки фиксируются и отправляются разработчику для исправления, после чего процесс начинается заново.
Во-первых, необходимо проверить, были ли устранены выявленные дефекты. Во-вторых, во время изменения исходного кода могли возникнуть новые ошибки в работе программы и взаимодействии со сторонним ПО.
Хотя в настоящее время и существует большое количество методов контроля качества, по-прежнему немаловажную роль играет интеграционное тестирование. Пример такого вида проверки может наглядно продемонстрировать «узкие» места при разработке программного обеспечения и документации.
Автоматизация тестирования
В зависимости от объема исходного комплекса данных и предметной области разработки может вставать проблема времени тестирования и трудоемкости мероприятия в целом.

Однако автоматизация тестирования не может полностью заменить труд инженера по качеству, а лишь дополнить его.
Итак, интеграционное тестирование – это неотъемлемая часть разработки любого программного обеспечения и один из этапов всего процесса проверки качества продукта. Как и любой метод, он имеет ряд достоинств и недостатков, но без его применения становится невозможной качественная разработка ПО.
Похожие статьи
- BPM-система (business process management, управление бизнес-процессами): обзор, примеры, цели внедрения
- Какие бывают виды тестирования?
- Особенности работы с DLP-системами: описание, задачи, сравнение
- Корпоративный университет РЖД: адрес, дистанционное обучение, отзывы
- Что такое имитационные модели?
- NL International: отзывы, продукция компании. Реальный заработок или очередной обман?
- Инициализация - это приведение программы или устройства в состояние готовности к использованию. Ошибка инициализации - что делать?