Testes em APIs com Karate e Gatling

Testes em APIs com Karate e Gatling

Com o Karate temos uma forma simples de desenvolver nossos testes de APIs, temos a necessidade apenas de escrever as features com os cenários e as próprias especificações de linguagens de domínio do próprio Karate. Temos a integração do Karate com o Gatling para testarmos a performance das features criadas para o teste, assim não temos a necessidade de duplicidade de testes para validação da API e Perfomance.

38f0f8d04a3f4c9f83915bfdcf81a1fd?s=128

Guilherme Rogatto

April 16, 2019
Tweet

Transcript

  1. Testes em APIs com Karate e Gatling Guilherme Rogatto guilherme.rogatto@sensedia.com

    gui.rogatto@gmail.com
  2. Apresentação • Formado em Engenharia de Computação • Atuando como

    QA na Sensedia • Instrutor de Automação de Testes Web e API pela ACerT e CTS Consultoria
  3. “ Podemos construir testes baseado no negócio e contratos das

    APIs de maneira simples e com escritas em Gherkin com o Karate.
  4. O Karate é um framework open-source para Java e tem

    uma própria DSL para automatizar uma API REST, SOAP e GraphQL integrado com a linguagem Gherkin e diversos padrões do Cucumber. Com ele é possível colocar os steps diretamente nos arquivos das features criada, simplificando muito o desenvolvimento dos testes. Karate DSL
  5. Benefícios do Karate • Linguagem Gherkin • DSL própria •

    Fácil desenvolvimento e execução • Validação de fluxo de negócio • Podemos utilizar os mesmos cenários criados para testes de performance • Reutilização de outras features e scenarios • Testes paralelizados • Curva de aprendizado
  6. Karate dentro do radar do ThoughtWorks de Abril na sessão

    de LINGUAGENS & FRAMEWORKS!!
  7. Arquitetura dos Testes de Negócios e Contratos da API •

    Features : Arquivos com a descrição e implementação dos testes. • Runners : Arquivos com a configuração para executar os testes. • karate-config.js :  Arquivo com a configurações gerais do projeto, ex.: ambientes O Karate segue a sintaxe do Gherkin (Given, When e Then) nos padrões do Cucumber, conseguimos estruturar nossos testes de negócios e contratos de forma organizada.
  8. Estrutura do Karate Exemplo da escrita das features no Karate:

  9. Environments do Karate Estrutura do Arquivo karate-config.js

  10. Relatório da Execução das Features

  11. Mão na Massa

  12. Na Prática Mocks de filme criada para o exemplo Executar

    projeto e analisar relatório gerado Demonstração das features do Karate Executar Testes em paralelo
  13. Karate com Gatling - Aplicando os mesmos testes das APIs

    agora voltado a performance
  14. Karate com Gatling No Karate com Gatling podemos reutilizar nossos

    cenários criados nos testes de APIs no Karate para testes de performance também. No Gatling precisamos utilizar a linguagem de programação Scala, somente para a criação das propriedades que teremos no testes de performance (exemplo número de usuários, quantidades de requisições e as features.)
  15. Relatório Gatling Exemplo do relatório da Execução do Gatling:

  16. Karate com Gatling

  17. Referências https://github.com/intuit/karate github.com/Rogatto

  18. Dúvidas????

  19. Guilherme Rogatto guilherme.rogatto@sensedia.com gui.rogatto@gmail.com Obrigado! /guilherme-rogatto /Rogatto

  20. We're Hiring! sensedia.com/carreira Campinas | Rio | São Paulo Consultoria

    | P&D | Marketing & Sales | ADM | RH