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

3 Tópicos sobre testes em APIs GraphQL que todo...

3 Tópicos sobre testes em APIs GraphQL que todo QA deveria saber.

No mundo de desenvolvimento de software quando falamos de testes de APIs a primeira coisa que vem na cabeça de grande parte dos QAs é SOAP, REST, HTTP e etc... Atualmente em alguns contextos se fala muito em API GraphQL, você sabe o que é? Você utiliza no seu dia a dia? A ideia desta talk é justamente trazer informações para entender melhor o que seria uma API GraphQL e alguns abordagens de como testar este tipo de API.

Frederico Moreira

May 20, 2020
Tweet

More Decks by Frederico Moreira

Other Decks in Technology

Transcript

  1. 3 Tópicos sobre testes em APIs GraphQL que todo QA

    deveria saber. Frederico Moreira
  2. Brazil (Minas Gerais) • Café, testes e pão de queijo

    • MTC - Minas Testing Conference @fredaomoreira
  3. 1) Conceito “GraphQL é uma linguagem de consulta e ambiente

    de execução voltada a servidores para as interfaces de programação de aplicações(APIs) cuja prioridade é fornecer exatamente os dados que os clientes solicitam e nada além.” Fonte: https://www.redhat.com/pt-br/topics/api/what-is-graphql
  4. “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.” API
  5. Exemplos • Google ◦ Google Maps ◦ Google Flights •

    Accommodation ◦ Trivago ◦ Booking • Payment providers ◦ Paypal
  6. Teste no nível de serviço Subcutaneous Test - Martin Fowler

    Preencher o gap entre testes unitários e UI Podem ocorrer em paralelo ao desenvolvimento... Foco na funcionalidade e não na experiência do usuário Import ‘application’
  7. O que avaliamos em testes em APIs Rest ➔ http

    status code 200, 201, 400, 401, 500 ... ➔ body content Json, Plain text, XML ... ➔ http headers "Content-Type"":"application/json"
  8. O que avaliamos em testes em API GraphQL ➔ http

    status code 200, 201, 400, 401, 500 ... ➔ body content Apenas os dados solicitados ➔ http headers "Content-Type"":"application/json"
  9. Agile Testers • Fórum • Agile Testers Conference • QAnsei

    • assert(QA) • fredmoreira.com (in progress) • https://medium.com/assertqua lityassurance @fredaomoreira
  10. Referências: • https:/ /github.com/fredmoreira/phone-book-graphql • https:/ /github.com/fredmoreira/phone-book • https:/ /medium.com/assertqualityassurance/graphql-e2e-

    testing-com-jest-apollo-client-80e0c60b1a9d • https:/ /github.com/douglasbolis/graphql-prisma-tests • http:/ /graphql.org/learn/ • https:/ /medium.com/assertqualityassurance