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
API-整合測試
Search
Star Rocket
September 11, 2019
Programming
140
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
API-整合測試
LaraGirls Meetup#4
Star Rocket
September 11, 2019
More Decks by Star Rocket
See All by Star Rocket
PHP 也有 Day #51:高效能框架的曙光 - 以 Laravel 經驗開發 Hyperf 應用
starrocket
1
370
PHP 也有 Day #50:處理前人的遺產—聊 legacy code
starrocket
0
99
PHP 也有 Day #49:邊緣人救星!用 Laravel 打造私人定製的聊天機器人
starrocket
0
440
PHP 也有 Day #48:我是誰?我在哪?
starrocket
0
88
PHP 也有 Day #48:我是誰?我在哪?
starrocket
0
91
How we talk about Engineering Culture at Phase
starrocket
0
51
PHP 也有 Day #47:打造好維護的 PHP 程式碼專案
starrocket
0
380
全端起手就用 Laravel+Vue.js 現場實作給你看
starrocket
0
220
PHP 也有 Day #45: VS Code 實戰料理 PHP 套件網站佐 Azure Pipelines
starrocket
0
140
Other Decks in Programming
See All in Programming
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
280
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
18k
数百円から始めるRuby電子工作
tarosay
0
130
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
820
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
650
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
550
VibeCodingからAgenticWorkflowへ
starfish719
0
190
わからない話を追いかけたら、プログラミング言語を作る側にいた
ydah
3
450
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.6k
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
200
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
1.1k
そこに3びきプロダクトがいるじゃろう——生成AI時代における“価値が届かない理由”の構造
kosuket
0
400
Featured
See All Featured
For a Future-Friendly Web
brad_frost
183
10k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
200
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
119
120k
Balancing Empowerment & Direction
lara
6
1.2k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Statistics for Hackers
jakevdp
799
230k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
WCS-LA-2024
lcolladotor
0
790
So, you think you're a good person
axbom
PRO
2
2.1k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Transcript
API 整合測試 Glossika Ray
About me
• Glossika Senior Backend Developer • 技能樹點的亂七八糟 • Php &
Laravel & DevOps
Glossika
Glossika Glossika 是由語言學專家和語言學習好手所組成的團隊,致力 於開發有科學根據的語言自學產品!我們利用演算法找出用戶 的語言水平落點,並進而提供有效精準的學習內容幫助學習者 精進語言能力,減少無效的學習時間和資源浪費。Glossika 平 台上線至今近兩年的時間,已開發 65 種語言及獲得超過八萬
名來自世界各地的註冊用戶。
Glossika 30 天免費試用
None
如何提交高品質且可靠的 API ?
寫單元測試!But ….
寫完後,先上線看有沒有問題,然後 如果有時間的話再來補單元測試!
高品質?可靠?
None
API 回應是否正常 API 之間的串接溝通是否也符合預期
對了,你有聽過整合測試嗎?
None
None
Pre Request script Send Request Get Response Tests Script
Postman Collection
Postman Collection • Request 的集合 • 可以分享給其他人 • 雲端儲存 •
可以做 API 之間的串接測試
None
Glossika 開發流程 訂定 API 格式 建立文件 Mock Server 後端 API
設計 前端頁面串接 Staging Production Postman Test
Glossika API 基本測試 • Response Schema Test ◦ Tiny Validator
4 • Http code and Require column Test ◦ Postman sandbox API
Glossika API 測試結構 Get Response Status Code test Schema Test
Tiny Validator 4 basic syntax "type": "array", "item" : {
// item here }, "type": "object", "properties" : { // properties }, "key" : { "type": "data type" }, Json Array Json Object Json Column
{ "article_id": 55 } { "object": { "properties": { "article_id":
{ "type": "integer" } } } } Response Tiny Validator
情境:測試使用者登入 API
Test case: User login • User story ◦ 使用者輸入帳號密碼登入,回傳該使用的的基本資訊 •
Input ◦ Email ◦ Password • Response ◦ User Id ◦ User name ◦ User email ◦ User Auth token
情境:使用者登入後,發表一篇文章,並取得文章資 料
Test case : Post Article • User story ◦ 使用者登入後,發表一篇文章,並取得文章資料
Login API Post Article API Get Article API token id
Environment / Global variable • Postman 中,不同 API 用來儲存需要傳遞的資料變數。
Postman Collection Runner
None
你這樣還是不靠譜啊,現在是自動化的時代了
Postman-CLI Newman
Postman-CLI Newman • 安裝 ◦ $ npm install -g newman
• 執行 ◦ $ newman run mycollection.json
總結
善用工具來協助工作
撰寫測試是提高程式碼品質的最佳方案 而且可以讓我們說話比較大聲
在有限的時間內,撰寫測試依舊可行 時間就像___,擠擠還是有的
Q/A