小程序測試經驗總結前端
1. 小程序產品的版本類型
小程序分爲三種版本類型:開發版,體驗版,正式版
開發版和體驗版無需審覈,須要給微信號配置權限,經過掃小程序二維碼才能訪問,-------記得打開調試。
開發版和體驗版的區別在於,在開發版小程序二維碼有效期比較短。
正式版須要經過微信審覈流程。
項目中咱們通常會準備三套環境。開發版訪問測試環境,體驗版訪問預發佈環境,正式版訪問生產環境。
2. 先後端分離的技術架構
小程序產品大多采用先後端分離的技術架構。
雖然說前端也有邏輯處理,更可能是爲了優化體驗作緩存,關鍵流程和狀態流轉仍是要經過調用後端接口來落地的。
接觸過先後端分離的Web 或 App 項目的測試人員,在小程序產品的測試中是很容易上手的。
3. 測試過程當中的問題定位
發現問題時,須要快速判斷是前端,後端,又或是第三方組件的問題。
因爲小程序產品有不一樣類型的版本,還須要排除是否不是最新的開發版,是不是多個環境未處理好致使串數據了… 而快速定位問題,須要依據完備的日誌。不光是後端接口日誌,前端頁面在捕獲到特殊的客戶端異常時也應該上報。這每每是開發人員容易疏忽的地方。
4. 微信服務通知
微信內支持服務通知跳轉到小程序。
微信服務通知,須要小程序傳一個 form id 的參數給微信,再根據服務通知模版來向微信用戶發送微信服務通知的。然而 form id 不是小程序自行生成的,而是該微信用戶在該小程序內操做時,微信產生並返回給小程序的。也就是說,若是用戶在小程序頁面上操做的時候,小程序前端頁面沒有把微信提供的 form id 收集下來,並返回給小程序後端,小程序後端是沒法發送微信服務通知給用戶的。不一樣的微信用戶在小程序內的操做頻率不一樣,form id 的數量也就不一樣
5.權限測試
須要檢查如下幾種狀況下微信用戶訪問的權限
1)未受權微信登陸小程序
未受權時,通常使用一些業務功能的時候,都會彈出提醒:先受權再操做對應功能。or在提交數據到後臺的時候,會提示補充相關身份信息才能提交成功
2)已受權微信登陸小程序
受權微信訪問小程序,意味着本身的微信帳號可被小程序管理方所獲取,自動以微信的身份行使業務操做權限,好比諮詢、支付、數據查詢等
3)同一微信號在不一樣手機端登陸受權查看數據權限
同一微信號在不一樣手機微信端受權登陸同一小程序以後,所能查看的數據和操做的權限都應該是同步一致的
4)從新受權
微信在更換設備登陸後,須要對小程序從新受權
6. 兼容性測試
1)手機操做系統
常規的手機端OS爲:Android(8.x/7.x/6...)、IOS(11.x/10.x/9.x...)
2)微信版本
對於已上線的小程序,有可能會由於微信版本升級以後致使對部分小程序的組件支持產生衝突,手 機端微信上查看的小程序頁面出現樣式有異常,好比出現少部分區域的黑屏,這種狀況須要同步在小程序的程序包中修改一些組件再次更新。
3)小程序碼的兼容性測試
目前小程序不支持直接分享朋友圈,只能分享微信好友。因此不少小程序都經過生成帶有小程序碼的圖片,用戶能夠退出小程序將圖片發佈到朋友圈。既然把小程序碼做爲圖片的一部分,就涉及到小程序碼的位置,尺寸,還得不影響原有圖片的美觀,生成的小程序碼還須要是可識別的。
7. 異常測試
斷網/恢復忘了,弱網測試
8. 微信小程序規則
1)小程序的功能定義與實際提供的服務必須一致;小程序所提供的類目,必須放置在首頁,最深也只能放置在二級頁面;
2)小程序所提供的服務目前暫時不能涉及遊戲、直播等服務(涉黃涉賭就不用多說了)內容也不能涉及測試類內容;好比:算命,抽籤,星座運勢等;
3)小程序所提供的服務能夠容許設置付費可見及隱藏可見-主要是付費交易在iOS審覈過關難
4)小程序不能提供與微信現有功能類似的服務,如含朋友圈、漂流瓶等,也不能提供導航、排行榜、互推的服務;
5)小程序一如既往的不支持誘導分享、誘導關注,虛假欺詐等內容,也不支持廣告展現比例超過50%的頁面內容;
6小程序不得誘導、泄露、轉讓用戶的任何數據。全部行爲都必須通過用戶受權或有明顯提示小程序
9.性能測試
這裏的性能測試考慮的是客戶端的性能,服務器的性能則按照傳統的服務器性能測試方案便可。小程序的客戶端性能和網頁的性能測試很是相似,性能的經常使用指標也大體相同。包括頁面的白屏時間,首屏時間,資源佔用,頁面渲染時間,幀率等等。
小程序的開發工具提供了手動查看性能的窗口,只要在小程序開發版中打開性能窗口便可看到頁面的性能數據。
可是這個性能窗口的問題是隻能手動獲取數據,沒法自動記錄所有頁面的數據,所以適用於定位性能問題而不適用於發佈前的性能測試。因此性能測試能夠考慮性能打點上報的方式進行性能分析,上報時區分測試環境和運營環境。發佈前先在測試環境分析各個頁面的耗時,及時發現頁面的性能問題。後端