Автоматизированное тестирование WEB сервисов

Post on 11-Nov-2014

3.345 views 3 download

Tags:

description

Мастер-класс Шерстобитова Дмитрия на SQA Days 7

Transcript of Автоматизированное тестирование WEB сервисов

Автоматизированное тестирование web-сервисов

Шерстобитов Дмитрий. Intetics

Что такое web-сервис?QTP Web service Add inСлучай из практики

Что такое web-сервисы?

Web-сервис – удалённый программный модуль, предоставляющий свой функционал посредствам http

Web-сервис?

<?xml version="1.0" ?><definitions name=“blablabla" tsrgetNamespace=“http://...”xmlns:soap="http://(soaporg)/wsdl/soap"xmlns="http://(soaporg)/wsdl/"><types><elements>...</elements></types><message>...</message><portType>...</portType><binding><operation><input>...</input><output>...</output></operation></binding><service>...</service></definitions>

WSDL(Web Services Description Language) - XML-ориентированный язык, описывающий web-сервис

WSDL?

<env:Envelopexmlns:env="http://www.w3.org/2001/06/soap-envelope"><env:Body><m:ValidatePostcodeenv:encodingStyle="http://www.w3.org/2001/06/soap-encoding"xmlns:m="http://www.somesite.com/Postcode"><Postcode>WC1A8GH</Postcode><Country>UK</Country></m:ValidatePostcode></env:Body></env:Envelope>

SOAP?

Спецификация SOAP определяет XML-«конверт» для передачи сообщений

UDDI?

Система UDDI(Universal Description, Discovery and Integration ) позволяет компаниям представить свой web-сервис для общественности

Зачем нужна автоматизация?

В большинстве случаев GUI не предусмотрен

Сокращает время на проверку простых сценариев

Регрессионное тестирование никто не отменял

Незаменима при нагрузочном тестировании

А что автоматизировать?

Всё то же самое, что и для обычного приложения

QTP Web service Add in

Web Сервис

МетодыQTP

(WSDL для сканирования)

Использование объекта WebService позволяет настраивать способ коммуникации qtp – web-сервис

Тестирование бизнес-

процессов

Доступ к методам сервиса

Создание web service

объекта

От простого к сложному

Определение WSDL для сканирования

Выбор сервиса и требуемых методов Finish

Определение web service объекта

Определение WSDL для сканирования

Выбор сервиса и требуемых методов Finish

Определение web service объекта

Определение WSDL для сканирования

Выбор сервиса и требуемых методов Finish

Определение web service объекта

Определение WSDL для сканирования

Выбор сервиса и требуемых методов Finish

Определение web service объекта

После создания объекта, появляется доступ к методам сервиса.

VerifyXMLFile – сравнивает два XML файла;

VerifyXMLValue- проверяет содержание тегов на ожидаемый результат;

ValidateXML – проверяет XML файл на соответствие с заданной схемой;

OutputXMLValue – возвращает значение заданного тега.

..\%QuickTest Professional HOME%\dat\BPT_Resources\

Встроенные функции

• XMLHttpRequest

Создание объекта

• FileSystemObject

Заполнение SOAP

• XMLHttpRequest.send

Посылка конверта

• objXML.responseXML

Получение ответа

• DOMDocument

Верификация

• Log file

Результат

Альтернативный VBS вариант

• XMLHttpRequest

Создание объекта

• XMLHttpRequest.send

Посылка конверта

• objXML.responseXML

Получение ответа

• FileSystemObject

Сохранение ответа в XML файл

Используя XMLHttpRequest объект, можно открыть\закрыть соединение и передать\получить конверт

XMLHttpRequest.open(…)XMLHttpRequestclose(…)XMLHttpRequest.send(…)XMLHttpRequest.responseXML

XMLHttpRequest

• DOMDocument

Создание объекта

• DOMDocument• load

Получение XML данных

• GetElementsBy• TagName

Верификация по тегам

• FileSystemObject

Запись в лог и отчёт

Для обработки полученного ответа используется DOMDocument объект

DOMDocument.load(…)DOMDocument.GetElementsByTagName(…)

DOMDocument

Итого:

Стратегия тестирования web-сервисов ничем не отличается от тестирования других продуктов

Автоматизация здесь играет не последнее значение в виду отсутствия пользовательского интерфейсаДля автоматизации подойдёт любое средство от мало до велико, выбирать вам

Вопросы

Dmitry SherstobitovSkype: dmitry_sherstobitov