Slide 1

Slide 1 text

Testes de API Dezembro/2016 Capítulo de QA

Slide 2

Slide 2 text

O que é uma API?

Slide 3

Slide 3 text

API é um conjunto de rotinas e padrões de programação para acesso a um aplicativo de software ou plataforma baseado na Web. “ https://canaltech.com.br/o-que-e/software/o-que-e-api/

Slide 4

Slide 4 text

Uma API é criada quando uma empresa de software tem a intenção de que outros criadores de software desenvolvam produtos associados ao seu serviço. “

Slide 5

Slide 5 text

Pirâmide de Testes “Ideal” UI Service Unit Manual Mike Cohn

Slide 6

Slide 6 text

Testes no Nível de Serviço Preenche o gap entre testes unitários e de UI Comum em times ágeis dependendo da arquitetura Acontecem em paralelo ao desenvolvimento Foco na funcionalidade e não no comportamento/experiência Subcutaneous Test - Martin Fowler

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

REST

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

Lista dos Status HTTP

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

Valor Tipo de dado Consistência Erros

Slide 19

Slide 19 text

Como testar manualmente?

Slide 20

Slide 20 text

Ferramentas http://www.telerik.com/fiddler https://www.getpostman.com/

Slide 21

Slide 21 text

request respons e VIEW

Slide 22

Slide 22 text

Entendendo transações HTTP

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

#COMANDO CURL curl -i -X GET "http://localhost:5000/contacts?name=Tester" #HEADER HTTP/1.1 200 OK X-Powered-By: Express Content-Type: application/json; charset=utf-8 Content-Length: 110 ETag: W/"6e-Za+ESrkoytVXhydy0NJoFA" Date: Mon, 14 Mar 2016 18:17:19 GMT Connection: keep-alive #BODY [{"_id":"56d5efa8c82593800291c02b","name":"Tester","mobilephone":"0552188889999","hom ephone":"0552133332222"}]

Slide 25

Slide 25 text

Postman

Slide 26

Slide 26 text

Postman

Slide 27

Slide 27 text

Mas eu preciso mesmo automatizar testes de API? “ disse o QA

Slide 28

Slide 28 text

UI Service Unit Manual Testes Automatizados de API Testes Automatizados de Integração Testes Automatizados de Componentes

Slide 29

Slide 29 text

No content

Slide 30

Slide 30 text

Mundo JS http://frisbyjs.com/ http://www.fredmoreira.com/2014/11/como-voce-anda-testando-sua-api-rest.html http://dareid.github.io/chakram/

Slide 31

Slide 31 text

Mundo Ruby https://ruby-doc.org/stdlib-2.3.1/libdoc/net/http/rdoc/Net/HTTP.html https://github.com/jnunemaker/httparty https://github.com/jnunemaker/httparty https://github.com/lostisland/faraday

Slide 32

Slide 32 text

Mundo Java https://www.youtube.com/watch?v=dShI6n1CSoY @juliodelimas

Slide 33

Slide 33 text

Testes de Segurança

Slide 34

Slide 34 text

OWASP: https://www.owasp.org WS-Attacks: http://www.ws-attacks.org/Main_Page ZED Attack Proxy (ZAP): https://www.owasp.org/index.php/ OWASP_Zed_Attack_Proxy_Project BURP: https://portswigger.net/burp/ Ready! API Secure: https://smartbear.com/product/ready-api/secure/ overview/

Slide 35

Slide 35 text

Se eu não quiser rodar nenhuma API na minha máquina?

Slide 36

Slide 36 text

http://www.mocky.io/

Slide 37

Slide 37 text

https://github.com/fredmoreira/phone-book

Slide 38

Slide 38 text

Dúvidas?

Slide 39

Slide 39 text

Links http://katrinatester.blogspot.com.br/2015/09/api-web-services-microservices-testing.html http://www.guru99.com/api-testing.html http://www.restpatterns.org/ http://www.tutorialspoint.com/software_testing_dictionary/api_testing.htm https://www.hurl.it/ https://github.com/fredmoreira/api-test-ruby

Slide 40

Slide 40 text

www.concretesolutions.com.br Rio de Janeiro – Rua São José, 90 – cj. 2121 Centro – (21) 2240-2030 São Paulo - Av. Nações Unidas, 11.541
 3º andar - Brooklin - (11) 4119-0449 Ajudamos empresas a criar produtos digitais de sucesso