С каждым годом частота релизов, обновления ПО растет, поэтому перед разработчиками встает вопрос ускорения процесса. Однако попытки добиться этой цели в ущерб тестированию продукта приводят к нежелательным результатам. Выход программного обеспечения с дефектами и ошибками вызывает негативную реакцию пользователей, поэтому тестирование интеграции требует внимательного подхода.
Что такое интеграционное тестирование
Тестирование программных компонентов как единой группы называется интеграционным. Задача проверки заключается в выявлении ошибок, возникающих при взаимодействии между частями ПО, при обмене данными между ними. Провести интеграционное функциональное тестирование необходимо:
-
при изменении требований заказчика, которые не учтены при других видах проверок;
-
при разработке отдельных компонентов тестировщиками с различиями в понимании логики программирования;
-
при риске ошибочных интерфейсов программных составляющих;
-
при вероятности недоработок в обработке исключений.
Причиной проведения тестирования также становится риск ошибок во внешних аппаратных интерфейсах. Проверка направлена на контроль совместимости, выявление дефектов на ранней стадии и повышение надежности ПО.
Виды интеграционного тестирования
Непрерывное интеграционное тестирование предусматривает проверку компонентов по мере разработки. Это помогает удостовериться в отсутствии дефектов при переходе к следующему компоненту. Также компании по тестированию программного обеспечения https://tquality.ru/ используют:
-
тестирование «Большого взрыва» - проверку при одновременной интеграции всех компонентов;
-
тестирование интеграции «снизу вверх» - тестирование модулей низких уровней с компонентами высоких;
-
тестирование «сверху вниз» - проверку по потоку управления программного обеспечения;
-
сэндвич или проверку гибридной интеграции – комбинацию подходов сверху вниз и снизу вверх;
-
инкрементальный подход – объединение нескольких модулей с последующим добавлением остальных.
Каждый вариант имеет плюсы и минусы. Подход «большого взрыва» удобен для компактных продуктов, но создает сложности с локализацией багов, работой с многочисленными интерфейсами. При интеграции «снизу вверх» отсутствуют задержки, связанные с ожиданием разработки остальных компонентов, но критические части тестируются последними. В модели «сверху вниз» можно получить ранний прототип и своевременно исправить критические модули, но низкие уровни могут быть проверены неадекватно.
Пример проведения интеграционного тестирования
Для проведения интеграционного тестирования интернет-магазина необходимо проверить удобство оформления заказа онлайн. Для этого создается личный кабинет, в корзину добавляется товар.
Тестировщик заходит на сайт в качестве покупателя, проверяет товары в корзине, выбирает способ оплаты и вводит платежные данные, нажав кнопку оформления заказа. Далее необходимо убедиться, что платеж обработан, заказ отображен в личном кабинете, данные верны. Так проверяется корректность совместной работы корзины, платежного шлюза и управления заказа.