Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Palestra de como testar sua API Rest no Grupo de Teste Carioca

Palestra de como testar sua API Rest no Grupo de Teste Carioca

Frederico Moreira

March 16, 2016
Tweet

More Decks by Frederico Moreira

Other Decks in Technology

Transcript

  1. Você testa suas APIs no seu dia a dia? Vamos

    automatizar estes testes? FREDERICO MOREIRA www.fredmoreira.com
  2. INTERNET DOS TREM

  3. WHO AM I? var speaker = { name : 'Frederico

    Moreira', description : [ 'QA Enginner @Minutrade', 'Organizador do Minas Testing Conference', 'Fissurado pelo o mundo JS', 'Entusiasta de Agile Testing', 'Trabalho com testes desde 2008...', 'Dj por Hobby', 'Lutando para crescer o GTS-MG' 'Não vivo sem uma boa cerveja, pinga e queijo ;)'], blog : 'fredmoreira.com' };
  4. console.log('MINUTRADE');

  5. API é um conjunto de rotinas e padrões de programação

    para acesso a um aplicativo de software ou plataforma baseado na Web. Fonte: http://canaltech.com.br/o-que-e/software/o-que-e-api/ 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. O que é ?
  6. None
  7. Testes no nível de serviços Preenche o gap entres os

    testes de unidade e os testes de UI Comum em times ágeis, dependendo da arquitetura. Acontecem em paralelo ao desenvolvimento Foco na funcionalidade, não no comportamento ou experiência do cliente Subcutaneous Tests (MartinFowler)
  8. Fonte: http://goo.gl/p98Muv

  9. None
  10. None
  11. None
  12. Fonte: https://www.deepcrawl.com/knowledge/guides/the-abc-of-http- status-codes/

  13. Fonte: http://httpstatusdogs.com/

  14. Fonte: http://httpstatusdogs.com/

  15. Fonte: http://httpstatusdogs.com/

  16. Fonte: https://http.cat/

  17. Fonte: https://http.cat/

  18. Fonte: https://http.cat/

  19. Resultados esperados Valor Tipo de dado Consistência Erros

  20. Como testar manualmente ?

  21. Ferramentas

  22. None
  23. Entendendo transações HTTP

  24. #COMANDO CURL curl -i -X GET "http://localhost:5000/contacts?name=Tester" #HEARDER 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","homephone":"0552133332222"}]
  25. Postman

  26. Postman

  27. Mas eu preciso mesmo automatizar testes de API ?

  28. None
  29. None
  30. Mundo JS http://www.fredmoreira.com/2014/11/como-voce-anda-testando-sua- api-rest.html http://goo.gl/Ft6xZJ http://dareid.github.io/chakram/

  31. Mundo Ruby

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

  33. None
  34. Testes de segurança

  35. Se eu não quiser rodar nenhuma api na minha máquina?

  36. http://www.mocky.io/

  37. Repositório GitHub https://github.com/fredmoreira/phone-book

  38. None
  39. 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/

  40. Obrigado! Frederico Moreira fredmacc@gmail.com @fredaomoreira www.fredmoreira.com