Разница между интеграционным тестированием сверху вниз и снизу вверх
Содержание
- Сравнительная таблица
- Определение нисходящего интеграционного тестирования
- Определение восходящего интеграционного тестирования
- Вывод
Основное различие между интеграционным тестированием сверху вниз и снизу вверх состоит в том, что в тестировании интеграции сверху вниз используются заглушки для вызова подмодулей, подчиненных основной функции, тогда как в тестировании интеграции снизу вверх заглушки не нужны, вместо этого используются драйверы. , Связанная избыточность больше в случае нисходящего подхода по сравнению с восходящей.
Эти два метода являются частью интеграционного тестирования, которое обеспечивает организованный способ построения структуры программы, одновременно выполняя тесты для выявления ошибок, связанных с интерфейсом. Интеграционное тестирование в основном проводится для объединения компонентов, тестируемых модулем, для построения программы в соответствии с проектными спецификациями.
-
- Сравнительная таблица
- Определение
- Ключевые отличия
- Вывод
Сравнительная таблица
Основа для сравнения | Интеграционное тестирование сверху вниз | Интеграционное тестирование снизу вверх |
---|---|---|
основной | Использует заглушки в качестве мгновенных замен для вызванных модулей и имитирует поведение отдельных модулей нижнего уровня. | Используйте тестовые драйверы для запуска и передачи необходимых данных на нижний уровень модулей. |
выгодный | Если значительный дефект возникает в верхней части программы. | Если критические недостатки встречаются в нижней части программы. |
Подходить | Сначала пишется основная функция, затем из нее вызываются подпрограммы. | Сначала создаются модули, а затем интегрируются с основной функцией. |
Реализовано на | Структурно-процедурные языки программирования. | Объектно-ориентированные языки программирования. |
Анализ риска | Сотрудничество влияние внутренних операционных сбоев. | Модели используются для анализа отдельного процесса. |
сложность | просто | Сложный и интенсивный процесс обработки данных. |
Работает на | Большие до маленьких компонентов. | Малые и большие компоненты. |
Определение нисходящего интеграционного тестирования
интеграционное тестирование сверху вниз это пошаговая методика построения структуры программы. Он включает модули при движении вниз, начиная с основного элемента управления в иерархии. Подмодули затем интегрируются в основной модуль, используя метод глубины или ширины. Основная цель нисходящей интеграции заключается в проверке значимых контрольных точек и точек принятия решений на более ранних этапах процесса тестирования.
Процесс интеграции включает в себя следующие этапы нисходящего подхода:
- Начиная с основного модуля управления, заглушки затем заменяются на компоненты, расположенные под основными модулями.
- Стратегия замены подчиненной заглушки основывается на подходе интеграционного типа (то есть сначала глубина и ширина), но разрешено заменять только одну заглушку фактическими компонентами за раз.
- После интеграции компонентов проводятся испытания.
- По завершении набора тестов оставшаяся заглушка заменяется фактическим компонентом.
- В итоге проводится регрессионный тест, чтобы убедиться в отсутствии новых ошибок.
В нисходящем тестировании используются заглушки для замены низкоуровневых данных, и не допускается поток в восходящем направлении. Для этого есть три способа: во-первых, пока замена заглушек на фактические функции не будет выполнена, другие функции будут отложены. Во-вторых, могут быть созданы новые заглушки, которые могут выполнять ограниченные функции и имитировать фактические заглушки. В последней идее заглушки можно интегрировать снизу вверх. Однако последнее решение называется интеграцией «снизу вверх», которая описана в следующем определении.
Определение восходящего интеграционного тестирования
интеграционное тестирование снизу вверх начинается с построения фундаментальных модулей (то есть элементов программы самого низкого уровня). Он объединяет компоненты, находящиеся на самом низком уровне (то есть на самом низком уровне), обеспечивая процесс и устраняя необходимость в заглушках. По мере того как интеграция идет в верхнем направлении, требования к отдельным тестовым драйверам снижаются. Следовательно, объем накладных расходов также уменьшается по сравнению с подходом тестирования интеграции снизу вверх.
Интеграция снизу вверх включает следующие шаги:
- Он объединяет низкоуровневые элементы, также известные как сборки, в кластеры, которые выполняют определенную программную подфункцию.
- Драйвер (управляющая программа) используется в восходящей интеграции для организации ввода и вывода тестового примера.
- Затем кластер тестируется.
- Кластеры включаются при движении вверх в структуру программы, а драйверы исключаются.
- В нисходящем интеграционном тестировании заглушки используются в качестве замены низкоуровневого. В отличие от этого, в интеграционном тестировании снизу вверх используются драйверы для передачи данных на нижний уровень модулей.
- Основная функция является наиболее важной частью нисходящего интеграционного тестирования, посредством которого вызываются другие подпрограммы. Напротив, подход «снизу вверх» делает упор на модули нижнего уровня и сначала создает и интегрирует их.
- Структурно-процедурные языки программирования реализуют интеграционное тестирование сверху вниз, тогда как тестирование снизу вверх реализовано на объектно-ориентированных языках.
- Чтобы исследовать риск в подходе тестирования сверху вниз, объединяют влияние внутренних операционных дефектов. В отличие от этого, интеграционное тестирование снизу вверх контролирует процесс отдельно с помощью моделей.
- Интеграционное тестирование сверху вниз является простым сравнением тестирования снизу вверх.
- Интеграционное тестирование сверху вниз работает через большие и маленькие компоненты, в то время как подход снизу вверх противоположен этому.
Вывод
В обоих подходах интеграционное тестирование сверху вниз и снизу вверх дает более избыточные результаты и приводит к дополнительным усилиям в виде накладных расходов. И наоборот, восходящий подход сложен, но более эффективен, чем предыдущий.