Ответ 1
Тестирование интеграции может выполняться на уровне пользовательского интерфейса (через автоматические функциональные тесты - AFT) или на уровне интерфейса service/api.
В обоих случаях есть несколько инструментов:
Я работал над проектами, которые успешно использовали Sahi или Selenium для AFT веб-приложений, white для приложений AFT для .NET WPF или winforms, swtBot для AFT клиентских приложений Eclipse Rich и frankenstein для AFT Java swing apps.
Fitnesse полезен для тестов уровня сервиса /api или для тестов, которые работают чуть ниже пользовательского интерфейса. Когда все сделано правильно, у него есть преимущество в том, чтобы иметь деловые читаемые тесты, то есть не-разработчики могут читать и понимать тесты. Такие инструменты, как NUnit, менее полезны для этой цели. SOAPUI особенно подходит для тестирования веб-сервисов SOAP.
Факторы, которые следует учитывать:
- Продолжительность. Можете ли вы переносить 8-часовые тестовые прогоны?
- Brittleeness: AFT могут быть довольно хрупкими по отношению к развивающемуся приложению (например, идентификаторы и позиции виджетов могут меняться). Требуется достаточное умение и усилие, чтобы не жестко кодировать изменяющиеся части.
- Верность: насколько вы близки к реальному миру? например Возможно, вам придется издеваться над взаимодействием с платежным шлюзом, если поставщик не предоставляет вам тестовую среду, с которой вы можете столкнуться с вашими тестами.
Некоторые нюансы захватываются here.
Полное раскрытие: автор связан с организацией, стоящей за большинством (не всех) вышеупомянутых бесплатных и открытых исходных инструментов.