Интеграционное тестирование: что это, виды

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

Что такое интеграционное тестирование

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

  • при изменении требований заказчика, которые не учтены при других видах проверок;

  • при разработке отдельных компонентов тестировщиками с различиями в понимании логики программирования;

  • при риске ошибочных интерфейсов программных составляющих;

  • при вероятности недоработок в обработке исключений.

Причиной проведения тестирования также становится риск ошибок во внешних аппаратных интерфейсах. Проверка направлена на контроль совместимости, выявление дефектов на ранней стадии и повышение надежности ПО.

Виды интеграционного тестирования

Непрерывное интеграционное тестирование предусматривает проверку компонентов по мере разработки. Это помогает удостовериться в отсутствии дефектов при переходе к следующему компоненту. Также компании по тестированию программного обеспечения https://tquality.ru/ используют:

  • тестирование «Большого взрыва» - проверку при одновременной интеграции всех компонентов;

  • тестирование интеграции «снизу вверх» - тестирование модулей низких уровней с компонентами высоких;

  • тестирование «сверху вниз» - проверку по потоку управления программного обеспечения;

  • сэндвич или проверку гибридной интеграции – комбинацию подходов сверху вниз и снизу вверх;

  • инкрементальный подход – объединение нескольких модулей с последующим добавлением остальных.

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

Пример проведения интеграционного тестирования

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

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