Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Инструменты и
лайфхаки тестирования
REST API
Статья на habrahabr: «RESTful API для сервера»
REST ли наш REST
Все должно работать как планировали
Автотесты должны автотестить
Сервер не должен падать под нагрузками
С...
GET http://api.hobout.com/user
REST запрос
OPTIONS
GET
HEAD
POST
PUT
PATCH
DELETE
TRACE
CONNECT
Методы HTTP
OPTIONS
GET
HEAD
POST
PUT
PATCH
DELETE
TRACE
CONNECT
Методы HTTP
OPTIONS
GET
HEAD
POST
PUT
PATCH
DELETE
TRACE
CONNECT
Методы HTTP
Реализация API на Python
Нет глаголам
Помни о числах
Не мудри
Вложенность
Правила именования ресурсов REST
Примеры ответов HTTP
200 OK (взлетело)
400 Bad Request (не взлетело из-за пользователя)
500 Internal server error (не взлетело из-за сервера)
2...
Пример формата ошибок
REST ли наш REST
Все должно работать как планировали
Сервер не должен падать под нагрузками
Следить чтоб все не поломалось...
curl -X POST http://api.test.hobout.com/purge
Консоль
JSONView
POSTMAN
SoapUI
Paw (only for OSX)
Paw (only for OSX)
REST ли наш REST
Все должно работать как планировали
Автотесты должны автотестить
Сервер не должен падать под нагрузками
С...
JSON Schema
import requests
URL = "http://api.qa.hobout.com"
COUNT = 100
clear_all_request = requests.post(URL+"/purgeall")
admin_cook...
Автоматизация с SoapUI
REST ли наш REST
Все должно работать как планировали
Автотесты должны находить баги
Сервер не должен падать под нагрузками...
Нагрузочное тестирование в SoapUI
REST ли наш REST
Все должно работать как планировали
Автотесты должны автотестить
Сервер не должен падать под нагрузками
С...
1. Cron
2. AlertSite для SoapUI
3. Другие сервисы (pingdom, site24x7 и тп.)
Пути мониторинга
REST ли наш REST
Все должно работать как планировали
Автотесты должны автотестить
Сервер не должен падать под нагрузками
С...
Apiary
Apiary
1. Всегда следите за вашими программистами
2. Пользуйтесь разными инструментами
3. Не изобретайте велосипед
Выводы
Спасибо за внимание
evasilyev@hobout.com
+79166260768
Васильев Егор
Инструменты и лайфхаки тестирования REST API
Инструменты и лайфхаки тестирования REST API
Prochain SlideShare
Chargement dans…5
×

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

8 064 vues

Publié le

Доклад Егора Васильева на конференции SQA Days-18, 27-28 ноября 2015 г., Москва
www.sqadays.com

Publié dans : Formation
  • Soyez le premier à commenter

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

  1. 1. Инструменты и лайфхаки тестирования REST API
  2. 2. Статья на habrahabr: «RESTful API для сервера»
  3. 3. REST ли наш REST Все должно работать как планировали Автотесты должны автотестить Сервер не должен падать под нагрузками Следить чтоб все не поломалось Чеклист доклада
  4. 4. GET http://api.hobout.com/user REST запрос
  5. 5. OPTIONS GET HEAD POST PUT PATCH DELETE TRACE CONNECT Методы HTTP
  6. 6. OPTIONS GET HEAD POST PUT PATCH DELETE TRACE CONNECT Методы HTTP
  7. 7. OPTIONS GET HEAD POST PUT PATCH DELETE TRACE CONNECT Методы HTTP
  8. 8. Реализация API на Python
  9. 9. Нет глаголам Помни о числах Не мудри Вложенность Правила именования ресурсов REST
  10. 10. Примеры ответов HTTP
  11. 11. 200 OK (взлетело) 400 Bad Request (не взлетело из-за пользователя) 500 Internal server error (не взлетело из-за сервера) 201 Created (Запись создана) 304 Not Modified (Данные не изменились) 404 Not Found (Данные не найдены) 401 Unauthorized (Неавторизованный доступ) 403 Forbidden (Доступ запрещен) Основные ответы HTTP
  12. 12. Пример формата ошибок
  13. 13. REST ли наш REST Все должно работать как планировали Сервер не должен падать под нагрузками Следить чтоб все не поломалось Чеклист доклада Автотесты должны автотестить
  14. 14. curl -X POST http://api.test.hobout.com/purge Консоль
  15. 15. JSONView
  16. 16. POSTMAN
  17. 17. SoapUI
  18. 18. Paw (only for OSX)
  19. 19. Paw (only for OSX)
  20. 20. REST ли наш REST Все должно работать как планировали Автотесты должны автотестить Сервер не должен падать под нагрузками Следить чтоб все не поломалось Чеклист доклада
  21. 21. JSON Schema
  22. 22. 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 запросы в языках программирования
  23. 23. Автоматизация с SoapUI
  24. 24. REST ли наш REST Все должно работать как планировали Автотесты должны находить баги Сервер не должен падать под нагрузками Следить чтоб все не поломалось Чеклист доклада
  25. 25. Нагрузочное тестирование в SoapUI
  26. 26. REST ли наш REST Все должно работать как планировали Автотесты должны автотестить Сервер не должен падать под нагрузками Следить чтоб все не поломалось Чеклист доклада
  27. 27. 1. Cron 2. AlertSite для SoapUI 3. Другие сервисы (pingdom, site24x7 и тп.) Пути мониторинга
  28. 28. REST ли наш REST Все должно работать как планировали Автотесты должны автотестить Сервер не должен падать под нагрузками Следить чтоб все не поломалось Чеклист доклада
  29. 29. Apiary
  30. 30. Apiary
  31. 31. 1. Всегда следите за вашими программистами 2. Пользуйтесь разными инструментами 3. Не изобретайте велосипед Выводы
  32. 32. Спасибо за внимание evasilyev@hobout.com +79166260768 Васильев Егор

×