Slide 1

Slide 1 text

Testes em APIs com Karate e Gatling Guilherme Rogatto [email protected] [email protected]

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

“ Podemos construir testes baseado no negócio e contratos das APIs de maneira simples e com escritas em Gherkin com o Karate.

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

Karate dentro do radar do ThoughtWorks de Abril na sessão de LINGUAGENS & FRAMEWORKS!!

Slide 7

Slide 7 text

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.

Slide 8

Slide 8 text

Estrutura do Karate Exemplo da escrita das features no Karate:

Slide 9

Slide 9 text

Environments do Karate Estrutura do Arquivo karate-config.js

Slide 10

Slide 10 text

Relatório da Execução das Features

Slide 11

Slide 11 text

Mão na Massa

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

Karate com Gatling - Aplicando os mesmos testes das APIs agora voltado a performance

Slide 14

Slide 14 text

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.)

Slide 15

Slide 15 text

Relatório Gatling Exemplo do relatório da Execução do Gatling:

Slide 16

Slide 16 text

Karate com Gatling

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

Dúvidas????

Slide 19

Slide 19 text

Guilherme Rogatto [email protected] [email protected] Obrigado! /guilherme-rogatto /Rogatto

Slide 20

Slide 20 text

We're Hiring! sensedia.com/carreira Campinas | Rio | São Paulo Consultoria | P&D | Marketing & Sales | ADM | RH