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
Porque todo QA deveria saber testes de APIs
Search
Frederico Moreira
June 05, 2017
Technology
0
130
Porque todo QA deveria saber testes de APIs
Palestra apresentada no Agile Testers Conference de Belo Horizonte em 2017.
Frederico Moreira
June 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
Tudo que você sempre quis saber sobre testes de APIs REST, mas que nunca te contaram...
fredmoreira
0
61
Testes de APIs
fredmoreira
0
72
Microservices alterando seu mindset de tester
fredmoreira
1
140
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
AIが実装する時代、人間は仕様と検証を設計する
gotalab555
1
220
コミュニティが変えるキャリアの地平線:コロナ禍新卒入社のエンジニアがAWSコミュニティで見つけた成長の羅針盤
kentosuzuki
0
130
Bill One急成長の舞台裏 開発組織が直面した失敗と教訓
sansantech
PRO
2
400
インフラエンジニア必見!Kubernetesを用いたクラウドネイティブ設計ポイント大全
daitak
1
380
Amazon S3 Vectorsを使って資格勉強用AIエージェントを構築してみた
usanchuu
4
460
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
93k
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
2k
SREチームをどう作り、どう育てるか ― Findy横断SREのマネジメント
rvirus0817
0
350
SRE Enabling戦記 - 急成長する組織にSREを浸透させる戦いの歴史
markie1009
0
170
生成AIと余白 〜開発スピードが向上した今、何に向き合う?〜
kakehashi
PRO
0
150
FinTech SREのAWSサービス活用/Leveraging AWS Services in FinTech SRE
maaaato
0
130
Greatest Disaster Hits in Web Performance
guaca
0
290
Featured
See All Featured
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
950
Paper Plane
katiecoart
PRO
0
46k
Become a Pro
speakerdeck
PRO
31
5.8k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
54
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
410
Optimising Largest Contentful Paint
csswizardry
37
3.6k
GraphQLとの向き合い方2022年版
quramy
50
14k
The Curious Case for Waylosing
cassininazir
0
240
Crafting Experiences
bethany
1
50
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
70
Color Theory Basics | Prateek | Gurzu
gurzu
0
200
Transcript
Frederico Moreira @fredaomoreira Porque todo QA deveria saber testes de
API ?
MG • Café, testes e pão de queijo • MTC
- Minas Testing Conference Agile Testers • Fórum • Agile Testers Conference UAI, TREM, SÔ, PÃO DE QUEIJO • if(pinga && torresmo) @fredaomoreira @ConcreteS
Mas porque? Porque eu como QA deveria saber testar API?
O que teste de API pode me ajudar no meu dia a dia?
Quem aqui testa API hoje? Quem já testou API?
Arquitetura Calabash IOS https://github.com/calabash/calabash-ios-server
Front-End Back-End Node.js HTML 5 CSS 3 Angular.js iOS Android
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
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/
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