Перед началом работы
Все чаще Web-сервисы становятся основными компонентами в бизнес-приложениях. С появлением таких парадигм, как сервис-ориентированная архитектура (Service-Oriented Architecture, SOA), разработчики все больше внимания уделяют Web-сервисам. При этом вопросы тестирования Web-сервисов для важных сервис-ориентированных приложений приобретюет большую значимость. В результате быстрого создания и развертывания сложных Web-сервисов перед группой обеспечения качества возникают дополнительные проблемы. Автоматизация тестирования Web-сервисов может помочь группе эффективно управлять объемом работ.
Тестирование Web-сервисов обычно включает следующие задачи:
- Генерирование клиентского или скелетного кода для Web-сервиса;
- Определение входных данных теста;
- Вызов Web-сервиса при помощи клиентского или скелетного кода;
- Сверка реального и ожидаемого отклика.
Из всех перечисленных действий наибольших усилий требуют генерирование скелетного кода и верификация отклика.
Для генерирования скелетного кода для Web -сервиса на базе соответствующего WSDL-файла существуют различные инструменты; однако сгенерированный код может быть частным; возможно, его придется генерировать заново при каждом изменении WSDL. Одним из решений данной проблемы может стать отказ от генерации клиентского или скелетного кода и вызов Web-сервиса непосредственно через общий HTTP-клиент. Позже в этой серии статей вы познакомитесь с одним из таких наборов инструментов, предоставляемых API Apache Commons HttpClient (далее - HttpClient).
Верификация отклика обычно тоже требует некоторой доли ручного вмешательства, в зависимости от сложности содержимого отклика. Если отклик содержит простые элементы, то верификация может быть простой, поскольку она требует только проверки значения в простом элементе. Для откликов, содержащих сложные элементы и большой список таких сложных элементов, верификация вручную может потребовать значительных усилий.
В нашей серии статей рассказывается о методике автоматизации тестирования типичного Web-сервиса с использованием нескольких технологий, в том числе, JUnit, HttpClient и Apache XMLUnit (далее в этой статье- XMLUnit). Методика демонстрируется на платформе разработки, которую предлагает IBM Rational(R) Software Architect.
Пока серия состоит из трех статей:
- В части 1 демонстрируется создание простого Web-сервиса при помощи IBM Rational Software Architect;
- В части 2 рассказывается об инструменте XMLUnit, который предлагает API для сравнения двух файлов в XML-форме;
- Настоящая, 3-я, часть описывает этапы тестирования защищенного Web-сервиса с использованием HttpClient и XMLUnit, о которых рассказывалось в части 2.
Данное учебное руководство предназначено для тестировщиков и разработчиков, интересующихся вопросами функционального тестирования Web-сервисов. Для понимания учебного материала необходимо знание основ Web-сервисов и Java-разработки и, кроме того, некоторый опыт использования таких инструментов тестирования модулей, как JUnit.
Из данного учебного руководства вы узнаете, как:
- Определять параметры безопасности на Web-сервисе;
- Настраивать параметры безопасности в WebSphere® Application Server;
- Верифицировать безопасность Web-сервиса;
- Тестировать Web-сервис при помощи HttpClient и XMLUnit.
Для понимания учебного материала необходимо знание основ Web-сервисов и Java-разработки и, кроме того, некоторый опыт использования таких инструментов тестирования модулей, как JUnit.
- Windows® 98, Windows XP, Windows 2000 или Windows 2003;
- IBM Rational Software Architect, версия 6.x;
- Apache JUnit, версия 3.8.1;
- Apache Commons HttpClient, версия 3.0.1;
- Apache Commons Codec, версия 1.3;
- Apache XMLUnit, версия 1.0.
Указанное программное обеспечение можно загрузить по ссылке в разделе Ресурсы.