Top Banner
Инструменты и лайфхаки тестирования REST API
34

Инструменты и лайфхаки тестирования REST API

Feb 19, 2017

Download

Education

SQALab
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Инструменты и лайфхаки тестирования REST API

Инструменты и лайфхаки тестирования

REST API

Page 2: Инструменты и лайфхаки тестирования REST API

Статья на habrahabr: «RESTful API для сервера»

Page 3: Инструменты и лайфхаки тестирования REST API

REST ли наш REST

Все должно работать как планировали

Автотесты должны автотестить

Сервер не должен падать под нагрузками

Следить чтоб все не поломалось

Чеклист доклада

Page 4: Инструменты и лайфхаки тестирования REST API

GET http://api.hobout.com/user

REST запрос

Page 5: Инструменты и лайфхаки тестирования REST API

OPTIONS

GET

HEAD

POST

PUT

PATCH

DELETE

TRACE

CONNECT

Методы HTTP

Page 6: Инструменты и лайфхаки тестирования REST API

OPTIONS

GET

HEAD

POST

PUT

PATCH

DELETE

TRACE

CONNECT

Методы HTTP

Page 7: Инструменты и лайфхаки тестирования REST API

OPTIONS

GET

HEAD

POST

PUT

PATCH

DELETE

TRACE

CONNECT

Методы HTTP

Page 8: Инструменты и лайфхаки тестирования REST API
Page 9: Инструменты и лайфхаки тестирования REST API

Реализация API на Python

Page 10: Инструменты и лайфхаки тестирования REST API

Нет глаголам

Помни о числах

Не мудри

Вложенность

Правила именования ресурсов REST

Page 11: Инструменты и лайфхаки тестирования REST API

Примеры ответов HTTP

Page 12: Инструменты и лайфхаки тестирования REST API

200 OK (взлетело)400 Bad Request (не взлетело из-за пользователя)500 Internal server error (не взлетело из-за сервера)

201 Created (Запись создана)304 Not Modified (Данные не изменились)

404 Not Found (Данные не найдены)401 Unauthorized (Неавторизованный доступ)

403 Forbidden (Доступ запрещен)

Основные ответы HTTP

Page 13: Инструменты и лайфхаки тестирования REST API

Пример формата ошибок

Page 14: Инструменты и лайфхаки тестирования REST API
Page 15: Инструменты и лайфхаки тестирования REST API

REST ли наш REST

Все должно работать как планировали

Сервер не должен падать под нагрузками

Следить чтоб все не поломалось

Чеклист доклада

Автотесты должны автотестить

Page 16: Инструменты и лайфхаки тестирования REST API

curl -X POST http://api.test.hobout.com/purge

Консоль

Page 17: Инструменты и лайфхаки тестирования REST API

JSONView

Page 18: Инструменты и лайфхаки тестирования REST API

POSTMAN

Page 19: Инструменты и лайфхаки тестирования REST API

SoapUI

Page 20: Инструменты и лайфхаки тестирования REST API

Paw (only for OSX)

Page 21: Инструменты и лайфхаки тестирования REST API

Paw (only for OSX)

Page 22: Инструменты и лайфхаки тестирования REST API

REST ли наш REST

Все должно работать как планировали

Автотесты должны автотестить

Сервер не должен падать под нагрузками

Следить чтоб все не поломалось

Чеклист доклада

Page 23: Инструменты и лайфхаки тестирования REST API

JSON Schema

Page 24: Инструменты и лайфхаки тестирования REST API

import requests

URL = "http://api.qa.hobout.com"COUNT = 100

clear_all_request = requests.post(URL+"/purgeall")

admin_cookie = {'Cookie': "hobout_qa:sid="+clear_all_request.json()["cookies"][0]["cookie"]}business_id = clear_all_request.json()["businesses"][0]["_id"]

for i in range(COUNT): payload = { 'title': 'text', 'type':'news', } create_news_request = requests.post(URL+"/businesses/"+business_id+"/posts", data=payload,headers=admin_cookie)

REST запросы в языках программирования

Page 25: Инструменты и лайфхаки тестирования REST API

Автоматизация с SoapUI

Page 26: Инструменты и лайфхаки тестирования REST API

REST ли наш REST

Все должно работать как планировали

Автотесты должны находить баги

Сервер не должен падать под нагрузками

Следить чтоб все не поломалось

Чеклист доклада

Page 27: Инструменты и лайфхаки тестирования REST API

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

Page 28: Инструменты и лайфхаки тестирования REST API

REST ли наш REST

Все должно работать как планировали

Автотесты должны автотестить

Сервер не должен падать под нагрузками

Следить чтоб все не поломалось

Чеклист доклада

Page 29: Инструменты и лайфхаки тестирования REST API

1. Cron

2. AlertSite для SoapUI

3. Другие сервисы (pingdom, site24x7 и тп.)

Пути мониторинга

Page 30: Инструменты и лайфхаки тестирования REST API

REST ли наш REST

Все должно работать как планировали

Автотесты должны автотестить

Сервер не должен падать под нагрузками

Следить чтоб все не поломалось

Чеклист доклада

Page 31: Инструменты и лайфхаки тестирования REST API

Apiary

Page 32: Инструменты и лайфхаки тестирования REST API

Apiary

Page 33: Инструменты и лайфхаки тестирования REST API

1. Всегда следите за вашими программистами

2. Пользуйтесь разными инструментами

3. Не изобретайте велосипед

Выводы

Page 34: Инструменты и лайфхаки тестирования REST API

Спасибо за внимание

[email protected]

+79166260768

Васильев Егор