APIs e Microsserviços

6 mar, 2018

PHP Experience 2018: construindo uma suíte de testes para suas APIs

Publicidade

No palco Fortran, Juciellen Cabrera, desenvolvedora PHP na 4Linux assumiu o microfone diante de uma sala lotada, onde falou sobre a construção de uma suíte de testes voltada para APIs.

Juciellen deu início a sua apresentação explicando o que é uma API e como ela pode ser usada.

A desenvolvedora também falou da importância de testarmos o status code e seus principais componentes:

Status Code

  • 200 OK
  • 400 Bad Request
  • 401 Unauthorized
  • 402 Payment Required
  • 403 Forbidden
  • 404 Not Found
  • 405 Method Not Allowed
  • 500 Internal Server Error

Formato

  • Texto
  • Imagem
  • XML/JSON

Conteúdo

  • Parte
  • Todo

Em uma breve explicação, ela resumiu o que é um teste de API:

“Testes de API são simulações de requisições feitas por agentes externos”.

Ao chegar na metade de sua apresentação, Juciellen listou algumas formas de realizar testes.

  • A primeira ferramenta citada por ela foi o CURL.
  • Em seguida, ela apresentou o RestClient, um plugin do Firefox cuja interface foi bastante elogiada.
  • Por último ela falou do Postman, ferramenta que permite salvar requisições e que conta com collections compartilhadas, scripts de testes em JavaScript e Newman.

Partindo para testes automatizados, a desenvolvedora apresentou algumas maneiras de automatizar os testes.

Uma das formas é usar o Guzzle com PHPUnit, sendo o Guzzle um client e o PHPUnit um framework de testes.

Outra forma de realizar os testes abordada pela desenvolvedora foi o Codeception, um framework completo de testes que utiliza o PHPUnit e o Grazzle. Por último, ela apresentou o método de testes através do Jmeter, voltado para testes de carga/stress e asserções.

 “Teste tudo aquilo que é importante. Não vale a pena demandar recursos executando testes desnecessários”

Para encerrar a palestra, Juciellen demonstrou alguns resultados de testes e percentuais de erros dentro de asserções.

“A melhor ferramenta é aquela que for importante para você. A que o deixa mais confortável e que atende às suas necessidades.”