Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Tudo que você sempre quis saber sobre testes de...
Search
Frederico Moreira
May 05, 2017
Technology
0
61
Tudo que você sempre quis saber sobre testes de APIs REST, mas que nunca te contaram...
Palestra no TDC 2017 - Florianopolis
Frederico Moreira
May 05, 2017
Tweet
Share
More Decks by Frederico Moreira
See All by Frederico Moreira
3 Tópicos sobre testes em APIs GraphQL que todo QA deveria saber.
fredmoreira
0
71
Because every QA should know API Testing
fredmoreira
0
130
Para, entenda seu contexto e contribua de maneira efetiva como QA
fredmoreira
0
41
Pirâmide testes mobile, distribua seus testes de maneira efetiva
fredmoreira
1
47
Porque todo QA deveria saber testes de APIs
fredmoreira
0
130
Testes de APIs
fredmoreira
0
72
Microservices alterando seu mindset de tester
fredmoreira
1
130
Palestra de como testar sua API Rest no Grupo de Teste Carioca
fredmoreira
0
34
Docker para testers - Um passeio fora da caixa
fredmoreira
0
49
Other Decks in Technology
See All in Technology
国井さんにPurview の話を聞く会
sophiakunii
1
370
ECS_EKS以外の選択肢_ROSA入門_.pdf
masakiokuda
1
130
2025-12-27 Claude CodeでPRレビュー対応を効率化する@機械学習社会実装勉強会第54回
nakamasato
4
1.4k
Databricks Free Edition講座 データエンジニアリング編
taka_aki
0
2.6k
Cloud WAN MCP Serverから考える新しいネットワーク運用 / 20251228 Masaki Okuda
shift_evolve
PRO
0
150
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
1
910
Redshift認可、アップデートでどう変わった?
handy
1
140
さくらのクラウドでのシークレット管理を考える/tamachi.sre#2
fujiwara3
1
130
純粋なイミュータブルモデルを設計してからイベントソーシングと組み合わせるDeciderの実践方法の紹介 /Introducing Decider Pattern with Event Sourcing
tomohisa
1
1k
複雑さを受け入れるか、拒むか? - 事業成長とともに育ったモノリスを前に私が考えたこと #RSGT2026
murabayashi
1
1.8k
Claude Codeを使った情報整理術
knishioka
20
12k
20260114_データ横丁 新年LT大会:2026年の抱負
taromatsui_cccmkhd
0
140
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.2k
From π to Pie charts
rasagy
0
110
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
140
Balancing Empowerment & Direction
lara
5
840
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
140
How to Talk to Developers About Accessibility
jct
1
98
AI: The stuff that nobody shows you
jnunemaker
PRO
2
170
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
0
220
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.2k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
170
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
1
220
Transcript
Frederico Moreira Tudo que você sempre quis saber sobre testes
de APIs Rests, mas que nunca te contaram... @fredaomoreira
MG • Café, testes e pão de queijo • MTC
- Minas Testing Conference Agile Testers • Fórum • Agile Testers Conference UAI, TREM, SÔ • if(pinga && torresmo) @fredaomoreira @ConcreteS
O que é uma API?
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. “ Fonte: https://goo.gl/zMwp3U
Exemplos de APIs: Companhias Aéreas • Google Flights • Sky
Scanner Cálculo de entrega (CEP) • e-commerce Geolocalização • API Google Maps
Pirâmide de Testes “Ideal” Mike Cohn UI Service Unit Manual
Testes no Nível de Serviço Preenche o gap entre testes
unitários e de UI Acontecem em paralelo ao desenvolvimento Foco na funcionalidade e não no comportamento/experiência Testa critérios de aceite mesmo antes da interface(mobile ou web) estar desenvolvida. Subcutaneous Test - Martin Fowler
REST em cima de protocolo HTTP mas você pode usar
REST com outro protocolos como TCP, UDP e gRPC (http://www.grpc.io/). O mais comum de encontrar no mercado são projetos novos usando
None
None
None
None
None
None
None
None
None
None
None
http://racksburg.com/choosing-an-http-status-code/
Como testar manualmente?
Ferramentas http://www.telerik.com/fiddler https://www.getpostman.com/
Entendendo transações HTTP
request response VIEW
None
#COMANDO CURL curl -i -X GET "http://localhost:5000/contacts?name=Tester" #HEADER HTTP/1.1 200
OK X-Powered-By: Express Content-Type: application/json; charset=utf-8 Content-Length: 110 ETag: W/"6e-Za+ESrkoytVXhydy0NJoFA" Date: Mon, 14 Mar 2016 18:17:19 GMT Connection: keep-alive #BODY [{"_id":"56d5efa8c82593800291c02b","name":"Tester","mobilephone":"05 52188889999","homephone":"0552133332222"}]
Mas eu preciso mesmo automatizar testes de API? “ disse
o QA
None
Mundo JS http://frisbyjs.com/ http://www.fredmoreira.com/2014/11/como-voce-anda-testando-sua-api-rest.htm l http://dareid.github.io/chakram/ https://github.com/fredmoreira/ApiTest
Mundo Ruby https://ruby-doc.org/stdlib-2.3.1/libdoc/net/http/rdoc/Net/HTTP.html https://github.com/jnunemaker/httparty https://github.com/jnunemaker/httparty https://github.com/lostisland/faraday https://github.com/fredmoreira/api-test-ruby
Mundo Java https://github.com/fredmoreira/demo-rest-assured https://www.youtube.com/watch?v=dShI6n1CSoY @juliodelimas
Mundo Python https://github.com/fredmoreira/demo-pyresttest https://github.com/svanoort/pyresttest
https://github.com/fredmoreira/phone-book
Segurança O que eu como QA consigo pensar em segurança,
nos testes de APIs?
Dependências NodeJs • Snyk • NSP Java e .NET •
OWASP Dependency-check Python • Dependency-check-py
X-XSS-Protection
Appcanary Tudo que você precisa saber sobre segurança em headers
HTTP https://blog.appcanary.com/2017/http-securit y-headers.html
E se eu sou preguiçoso(a) ?
http://www.mocky.io/
https://apiary.io/
Mas porque? Porque eu como QA deveria saber testar API?
O que teste de API pode me ajudar no meu dia a dia?
Links: • https://snyk.io/ • https://github.com/nodesecurity/nsp • https://www.owasp.org/index.php/OWASP_Dependency_Check • https://github.com/jhermann/dependency-check-py
• http://www.fredmoreira.com/2014/11/como-voce-anda-te stando-sua-api-rest.html • https://httpstatuses.com/ • http://apimetrics.io/2015/03/31/automated-api-testing-ne cessary/ • https://goo.gl/5vM84j
• http://sensedia.com/blog/apis/sites-para-descobrir-apis/ • http://keeptesting.com.br/2014/09/09/testando-suas-api s-com-frisby-js/ Links:
Repositórios: • https://github.com/fredmoreira/demo-pyresttest • https://github.com/fredmoreira/demo-rest-assured • https://github.com/fredmoreira/ApiTest • https://github.com/fredmoreira/api-test-ruby •
https://github.com/fredmoreira/phone-book
Dúvidas?
None