Введение
Тип тестирования программного обеспечения
Интеграционное тестирование, также называемое тестированием интеграции, сокращенно I&T, — это вид тестирования программного обеспечения, при котором несколько компонентов программной системы тестируются как единое целое. Интеграционное тестирование описывает тесты, выполняемые на уровне интеграции, в отличие от тестирования на уровне отдельных модулей или системы в целом. Часто интеграционное тестирование проводится для оценки соответствия компонента функциональным требованиям. В структурированном процессе разработки интеграционное тестирование принимает на вход модули, прошедшие модульное тестирование, объединяет их в более крупные агрегаты, применяет тесты, определенные в плане интеграционного тестирования, и выдает результаты тестирования как шаг, предшествующий системному тестированию.
Подход
Существуют различные типы интеграционного тестирования, такие как: "большой взрыв", смешанный (бутербродный), рискованный, наиболее сложный, сверху вниз и снизу вверх. Другие модели интеграции включают: интеграцию посредством сотрудничества, интеграцию на основе магистрали, интеграцию слоев, интеграцию клиент-сервер, интеграцию распределенных сервисов и высокочастотную интеграцию. При тестировании методом "большой взрыв" большинство разработанных модулей объединяются для формирования полной программной системы или ее основной части, после чего проводится интеграционное тестирование. Этот метод очень эффективен для экономии времени в процессе интеграционного тестирования. Однако, если тестовые примеры и их результаты не будут должным образом задокументированы, весь процесс интеграции станет более сложным и может помешать команде тестирования достичь цели интеграционного тестирования. При тестировании снизу вверх сначала тестируются компоненты самого нижнего уровня, а затем они используются для облегчения тестирования компонентов более высокого уровня. Процесс повторяется до тех пор, пока не будет протестирован компонент, находящийся на вершине иерархии. Все модули, процедуры или функции нижнего уровня интегрируются и затем тестируются. После интеграционного тестирования интегрированных модулей нижнего уровня формируется следующий уровень модулей, который можно использовать для интеграционного тестирования. Этот подход полезен только тогда, когда готовы все или большинство модулей одного уровня разработки. Этот метод также помогает определить уровни разработки программного обеспечения и упрощает отчетность о ходе тестирования в процентах. При тестировании сверху вниз сначала тестируются верхние интегрированные модули, а затем ветви модуля тестируются поэтапно до конца соответствующего модуля. Бутербродное тестирование сочетает в себе тестирование сверху вниз и снизу вверх. Ограничением такого подхода является то, что любые условия, не указанные в определенных интеграционных тестах, и не относящиеся к подтверждению выполнения элементов проектирования, как правило, не будут протестированы.