Интеграционное тестирование против модульного тестирования - PullRequest
13 голосов
/ 14 марта 2011

Я недавно начал читать «Искусство модульного тестирования», и появился свет относительно разницы между модульными тестами и интеграционными тестами.Я почти уверен, что некоторые вещи, которые я делал в NUnit, лучше подходили бы для интеграционного теста.

Итак, мой вопрос: какие методы и инструменты вы используете для интеграционного тестирования?

Ответы [ 5 ]

13 голосов
/ 14 марта 2011

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

Например, я использовал JUnit и DBUnit для модульных и интеграционных тестов.

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

2 голосов
/ 14 марта 2011

Selenium вместе с Junit для юнит + интеграционного тестирования, включая пользовательский интерфейс

0 голосов
/ 22 июня 2018

Интеграционные тесты - это «следующий уровень» для людей, увлеченных модульным тестированием. Сама Nunit может использоваться для интеграционного тестирования (без смены инструмента). например сценарий: Модульный тест был создан с использованием Nunit с использованием mock (где он идет в DB / API) Чтобы использовать интеграционный тест, мы делаем следующее:

  1. вместо макетов используйте реальную БД

  2. приводит к вводу данных в БД

  3. приводит к повреждению данных

  4. приводит к удалению и воссозданию БД в каждом тесте

  5. приводит к созданию основы для управления данными (добавление инструмента?)

Как вы можете видеть начиная с # 2, мы отправляемся на незнакомую территорию как разработчики юнит-тестов. Хотя инструмент остается прежним.

  1. приводит вас к удивлению, почему так много времени для настройки интеграционного теста?
  2. приводит к: я должен прекратить модульное тестирование, поскольку оба вида тестов принимают больше времени?
  3. приводит к: мы проводим только интеграционное тестирование
  4. приводит к: все разработчики согласятся с этим? (некоторые разработчики могут вообще не любить тестировать)
  5. приводит к: так как нет модульного теста, нет покрытия кода.

Теперь мы идем к проблемам с бизнес-целями и разработкой физики ..

Я думаю, что ответил на ваш вопрос немного больше, чем нужно. В любом случае, любите читать больше, и вы думаете, что юнит-тесты представляют опасность? затем отправляйтесь на это

0 голосов
/ 28 августа 2015

Я в основном использую JUnit для модульного тестирования в сочетании с Mockito для макетирования / заглушения зависимостей, чтобы я мог тестировать свою единицу кода изолированно.

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

Например, я использую также JUnit, а не высмеиваюзависимости я фактически настраиваю эти зависимости как бы вызывая код.Кроме того, я тестирую поток управления, чтобы каждый метод тестировался не изолированно, как в модульном тестировании, а вместе.Что касается подключения к базе данных, я использую встроенную базу данных с некоторыми фиктивными данными испытаний и т. Д.

0 голосов
/ 31 мая 2011

1) Метод: Метрики Test Point - лучший подход в любой среде.Благодаря такому подходу мы можем не только проводить модульное и интеграционное тестирование, но и проверять требования.Время для написания метрик Test Point находится сразу после понимания требования

Шаблон метрик Test Point доступен здесь:

http://www.docstoc.com/docs/80205542/Test-Plan

Обычно существует 3 вида тестирования.1. Ручной 2. Автоматизированный 3. Гибридный подход

Во всех вышеперечисленных случаях работает подход с использованием метрик Test Point.

2) Инструмент: Инструмент будет зависеть от требований проектаВ любом случае, следующие из них являются лучшими инструментами в соответствии с моими исследованиями 1. QTP 2. Selenium 3. AppPerfect Для более ясного ответа об инструменте укажите свой тип проекта.С уважением: Мухаммед Хуснайн

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...