Интеграционное тестирование , также называемое интеграцией и тестированием , сокращенно I&T , представляет собой форму тестирования программного обеспечения , при которой несколько частей программной системы тестируются как группа.
Интеграционное тестирование описывает тесты, которые выполняются на уровне интеграции в отличие от тестирования на уровне модуля или системы .
Часто интеграционное тестирование проводится для оценки соответствия компонента функциональным требованиям . [1]
В структурированном процессе разработки интеграционное тестирование берет в качестве входных данных модули , прошедшие модульное тестирование, группирует их в более крупные агрегаты, применяет тесты, определенные в плане интеграционного тестирования , и предоставляет в качестве выходных данных результаты тестирования в качестве шага, ведущего к системному тестированию. [2]
Некоторые различные типы интеграционного тестирования: big-bang, mixed (sandwich), risky-hardest, top-down и bottom-up . Другие шаблоны интеграции [3] : интеграция сотрудничества, backbone integration, layer integration, client-server integration, distribution services integration и high frequency integration.
В тестировании big-bang большинство разработанных модулей объединяются вместе, чтобы сформировать полную программную систему или большую часть системы, а затем используются для интеграционного тестирования. Этот метод очень эффективен для экономии времени в процессе интеграционного тестирования [ требуется цитата ] . Однако, если тестовые случаи и их результаты не записаны должным образом, весь процесс интеграции будет более сложным и может помешать команде тестирования достичь цели интеграционного тестирования.
При тестировании снизу вверх сначала тестируются компоненты самого низкого уровня, а затем используются для облегчения тестирования компонентов более высокого уровня. Процесс повторяется до тех пор, пока не будет протестирован компонент наверху иерархии. Все нижние или низкоуровневые модули, процедуры или функции интегрируются и затем тестируются. После интеграционного тестирования интегрированных модулей более низкого уровня будет сформирован следующий уровень модулей, который может использоваться для интеграционного тестирования. Этот подход полезен только тогда, когда все или большинство модулей одного уровня разработки готовы. Этот метод также помогает определить уровни разработанного программного обеспечения и упрощает отчет о ходе тестирования в виде процентов.
При нисходящем тестировании сначала тестируются верхние интегрированные модули, а затем ветвь модуля тестируется шаг за шагом до конца соответствующего модуля.
Тестирование сэндвича сочетает в себе тестирование сверху вниз с тестированием снизу вверх. Одним из ограничений этого вида тестирования является то, что любые условия, не указанные в указанных интеграционных тестах, за исключением подтверждения выполнения элементов дизайна, как правило, не будут тестироваться.