23
Автоматизированное тестирование web-сервисов Шерстобитов Дмитрий. Intetics

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

  • Upload
    sqalab

  • View
    3.345

  • Download
    3

Embed Size (px)

DESCRIPTION

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

Citation preview

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

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

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

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

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

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

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

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

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

Web-сервис?

Page 5: Автоматизированное тестирование 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?

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

<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-«конверт» для передачи сообщений

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

UDDI?

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

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

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

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

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

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

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

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

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

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

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

QTP Web service Add in

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

Web Сервис

МетодыQTP

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

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

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

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

процессов

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

Создание web service

объекта

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

• XMLHttpRequest

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

• FileSystemObject

Заполнение SOAP

• XMLHttpRequest.send

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

• objXML.responseXML

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

• DOMDocument

Верификация

• Log file

Результат

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

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

• XMLHttpRequest

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

• XMLHttpRequest.send

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

• objXML.responseXML

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

• FileSystemObject

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

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

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

XMLHttpRequest

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

• DOMDocument

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

• DOMDocument• load

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

• GetElementsBy• TagName

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

• FileSystemObject

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

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

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

DOMDocument

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

Итого:

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

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

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

Вопросы

Dmitry SherstobitovSkype: dmitry_sherstobitov