Интеграционное тестирование



Исходя из различий между модульным тестированием и системным тестированием, интеграционное тестирование является переходным этапом между представлением программы в виде отдельных модулей в вид полностью функциональной системы.

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

Так как модули соединяются между собой с помощью предусмотренных реализацией интерфейсов и в процессе тестирования у нас нет потребности рассматривать внутреннюю структуру компонентов, можно утверждать, что интеграционное тестирование выполняется методом «черного ящика».

Объект тестирования выделен красным цветом.


Существует несколько подходов к интеграционному тестированию:


  • Снизу вверх. Сначала собираются и тестируются модули самих нижних уровней, а затем по возрастанию к вершине иерархии. Данный подход требует готовности всех собираемых модулей на всех уровнях системы.
  • Сверху вниз. Данный подход предусматривает движение с высокоуровневых модулей, а затем направляется вниз. При этом используются заглушки для тех модулей, которые находятся ниже по уровню, но включение которых в тест еще не произошло.
  • Большой взрыв. Все модули всех уровней собираются воедино, а затем тестируется. Данный метод экономит время, но требует тщательной проработки тест кейсов.


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


  1. Система непрерывной интеграции производит мониторинг системы контроля версий.
  2. При изменении исходных кодов в репозитории производится обновление локального хранилища.
  3. Выполняются необходимые проверки и модульные тесты.
  4. Исходные коды компилируются в готовые выполняемые модули.
  5. Выполняются тесты интеграционного уровня.
  6. Генерируется отчет о тестировании.


Это позволяет тестировать систему сразу после внесения изменений, что существенно сокращает время обнаружения и исправления ошибок.




Полезные ссылки:

Integration testing /article/eng

Integration testing /article/eng

Integration testing /article/rus

Testing levels /video tutorial/eng

Integration testing /video tutorial/eng

Содержание