ScanAPI
Automatização de Testes de Integração para a sua API
Camila Maia
1
TDC São Paulo
Agosto de 2020
Slide 2
Slide 2 text
Motivação
Tudo começou numa bela semana de firefighter…
2
Slide 3
Slide 3 text
Eu trabalho na...
3
Slide 4
Slide 4 text
Quem sou eu?
4
- Desenvolvedora Backend
- Formada em Sistemas de Informação na UFSC
- Entrei na área em 2010
- Maior experiência com Python e Ruby
- Organização de eventos: PyJamas e EuroPython
Slide 5
Slide 5 text
Motivação
Tudo começou numa bela semana de firefighter…
5
Slide 6
Slide 6 text
Motivação
Erros de integração
6
- Cliente mandando
campos diferentes do
esperado
- Frontend recebendo
campos diferentes do
esperado
Motivação
Dificuldade em recriar o cenário
8
/reservar/:id_do_assento
id_do_voo?
id_da_aeronave?
id_do_passageiro?
Aeronave está disponível?
????
Slide 9
Slide 9 text
Motivação
Dificuldade em recriar o cenário
9
Slide 10
Slide 10 text
No content
Slide 11
Slide 11 text
O quê a ScanAPI se propõe a fazer pela
sua API?
11
- Framework de código aberto
- Command line interface (CLI)
- Escrito em Python
1. Fornecer uma documentação “Ao Vivo”
2. Possibilitar a implementação de testes de Integração
Slide 12
Slide 12 text
PokéAPI: https://pokeapi.co
$ http https://pokeapi.co/api/v2/pokemon/
Como funciona?
Exemplo: PokéAPI
12
Como funciona?
Encadeamento ⛓
27
- Pegar detalhes de um Pokémon
- Neste caso o dado é “estático”, mas poderia não ser
- https://pokeapi.co/api/v2/pokemon/bulbasaur
Como funciona?
E tem mais
34
- Independente de linguagem!
- Especificação da API também é aceita em JSON
- Variável de Ambiente
- Esconder dados sensitivos no relatório
- Especificação da API em vários arquivos
- Templates Customizados
- Visual Studio Code Plugin
Slide 35
Slide 35 text
Posso usar?
Com certeza!
35
Slide 36
Slide 36 text
scanapi.dev
36
Slide 37
Slide 37 text
Próximos passos
E o futuro?
37
- Outros métodos HTTP (além de GET, POST, PUT, PATCH,
DELETE)
- Documentação + Tutoriais
- Website
- GitHub Action
E se….
- OpenAPI
Slide 38
Slide 38 text
Por que colaborar com a ScanAPI?
Chega junto!
38
- Todas as áreas: automação, backend, front, design
- Python
- Entender como uma lib funciona
- Cobertura de testes > 90%
- Automação
- spectrum.chat/scanapi
Slide 39
Slide 39 text
Por que colaborar com a ScanAPI?
Chega junto!
39
How Open Source Changed My Life with Max Stoiber
Slide 40
Slide 40 text
github.com/scanapi ⭐
40
Slide 41
Slide 41 text
Live SpaceDevs
41
Link Direto
Domingo às 15 horas
twitch.tv/spacedevs