iOS研發工具MockServer的實踐分析
前言
京東APP核心購物流程因其重要性,內部稱之為黃金購物流程,公司各大業務事業部都有許多個性化訴求,每個版本承接的需求量很大。研發在保證需求完成數量的同時,還需要保證代碼質量和持續提升開發效率,對于工具的應用就顯得非常急迫。
iOS Mocker是我們部署的一套服務端接口Mock工具,主要用于業務開發過程解耦、測試數據保存和分享、客戶端容錯測試等場景。目前已完成搜索、商詳、購物車等核心購物流程的接入,內部存儲的數據基本覆蓋了這些模塊所有線上可能出現的接口返回場景,為各模塊的版本迭代和代碼重構提供了更全面的數據保障。
現狀和痛點
?
開發過程客戶端依賴服務端接口進行聯調
在開發階段,客戶端和服務端同時進行需求開發,客戶端在有些需求上可能需要等待服務端需求上線之后再進入開發,這種等待是不必要的,也增加了客戶端后期的工作壓力。
?
客戶端更便捷的積累和獲取驗證數據
以搜索結果頁的商品列表為例,由于商品種類繁多,特性差異巨大,列表頁中給每個商品的展示區域雖然很小,但是卻希望將每個商品的賣家、好評、促銷等特征信息全面的呈現出來,所以每個商品占位僅有242像素高的cell上總共分出了9個區域。每個區域的展示根據服務端下發配置的不同,不同機型適配邏輯不同,組合成200多種不同的展示形態。手機品類的幾種情況如下圖:
?
由于cell有復用機制,在線上環境,cell中的每一種布局在理論上都有被回收復用到另一種布局的可能。那么,我們如何保證每一種布局之間相互復用都不會有問題?如何保證在某個區域新增加一種展示方案后,不會對相關區域造成不確定的影響?這種全面驗證的主要難點在于特殊數據的積累上,需要一個工具來輔助客戶端研發創建和積累這些特殊的驗證數據。數據積累之后,客戶端研發在代碼重構和需求開發時能更方便更快速的進行驗證。
客戶端容錯和健壯性測試
在生產環境,客戶端做好接口容錯處理是必須的。比如接口某字段下發為null時候,進行各種容器操作會導致Crash,或者可能會導致界面顯示不能降級,所以容錯和健壯性測試也是很關鍵的。
Mocker目標
去除開發階段客戶端對服務端進度的依賴,研發在Mocker服務器上編輯Json數據,開發時對應接口直接從Mocker服務器上拉取預先編譯好的數據進行解析,完成后續開發和自測,無需在客戶端添加額外的任何測試代碼。
Mock數據全面覆蓋客戶端所有測試用例需要的接口數據,回歸測試時或者代碼重構之后,可以結合測試的代碼覆蓋率數據,保證完成了工程的全面驗證。
有效改善研發和測試的溝通和工作效率,研發在需求提測時候會攜帶驗證的Mock數據ID,測試在功能測試期間不需要依賴預發環境就可以進行測試;測試在發現問題向研發提出時候也會攜帶對應的Mock數據ID,方便研發快速定位問題。
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%
下載地址
iOS研發工具MockServer的實踐分析下載
相關電子資料下載
- iOS17.1可能明天發布,iOS17.1主要修復哪些問題? 377
- 華為全新鴻蒙蓄勢待發 僅支持鴻蒙內核和鴻蒙系統應用 719
- 蘋果手機系統iOS 17遭用戶質疑 731
- iPhone12輻射超標?蘋果推送iOS 17.1解決此事 750
- 傳華為囤積零部件 目標明年智能手機出貨7000萬部;消息稱 MiOS 僅限國內,小米 28208
- 蘋果推送iOS17.0.3,解決iPhone15Pro系列存在機身過熱 216
- Testin云測兼容和真機服務平臺中上線iPhone 15系列手機 208
- 利爾達推出搭載HooRiiOS的Matter模組 145
- 運放參數解析:輸入偏置電流(Ibias)和失調電流(Ios) 128
- 昆侖太科發布支持國產飛騰騰銳D2000芯片的開源BIOS固件版本 448