Эд Изотов: "In God we trust the REST we test".

Post on 16-Jan-2017

395 views 4 download

Transcript of Эд Изотов: "In God we trust the REST we test".

Тестирование программного обеспечения (Software Testing) - проверка соответствия между реальным и ожидаемым поведением программы (ProTesting.ru)

Тестирование программного обеспечения — процесс исследования, испытания программного продукта, имеющий две различные цели (Wikipedia):

продемонстрировать разработчикам и заказчикам, что программа соответствует требованиям;выявить ситуации, в которых поведение программы является неправильным, нежелательным или не соответствующим спецификации

Front-End (UI)

LOGIN

Username

Password

API layerBusiness LogicDB connector + DB

HTTP request

HTTP response

CREATE USER

Back-EndWeb Services

Структура WEB-приложения

Front-End (UI)

LOGIN

user@user@user.test

Password

API layerBusiness LogicDB connector + DB

HTTP request

HTTP response

CREATE USER

Back-End

ЗАЧЕМ???

{''username'': ''user@user@user.test'',''password'': ''P@ssword1''}

{''username'': ''user@user@user.test'',''iscreated'': true}

Listen on 80Server

HTTPClient

Web browserHTTP requests

HTTP request1. URI (http:/test.test.test/api/users)2. Method (GET, POST, PUT, DELETE, HEAD …)3. Request Headers4. Request Body

HTTP response1. Response Status (200, 500, 404, 401 ...)2. Response Headers4. Response Body

Business LogicDB connector + DB

Back-End

Back-End

API layer

createUser

deleteUser

editUser

getUser

loginUser

logoutUser

POST /api/users

DELETE /api/users/23

PUT /api/users/23

GET /api/users/23

POST /api/login

POST /api/logout

REST vs SOAP

1. Основан на HTTP протоколе2. Ограничен методами (POST, GET...)3. Может использовать XML, JSON, ASCII …4. Не самодокументирован (хммм...)

1. Использует HTTP как транспорт2. Неограниченное количество методов3. Принимает и передает XML4. Имеет WSDL файл с описанием

ЧЕМ???POSTMAN

ЧЕМ???Fiddler

ЧЕМ???Browser console (анализ)

ЧЕМ???SoapUI

ЧЕМ???JMeter

КАК???

Да, как обычно :)

- валидность значений- граничные значения- функциональные тесты- наличие заголовков- коды ответов- и т. д.

Тут ваши вопросы :)

Контакты:

Ed Izotoved.izotov@gmail.comskype: corneliusseo