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.
Testando sua API com HTTPARTY e
Rodando em um CI
#ATC #Manaus
Quem sou
QA Analyst - Concrete
O que vamos ver?
● API
○ Por quê API?
○ Exemplos do uso de API
● REST
● Protocolo HTTP
○ Métodos HTTP
○ HTTP Status Code
●...
API - Application Programming Interface
Interface de programação de aplicativos. Uma API é um conjunto de
comandos, funçõe...
Por quê API?
● Construções de novas aplicações
● Desempenho da sua aplicação
● Desenvolvedores não precisam desenvolver tu...
Login com Facebook
API's do Dropbox
Exemplos do uso de API
CEP dos Correios
REST - REpresentational State Transfer
Transferência de Dados Representacional é um estilo de arquitetura e
uma abordagem ...
REST - REpresentational State Transfer
● Interações entre clientes e serviços são aprimoradas por ter um número
limitado d...
REST - REpresentational State Transfer
As interações são compostas, principalmente, de três informações:
● Endpoint: ender...
Protocolo HTTP
O protocolo HTTP define métodos (às vezes referidos como verbos) para
indicar a ação desejada a ser realiza...
Métodos HTTP
GET
POST
PUT
DELETE
VERBOS NÃO-IDEMPOTENTES VERBOS IDEMPOTENTES
HTTP Status Code
Esse é outro item importante para a arquitetura de uma API REST, porque, da mesma
maneira que acontece co...
Por quê teste de API?
“Ideal”
Unit
Service
UI
Manual
HTTParty
É um gem ruby que simplifica a manipulação de request e
response REST.
RSpec
O RSpec é um framework BDD (Behaviour-Driven Development
ou Desenvolvimento Guiado por Comportamento) escrito em
Rub...
Como Testar?
GET
POST
PUT
DELETE
Faça um request GET para um conteúdo específico e
verifique se o status code 200 foi reto...
Como Testar?
GET
POST
PUT
DELETE
Faça um request com POST e verifique se o status code
201 foi retornado
Depois, faça um r...
Como Testar?
GET
POST
PUT
DELETE
Faça um request PUT para atualizar um conteúdo e
verifique se o status code 204 foi retor...
Como Testar?
GET
POST
PUT
DELETE
Faça um DELETE para um conteúdo específico.
Depois faça um GET para o ID do conteúdo ante...
API de teste
POST: api/series -> Adicionar série
GET: api/series -> Retornar todas as séries
GET: api/series/serie_id -> R...
E como é na
prática???
Integração Contínua
Integração Contínua é uma metodologia moderna de
desenvolvimento, em que os desenvolvedores envolvidos...
Jenkins
Jenkins é um servidor de automação de código aberto escrito em Java. A
Jenkins ajuda a automatizar a parte não hum...
E como é na
prática???
Referências
● https://techterms.com/
● https://blog.mbeck.com.br/
● Tech Target - Search Microservices
● https://fredmorei...
@nathsilv
www.facebook.com/nathanael.araujos
www.linkedin.com/in/nathanaelaraujo/
OBRIGAAADOOO!!!
[ATC] Testando sua API com HTTPARTY e Rodando em um CI
[ATC] Testando sua API com HTTPARTY e Rodando em um CI
[ATC] Testando sua API com HTTPARTY e Rodando em um CI
[ATC] Testando sua API com HTTPARTY e Rodando em um CI
[ATC] Testando sua API com HTTPARTY e Rodando em um CI
Upcoming SlideShare
Loading in …5
×

[ATC] Testando sua API com HTTPARTY e Rodando em um CI

348 views

Published on

Hoje é essencial o uso de API nas construções de novas aplicações, onde os desenvolvedores podem se utilizar de API's que atendam seus negócios a fim de melhorar o desempenho da sua aplicação, não precisam desenvolver tudo do zero, além de que um mesmo serviço pode ser usado em mais de uma aplicação dentro ou fora de uma empresa, que é melhor do que ter vários códigos espalhados fazendo a mesma coisa, e também uma mesma API pode ser usada no mundo mobile ou WEB! Tendo em vista isto, é essencial que se garanta a qualidade dessas API's que estão sendo desenvolvidas através de testes que validem todos os dados que estão sendo expostos pelas API's, e como vivemos em um contexto ágil, é ideal que automatizamos os testes das inúmeras API's que um projeto possa conter, além de colocar essa automação em uma integração contínua para quando houver qualquer mudança termos um feedback mais rápido se algum defeito acontecer.

Published in: Software
  • Hello! Get Your Professional Job-Winning Resume Here - Check our website! https://vk.cc/818RFv
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

