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

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.

Guilherme Rogatto

April 16, 2019
Tweet

More Decks by Guilherme Rogatto

Other Decks in Technology

Transcript

  1. 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
  2. “ Podemos construir testes baseado no negócio e contratos das

    APIs de maneira simples e com escritas em Gherkin com o Karate.
  3. 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
  4. 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
  5. 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.
  6. 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
  7. 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.)