Обычно тесты службы SOA представляют собой черный ящик , где вы используете только рассмотренный опубликованный контракт WSDL, однако иногда бывает необходимо провести прямую проверку в базах данных, особенно когда нет возможности (операции), которая может быть использован для проверки.
Кроме того, поскольку современные платформы SOA обычно совместно используют ресурсы с реализацией других сервисов, важно моделировать нагрузку обработки, превышающую или равную объему производства, и оценивать влияние потребления памяти, обработки и ввода-вывода, избегая отрицательных значений. влияние на уже развернутые услуги.
Наиболее сложная проблема связана с развитием контрактов и реализаций, а именно с тем, как реализовать новую функциональность, не нарушая существующих клиентов, это может быть особенно громоздким, поскольку существуют синтаксические и семантические проблемы, например:
- несовместимый синтаксис: версия нового контракта версия может иметь новый элемент, но не может иметь новые обязательные элементы , потому что это сломает старых клиентов, такого рода Обычно эту проблему можно избежать, запустив автоматизированные тесты , реализованные с как текущими, так и новыми контрактами .
- абстракция проверки: часто каноническая модель (XML-схемы) используется совместно с несколькими службами во избежание преобразования типов и обеспечения общего бизнес-языка, обычно они не имеют все проверки, необходимые для всех операций обслуживания. Затем необходимая логика проверки выполняется непосредственно в реализации службы . Если новая версия службы реализует новый набор проверок, которых нет в опубликованном контракте, клиенты должны быть уведомлены, а сценарии должны быть проверены.
Инструменты, которые я обычно использую: SOAP UI и JMeter , и создают пользовательские автоматизированные тесты с использованием собственной инфраструктуры.