Разница между интеграционным тестированием сверху вниз и снизу вверх

Автор: Laura McKinney
Дата создания: 2 Апрель 2021
Дата обновления: 17 Май 2024
Anonim
Уровни тестирования ПО #11
Видео: Уровни тестирования ПО #11

Содержание


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

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

    1. Сравнительная таблица
    2. Определение
    3. Ключевые отличия
    4. Вывод

Сравнительная таблица

Основа для сравненияИнтеграционное тестирование сверху внизИнтеграционное тестирование снизу вверх
основнойИспользует заглушки в качестве мгновенных замен для вызванных модулей и имитирует поведение отдельных модулей нижнего уровня.Используйте тестовые драйверы для запуска и передачи необходимых данных на нижний уровень модулей.
выгодныйЕсли значительный дефект возникает в верхней части программы.Если критические недостатки встречаются в нижней части программы.
ПодходитьСначала пишется основная функция, затем из нее вызываются подпрограммы.Сначала создаются модули, а затем интегрируются с основной функцией.
Реализовано наСтруктурно-процедурные языки программирования.Объектно-ориентированные языки программирования.
Анализ рискаСотрудничество влияние внутренних операционных сбоев.Модели используются для анализа отдельного процесса.
сложностьпростоСложный и интенсивный процесс обработки данных.
Работает наБольшие до маленьких компонентов.Малые и большие компоненты.


Определение нисходящего интеграционного тестирования

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

Процесс интеграции включает в себя следующие этапы нисходящего подхода:

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

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


Определение восходящего интеграционного тестирования

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

Интеграция снизу вверх включает следующие шаги:

  • Он объединяет низкоуровневые элементы, также известные как сборки, в кластеры, которые выполняют определенную программную подфункцию.
  • Драйвер (управляющая программа) используется в восходящей интеграции для организации ввода и вывода тестового примера.
  • Затем кластер тестируется.
  • Кластеры включаются при движении вверх в структуру программы, а драйверы исключаются.
  1. В нисходящем интеграционном тестировании заглушки используются в качестве замены низкоуровневого. В отличие от этого, в интеграционном тестировании снизу вверх используются драйверы для передачи данных на нижний уровень модулей.
  2. Основная функция является наиболее важной частью нисходящего интеграционного тестирования, посредством которого вызываются другие подпрограммы. Напротив, подход «снизу вверх» делает упор на модули нижнего уровня и сначала создает и интегрирует их.
  3. Структурно-процедурные языки программирования реализуют интеграционное тестирование сверху вниз, тогда как тестирование снизу вверх реализовано на объектно-ориентированных языках.
  4. Чтобы исследовать риск в подходе тестирования сверху вниз, объединяют влияние внутренних операционных дефектов. В отличие от этого, интеграционное тестирование снизу вверх контролирует процесс отдельно с помощью моделей.
  5. Интеграционное тестирование сверху вниз является простым сравнением тестирования снизу вверх.
  6. Интеграционное тестирование сверху вниз работает через большие и маленькие компоненты, в то время как подход снизу вверх противоположен этому.

Вывод

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