Часто применяемые инструменты:
- Citrus
- VectorCAST/C++
- LDRA
- Rational Integration tester
- FitNesse
- TESSY
- Validada MSG
- Steam
- Jasmine
- eZscript
- Spock
1. Citrus
Java-фреймворк автоматизированного тестирования интеграции приложений и форматов данных. Относится к типу message-based фреймворков. Проверяет данные запросов и ответов на JSON/XML/plain-текстом.
Например кейс: тестовое приложение хостится на сервере приложений; оно взаимодействует с Citrus по протоколам SOAP, HTTP и JMS. Citrus симулирует запросы и ответы, выступая в этом сценарии как в роли клиента, так и в роли сервера.
Функциональность:
- Бесплатный и открытый
- Настройка сообщений об ошибках
- Валидация заголовков
- Функция очередности (ожидание ответа, чтобы отправить следующее)
- Поддерживает проверку связности (message transport connectivity)
- Валидация XML-ответов
- Верификация данных
2. VectorCAST/C++
Компания на рынке 35 лет с известными и широко применяемыми инструментами низкоуровневого программирования на С, С++, Ada. Интеграционные тесты в этом инструменте рассматриваются как группа юнит-тестов, объединенных в логический модуль.
Функциональность:
- Тестирование всего на C/C++
- Включая embedded
- Юнит- и интеграционные тесты автоматизированы
- Очень надежный продукт (используется в медицинской и финансовой сферах, промышленных контроллерах, на железной дороге)
3. LDRA
Тоже старый и хорошо известный софт (более 40 лет на рынке), тоже используют в критически важных сферах, где качество должно быть идеальным. Как и VectorCAST, может применяться для верификации соблюдения стандартов. При этом является открытой платформой, с широкой функциональностью, в том числе возможностями статического и динамического анализа. Функции:
- TBRun — Автоматизированная проверка интеграции модулей
- Простая работа с большим набором мощных инструментов
- Которые легко приспособить под проект
4. IBM Rational Integration Tester
Ранее пакет был известен как Green Hat, после перехода в собственность IBM переименован с «говорящим» названием. Scriptless-окружение, заточенное под сборку и тестирование интеграции бизнес-процессов; включая тестирование SOA-сообщений (в сервис-ориентированной архитектуре). Создается тестовое окружение для начала тестирования на ранних этапах. Хорошая поддержка как итеративных, так и эджайл-процессов разработки.
- Интеграционное, функциональное и регрессионное тестирование
- Удобство также в том, что если (еще) нет нужных модулей/компонентов, вместо них генерируется код и реюзабельные стабы
- А также виртуальные сервисы
- Удобное управление всеми процессами из главной панели
- Создание тест-кейсов из требований
- Поддержка непрерывной интеграции
5. FitNesse
Довольно специфическое решение от творца Википедии (точнее, ее движка Вики) Каннингема, изобретателя и специалиста высшего класса в области экстремального программирования и паттернов. Продукт ориентирован больше на стейкхолдеров и приемочное тестирование, но вполне подходящий и для тестирования интеграции. При этом с открытым кодом, и с большим комьюнити.
- Построен на быстрой и привычной вики-технологии
- Бесплатный и открытый
- Не нужно устанавливать (просто скачать jar)
- Поддерживает не только Java
- Тестируемая система изначально рассматривается как черный ящик, проверяется соответствие сгенерированного выхода заданному входу
- И эта связь отображается в виде таблиц принятия решений, в нескольких вариантах, исходя из особенностей проекта
6. TESSY
Часто применяемый продукт для интеграционного, особенно embedded-проектов. Широкая функциональность: управление всем процессом, организация тест-кейсов по предназначению, создание и отслеживание требований, и измерение покрытия. Тест-кейсы отображаются в виде удобного CTE-дерева (Classification of Tree Editor). Также есть TDE (Test Data Editor) для манипуляций с тестовыми данными.
- Эти две функции (CTE и TDE) плюс удобный workspace тестировщика
- Заточен под С и С++
- Удобные репорты
7. Validada MSG
Специализированный продукт для тестирования SWIFT, SOA, ATM и Generic Interface.
- Сквозные сценарии с валидацией данных.
- Ориентирован на message-based-архитектуру, как Citrus
- То есть больше на бизнес-сценарии приложений финансовой/банковской сферы
- Создатели старались обеспечить как можно бОльшую реюзабельность сценариев, для экономии времени и повышения надежности в этой чувствительной сфере
8. Steam
Надежный и широко применяемый инструмент интеграционного тестирования, созданный командой GitHub. Ориентирован на автоматизированное headless-тестирование сайтов с JS.
9. Jasmine
Специфический фреймворк для BDD (поведенчески-ориентированной разработки). Предназначен для веб-тестирования, поддерживает все браузеры.
- Простой синтаксис, подходящий для новичков
- Поддержка асинхронного тестирования
- Есть фронтенд-расширение Jasmine-jQuery
10. eZscript
Автоматизация юнит-, функциональных, интеграционных, регрессионных, дымовых и санити-тестов практически любого веб-приложения. Продукт ориентирован на тестирование бизнес-процессов (ВРТ)
11. Spock for JAVA
Для Java и Groovy. Работает с разными IDE и CI-серверами. Одновременное assertion-тестирование и mocking.
Платформы и языки
Инструмент | Язык | Платформы |
---|---|---|
LDRA | C, C++, Ada | Windows, MacOS |
IBM Rational Integration Tester | Java | Windows, Linux |
Validata | Bash, Python, SQL | Linux, Solaris, AIX |
VectorCAST/C++ | C, C++ | Windows |
Citrus | Java | Windows, Linux, MacOS |
FitNesse | Java, C#, Python | Windows, Linux, MacOS, Solaris |
TESSY | C, C++ | Windows, Linux, Solaris |