前後端聯調實踐總結
聯調的認知和感觸
認知(討論)
- 為什麼要聯調?
- 聯調都幹些什麼?
聯調的問題
聯調就是後端不好好寫單元測試與整合測試,讓前端發請求呼叫以達到測試的目的;前端不好好寫Mock和測試,讓後端輸出資料以達到測試的目的。
更正確地認識
- 聯調是前後端一起見證靠譜的測試結果
- 給需求方提供一個正確的需求驗證環境
- 儘早暴露前後端實現的問題
聯調必備技能
DNS與HOSTS
- DNS(Domain Name System)的認識
- DNS提供將域名解析為IP
- 域名只是便於記憶,真正起作用的還是IP
- GFW作用,HOST翻牆
- 域名解析順序
- 瀏覽器快取>瀏覽器代理>HOST檔案>系統DNS快取
- 本地DNS伺服器>上級DNS>…>頂級DNS
HOST配置的姿勢
- 直接修改HOSTS檔案
- 使用Chrome應用 ,也有Firefox外掛
- 使用HOST管理工具
- 使用Charles/Fiddler HOST配置
- 使用FEKit/YKit 代理配置
更改HOST不即時生效問題
原因
- 瀏覽器有HOST快取
- 瀏覽器複用了原有HOST的Socket連線
解決辦法
- 重啟瀏覽器或者開啟新的瀏覽器
- 使用Charles/Fiddler等代理,避免此問題
- 使用Chrome工具,強行重置Socket連線
代理服務配置
- Chrome瀏覽器代理 或者
- 系統代理使用Charles/Fiddler 抓取請求包
代理服務HTTPS抓包問題
- 打不開頁面? 需要根據Charles Help選單中規則新增Charles根證書
- 某些包解不開?需要在Charles代理設定裡面配置具體的解包域名
- 線上證書不安全?解包後再封的包跟原來的有些區別,需要單獨開啟對應頁面進行信任
特定場景的除錯姿勢
PC/Touch頁面
- 配置前後端環境
- 配置HOST
- 直接使用瀏覽器及瀏覽器模擬器除錯
- 如果只是前端更改,在不影響資料的情況下,可以使用線上頁面除錯
App頁面
真機除錯
- 手機上安裝Beta包,使用資料線連上電腦
- 允許除錯或者開啟Inspect
- 透過chrome://inspect 或者Safari的開發者工具進行除錯
模擬器除錯
- Xcode模擬器
- 搞一個可以在模擬器裡面跑的App
- 將App拖入模擬器,然後開啟,用Safari開發者工具除錯
微信除錯
- TBS Studio Android系統下基於Webview的應用除錯(騰訊家的)
- 微信開發者工具 微信jsAPI相關除錯
- 通用的除錯工具
如何更有效地聯調
明確前後端的約定
- 根據需求一起約定互動的內容
- 包括但不限於如下內容
-
介面名稱、請求路徑、請求方式
- 返回欄位結構、對應欄位名和欄位型別以及欄位邊界值
- 異常情況資料約定
- 一份逼真的樣例資料
- 前端可以根據這個資料造出各種資料
後端對約定的履行
- 根據約定實現相應的需求
- 使用 進行介面測試
- 使用瀏覽器進行介面jsonp功能測試
前端對約定的履行
- 根據約定實現相應的需求
-
Mock資料
- 使用FEKit Mock資料
- 使用YKit Mock資料
- 使用Charles/Fiddler 代理介面響應
- 任意其他Mock,代理,轉發工具獲取Mock資料
- 透過變換Mock資料,進行功能測試
真正的聯調
- 前端完成自測
- 後端完成自測
- 一起驗證需求的實現
友情建議
- 遠離關鍵路徑,合理調配時間——別拖後腿
- 把握全域性進度,提高整體效率——別浪費時間
- 積極溝通交流,主動推進聯調——別甩鍋
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20597700/viewspace-2142884/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- HTTP協議與前後端聯調HTTP協議後端
- 前後端聯調之Fiddler工具--to前端to測試to後端後端前端
- 前後端開發流程總結後端
- SpringBoot整合minio前後端聯調Spring Boot後端
- 前後端分離,最佳實踐後端
- 前後端分離實踐有感後端
- 文章評論功能前後端實現方案總結後端
- SpringMVC:前後端傳值總結SpringMVC後端
- 實踐中的前後端分離後端
- jQuery 前後端分離專案總結jQuery後端
- 前後端分離專案實踐分析後端
- 貸前系統ElasticSearch實踐總結Elasticsearch
- 前後端不分離到分離演變,優勢,前後端介面聯調,排錯及優化後端優化
- 前後端分離的思考與實踐(三)後端
- 前後端分離的思考與實踐(四)後端
- 前後端分離的思考與實踐(五)後端
- 前後端分離的思考與實踐(六)後端
- 《美團機器學習實踐》—— 讀後總結機器學習
- Django+Vue.js搭建前後端分離專案 web前後端分離專案實踐DjangoVue.js後端Web
- ZanApi 讓前後端協調更高效API後端
- 一次前後端分離架構的實踐後端架構
- 探討可用於實踐的前後端分離方案後端
- 老虎證券web端PWA實踐總結Web
- GitHub 熱點速覽 Vol.23:前後端最佳實踐Github後端
- 前後端分離實踐 — 如何解決跨域問題後端跨域
- 前後端資料聯調的三個小技巧,你一定要知道!後端
- 基於 webpack 的前後端分離開發環境實踐Web後端開發環境
- 前後端不分離 "老" 專案,SQL 注入漏洞處理實踐後端SQL
- 測試開發【提測平臺】分享2-專案前後端聯調互通後端
- 生產服務GC調優實踐基本流程總結GC
- 淺談前後端路由與前後端渲染後端路由
- WebSocket實現前後端通訊Web後端
- 編譯器後端總結編譯後端
- 6.25 之後的聯考總結
- 從壹開始 [ Ids4實戰 ] 之四 ║ 使用者資料管理 & 前後端授權聯調後端
- RESTful API實踐總結RESTAPI
- hadoop實踐總結Hadoop
- Linux實踐總結Linux