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
72
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
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
91
Because every QA should know API Testing
fredmoreira
0
130
Para, entenda seu contexto e contribua de maneira efetiva como QA
fredmoreira
0
53
Pirâmide testes mobile, distribua seus testes de maneira efetiva
fredmoreira
1
55
Porque todo QA deveria saber testes de APIs
fredmoreira
0
150
Testes de APIs
fredmoreira
0
77
Microservices alterando seu mindset de tester
fredmoreira
1
140
Palestra de como testar sua API Rest no Grupo de Teste Carioca
fredmoreira
0
41
Docker para testers - Um passeio fora da caixa
fredmoreira
0
61
Other Decks in Technology
See All in Technology
Service Connect 上のサービスに ECS Service の外側から到達できなかった話
ota1022
1
190
【CEDEC2026】グラフィックスエンジニアのためのニューラルシェーディング入門
cygames
PRO
0
130
QAエンジニア起点で進める、SmartHRにおける信頼性向上について
kaomi_wombat
1
120
20260804_Q4AzureUpdateBite_FabricDataAgentの精度を高める設計.pdf
matayuuu
1
120
新しい SLO が良い感じにハマっている話
z63d
5
2.2k
FORENSIA: ローカルLLMフォレンジックハーネス
sumeshi
2
350
【CEDEC2026】コードレビュー支援ツール開発から学ぶ:LLMを用いた業務システムの実践的な運用設計と誤出力対策
cygames
PRO
0
630
制約理論(ToC)入門 2026版
recruitengineers
PRO
7
2.1k
【Google Cloud Next Tokyo'26】Gemini Enterprise と Oracle AI Database で実現する、業務データ活用を実現する AI エージェント実装
shisyu_gaku
0
230
攻撃と防御で学ぶAI時代のプロダクトセキュリティ演習
recruitengineers
PRO
8
2.2k
Pavlokで始める電撃駆動開発
sgrsn
0
180
【CEDEC2026】『ウマ娘 プリティーダービー』 英語版のキャラクターの方言や口調をローカライズするための創造的アプローチ
cygames
PRO
1
200
Featured
See All Featured
The Cult of Friendly URLs
andyhume
79
7k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
How GitHub (no longer) Works
holman
316
150k
We Are The Robots
honzajavorek
0
290
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
410
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
440
BBQ
matthewcrist
89
10k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
310
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
How to make the Groovebox
asonas
2
2.3k
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