[ATC] Testando sua API com HTTPARTY e Rodando em um CI

  1. 1. Testando sua API com HTTPARTY e Rodando em um CI #ATC #Manaus
  2. 2. Quem sou QA Analyst - Concrete
  3. 3. O que vamos ver? ● API ○ Por quê API? ○ Exemplos do uso de API ● REST ● Protocolo HTTP ○ Métodos HTTP ○ HTTP Status Code ● Por quê teste de API? ○ HTTParty ○ RSpec ○ Como Testar? ○ Como é na prática? ● Integração Contínua ○ Jenkins ○ Como é na prática?
  4. 4. API - Application Programming Interface Interface de programação de aplicativos. Uma API é um conjunto de comandos, funções, protocolos e objetos que os programadores podem usar para criar software ou interagir com um sistema externo. Ele fornece aos desenvolvedores comandos padrão para executar operações comuns para que não tenham que escrever o código do zero." TechTerms, 2017
  5. 5. Por quê API? ● Construções de novas aplicações ● Desempenho da sua aplicação ● Desenvolvedores não precisam desenvolver tudo do zero ● Serviço pode ser usado em mais de uma aplicação dentro ou fora de uma empresa
  6. 6. Login com Facebook API's do Dropbox Exemplos do uso de API CEP dos Correios
  7. 7. REST - REpresentational State Transfer Transferência de Dados Representacional é um estilo de arquitetura e uma abordagem às comunicações que é freqüentemente usada no desenvolvimento de serviços da Web. Normalmente é executado em HTTP (Hypertext Transfer Protocol).
  8. 8. REST - REpresentational State Transfer ● Interações entre clientes e serviços são aprimoradas por ter um número limitado de operações (verbos). ● Flexibilidade é fornecida ao atribuir recursos seus próprios identificadores de recursos universais (URIs) únicos. ● Como cada verbo tem um significado específico (GET, POST, PUT e DELETE), o REST evita a ambiguidade. Ou seja, dependendo de como o recurso será consumido através do identificador, o seu comportamento irá mudar.
  9. 9. REST - REpresentational State Transfer As interações são compostas, principalmente, de três informações: ● Endpoint: endereços web que executam as ações e são acessados diretamente pelos clientes. ● Verbo: ação desejada a ser realizada no recurso identificado. ● Body: Informações que são enviadas, como dados de um cadastro.
  10. 10. Protocolo HTTP O protocolo HTTP define métodos (às vezes referidos como verbos) para indicar a ação desejada a ser realizada no recurso identificado. Quantos aos métodos, existem 4 que são os mais utilizados.
  11. 11. Métodos HTTP GET POST PUT DELETE
  12. 12. VERBOS NÃO-IDEMPOTENTES VERBOS IDEMPOTENTES
  13. 13. HTTP Status Code Esse é outro item importante para a arquitetura de uma API REST, porque, da mesma maneira que acontece como os verbos HTTP, elas formam um padrão facilmente reconhecido por quem for consumir o webservice. Os códigos de sucesso tem o padrão 20x, os de redirecionamento 30x, os de erro do cliente 40x e os de erro de servidor 50x. Os principais códigos utilizados para as respostas de um endpoint são:
  14. 14. Por quê teste de API? “Ideal” Unit Service UI Manual
  15. 15. HTTParty É um gem ruby que simplifica a manipulação de request e response REST.
  16. 16. RSpec O RSpec é um framework BDD (Behaviour-Driven Development ou Desenvolvimento Guiado por Comportamento) escrito em Ruby, que permite que você escreva testes em uma linguagem mais natural.
  17. 17. Como Testar? GET POST PUT DELETE Faça um request GET para um conteúdo específico e verifique se o status code 200 foi retornado. Depois verifique se o conteúdo esperado foi retornado também.
  18. 18. Como Testar? GET POST PUT DELETE Faça um request com POST e verifique se o status code 201 foi retornado Depois, faça um request com GET para o conteúdo gravado anteriormente e verifique se o mesmo foi salvo corretamente. Adicione testes POST com request incorretos, como falta de conteúdo por exemplo, que irão falhar. Deve-se retornar status code 400 ( Bad Request).
  19. 19. Como Testar? GET POST PUT DELETE Faça um request PUT para atualizar um conteúdo e verifique se o status code 204 foi retornado Depois, faça um request com GET para um conteúdo alterado e verifique se retorna o novo conteúdo.
  20. 20. Como Testar? GET POST PUT DELETE Faça um DELETE para um conteúdo específico. Depois faça um GET para o ID do conteúdo anterior, deve-se retornar status code 404 (Not Found).
  21. 21. API de teste POST: api/series -> Adicionar série GET: api/series -> Retornar todas as séries GET: api/series/serie_id -> Retornar uma série específica PUT: api/series/serie_id -> Atualizar uma série específica DELETE: api/series/serie_id -> Deletar uma série específica
  22. 22. E como é na prática???
  23. 23. Integração Contínua Integração Contínua é uma metodologia moderna de desenvolvimento, em que os desenvolvedores envolvidos em um projeto integram seus trabalhos continuamente.
  24. 24. Jenkins Jenkins é um servidor de automação de código aberto escrito em Java. A Jenkins ajuda a automatizar a parte não humana do processo de desenvolvimento de software, com integração contínua e facilitando aspectos técnicos de entrega contínua.
  25. 25. E como é na prática???
  26. 26. Referências ● https://techterms.com/ ● https://blog.mbeck.com.br/ ● Tech Target - Search Microservices ● https://fredmoreira.com/ ● https://www.concrete.com.br/2015/03/06/integracao-continua-para-djang o-no-jenkins/ ● Mike, Cohn. Succeeding with agile: Software Development Using Scrum. ● Crispin, Lisa. Gregory, Janet. Agile Testing: A practical guide for testers and agile teams.
  27. 27. @nathsilv www.facebook.com/nathanael.araujos www.linkedin.com/in/nathanaelaraujo/ OBRIGAAADOOO!!!

×