Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Março 2016 - Como testar sua API Rest

131 views

Published on

Palestra apresentada no encontro de março pelo Frederico Moreira - http://pt.slideshare.net/fredoriginal/

Published in: Software
  • Be the first to comment

  • Be the first to like this

Março 2016 - Como testar sua API Rest

  1. 1. Você testa suas APIs no seu dia a dia? Vamos automatizar estes testes? FREDERICO MOREIRA www.fredmoreira.com
  2. 2. INTERNET DOS TREM
  3. 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. 4. console.log('MINUTRADE');
  5. 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. 6. 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)
  7. 7. Fonte: http://goo.gl/p98Muv
  8. 8. Fonte: https://www.deepcrawl.com/knowledge/guides/the-abc-of-http- status-codes/
  9. 9. Fonte: http://httpstatusdogs.com/
  10. 10. Fonte: http://httpstatusdogs.com/
  11. 11. Fonte: http://httpstatusdogs.com/
  12. 12. Fonte: https://http.cat/
  13. 13. Fonte: https://http.cat/
  14. 14. Fonte: https://http.cat/
  15. 15. Resultados esperados Valor Tipo de dado Consistência Erros
  16. 16. Como testar manualmente ?
  17. 17. Ferramentas
  18. 18. Entendendo transações HTTP
  19. 19. #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"}]
  20. 20. Postman
  21. 21. Postman
  22. 22. Mas eu preciso mesmo automatizar testes de API ?
  23. 23. 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/
  24. 24. Mundo Ruby
  25. 25. Mundo Java https://www.youtube.com/watch?v=dShI6n1CSoY @juliodelimas
  26. 26. Testes de segurança
  27. 27. Se eu não quiser rodar nenhuma api na minha máquina?
  28. 28. http://www.mocky.io/
  29. 29. Repositório GitHub https://github.com/fredmoreira/phone-book
  30. 30. 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/
  31. 31. Obrigado! Frederico Moreira fredmacc@gmail.com @fredaomoreira www.fredmoreira.com

×