Интеграционное тестирование может проводиться на уровне пользовательского интерфейса (с помощью автоматических функциональных тестов - AFT ) или на уровне интерфейса службы / API.
В обоих случаях есть несколько инструментов:
Я работал над проектами, в которых успешно использовались Сахи или Селен для AFT веб-приложений, белый для AFT для .NET WPF или приложений winforms, swtBot для AFT клиентских приложений Eclipse Rich и frankenstein для AFT Java-приложений Swing.
Fitnesse полезен для тестов уровня обслуживания / API или для тестов, которые работают чуть ниже пользовательского интерфейса. Когда все сделано правильно, у него есть преимущество в том, что у него есть читабельные для бизнеса тесты, то есть не разработчики могут читать и понимать тесты. Такие инструменты, как NUnit, менее полезны для этой цели. SOAPUI особенно подходит для тестирования веб-служб SOAP.
Факторы, которые следует учитывать:
- Продолжительность : Можете ли вы допустить 8-часовой тестовый прогон?
- Хрупкость : AFT могут быть довольно хрупкими по отношению к развивающемуся приложению (например, могут изменяться идентификаторы и позиции виджетов). Требуются адекватные навыки и усилия, чтобы не жестко программировать меняющиеся детали.
- Верность : Насколько близко вы хотите быть к реальному миру? например Возможно, вам придется смоделировать взаимодействие с платежным шлюзом, если только провайдер не предоставит вам тестовую среду, которую вы можете использовать в своих тестах.
Некоторые нюансы зафиксированы здесь .
Полное раскрытие. Автор связан с организацией, стоящей за большинством (не всеми) из вышеперечисленных инструментов с открытым исходным кодом.