零、前言
小五有一家軟體公司,邀請虛竹哥給他們做一場關于api研發管理的分享,虛竹哥把分享的要點整理成文章,分享給大家。
一、API 研發管理
1.1、什麼是API研發管理
你是否認為API管理無非是管理一下API文檔(如何把文檔寫漂亮一點,規範一點),隻需要用word文檔API描述寫一下,要團隊協作時,把API文檔檔案發給前端或測試人員就行?
其實沒這麼簡單,API研發管理是:包含了API開發管理、開發團隊協作、自動化測試、網關以及監控等等API管理全生命周期的一系列管理過程。幫助公司實作開發運維一體化,提升開發速度,提升産品品質并且降低運維成本。
API管理最重要的方面包括檢測,分析和報告,使用工具來量化分析api的情況。傳統的管理格言是,“無法管理沒有名額的東西。”
1.2、痛點
虛竹哥發現的痛點有如下幾方面:
- 前端開發進度受制于後端;
- 無法及時了解API變動;
- 接口測試不友善;
- 測試工作繁瑣、重複;
- 工作成果無法分享;
- 測試工作不自動化;
- 測試效果無法量化;
- 測試工作被動;
- 合作方需要我們在極短的時間内提供接口文檔檔案,對平時不注重api管理的團隊來說,是一個加班的消息了;
這些痛點,大家是否感同身受~說多了都是槽點,說多了都是淚啊
1.3、解決方案
道:規範的思維
提升團隊規範思維,了解規範地管理API能便于開發、測試和維護。
法:合理的流程
制定合理的工作流程,保障團隊成員能夠各司其職,高效協作。
器:适用的工具
選擇合适的工具來實踐流程,工具能夠幫助團隊成員規範日常開發行為。
術:易用的體驗
良好的産品使用體驗+團隊成員的熟練運用工具,能夠保障流程持久運作,最終實作規範的目标。
以eolink為例,介紹如何搭建和使用API研發管理。
eolink 有私有部署産品和SaaS 産品,可以滿足不同企業的需求。
二、搭建部署及不同角色的關注點介紹
2.1、下載下傳安裝
根據電腦的作業系統,選擇下載下傳
選擇安裝目錄:
安裝成功後:
2.2、開發管理
建立項目及從第三方導入api
進入 API 研發管理項目清單頁,點選 添加 按鈕。
可以新增api接口,也可以從第三方導入api接口:
小五公司的後端接口是用使用swagger生成api接口
可以使用swagger導出的json檔案,批量導入進來。
像這種swagger的json檔案如何擷取呢?
簡單介紹下:
以java項目為例,我們會對swagger 的api接口進行分組。
不同技術團隊寫法可能會有差異,建立直接寫在配置檔案中即可
我們就可以把整個分組的接口以json檔案格式輸出格式:
/v2/api-docs?group=分組名localhost:9527/v2/api-docs?group=分組名其中localhost:9527/ 是本地後端服務ip和端口。
右鍵,網頁另存為json檔案,檔案名可自定義。
這樣就導入完成了。
可以給項目關聯 Swagger 生成的 JSON 檔案位址或關聯代碼倉庫,API 研發管理平台能夠遠端讀取代碼并自動生成API文檔。
配置完成後,界面會提示配置完成。此時您可以通過在目前頁面頁點選 同步 按鈕
不止支援swagger導入,還支援很多種導入資料類型,大家可自行體驗,可以跟虛竹哥探讨探讨。
api變更通知
這個功能對于子產品的開發負責人是福音。當團隊成員某個需求或某個bug,修改了api接口,早期相關負責人是無法及時得知的,隻能去看送出記錄。
有了api變更通知,子產品開發負責人對負責子產品的api 情況了如指掌,有問題也能及時發現并提醒。
把某個出參/入參移除,對某個業務是不影響,但會影響其他業務,負責新需求開發的人,不一定了解這個情況。新增了不少出參,但實際應該另開一個api接口,原先這個api接口的作用是如此如此~這般這般~
可以單個接口設定通知:
也能全局配置:
2.3、測試管理
編寫測試用例
痛點:測試人員工作總是排在最後進行,無法參與項目讨論,無法進行快速大範圍回歸測試,甚至無法按時完成測試任務,導緻項目延期或帶着忐忑上線。使用協作工具後優勢:開發人員将API文檔寫好之後,測試人員就可以馬上介入,在API文檔的基礎上編寫測試用例; 等開發人員開發api後,測試人員可直接執行測試用例,一鍵對 API 進行冒煙測試,并且得到詳細的測試報告,如果有異常則可針對性改進。還有一個優勢,當api發生變更時,測試人也能及時知道,并修改api測試用例。
建立測試用例:
填寫 API 的請求位址、請求參數、校驗規則等資訊:
還可以智能地校驗傳回結果:
支援多種校驗方式:
批量測試
測試報告:
會計算測試通過率:
不同環境的測試
需要測試的環境有:開發環境(一般開發人員自測)、測試環境、預釋出環境和生産環境(一般不會直接測試,除非有線上問題發生)痛點:這些環境服務的位址和端口很有可能是不一樣的,要修改大量的測試用例,工作量非常大。使用協作工具後優勢:可以定制不同環境的項目環境,設定項目内API的請求位址字首、全局變量、額外參數等資訊。可以一鍵切換項目環境而不需要修改API文檔。
建立項目環境:
請求位址字首
給項目内所有API加上統一的請求位址字首。
額外請求頭部
給 API 加上統一的請求頭部。
額外Form-data請求參數
如果API的請求體是Form-data類型,則會加上額外的請求參數。
切換環境
如圖位置,可切換環境
2.4、項目管理
一鍵快速生成API接口文檔
可以将項目的API文檔導出為多種離線格式,友善分享給團隊以外的人。
支援多種導出格式:
支援導出指定分組的api文檔
統計分析
對項目管理者來說,要能快速直覺地了解這個項目的情況,有一個統計分析報表,是非常重要的
api測試用例報告
項目管理者細節跟進:可檢視所有的api測試用例報告,清晰地了解,api都有什麼問題及時發現問題,并組織或分享問題及解決方案,提高研發效率。
測試用例報告詳情:
三、總結
我們來回顧下,本次分享介紹了什麼是API研發管理,傳統的研發流程的api管理有大量的痛點,涉及開發人員,測試人員和項目管理人員,虛竹哥給出了一個建議解決方案:“道、法、器、術” 四字口訣。