小程序測試工作
- 前期准備
(1) 微信版本號需在6.3.27及以上,低於提示升級。
(2) qa需申請對應小程序體驗者權限&開發者權限。
(3) 小程序開發版、體驗版、正式版。
(4) 小程序AppID,項目地址&名字。
(5) 明確小程序本次測試入口&版本。
(6) 微信公眾號平台發布的【小程序開發助手】, 可方便快捷的預覽和體驗線上版本,體驗版本以及開發版本。
- 測試點
(1) 授權:目前已實現靜默授權,即用戶首次訪問小程序,主動獲取微信授權,通過獲取openid,生成轉轉uid,並存儲昵稱、頭像等信息。后續用戶若殺掉小程序重新進入,無需重新授權。
(2) 功能:與端內正常測試功能無異;
(3) 緩存:功能需求后,此時就需要關注緩存情況:
① 微信給每個小程序提供了10MB的本地緩存。
② 對於賬號切換、版本發布等帶來的緩存,目前解決方法是簡單粗暴的將小程序刪掉,重新進入生效。
③ 頁面切換時,可能會將上一個頁面的數據帶到下一個頁面展示,例如【主程序-紅包需求】點擊“未使用”先顯示正確文案—》點擊“已使用”或“已過期”—》點擊“未使用”,文案卻展示“已使用”和“未使用”的文案。此時可以給開發人員提bug,通過代碼解決頁面緩存問題;
④ 從代碼層面解決緩存問題:
1) 清除當前存儲到storage里的內容,如cookie信息,主要調用wx.clearStorageSync();
2) 2.從基礎庫1.9.90開始,小程序支持自動更新上線代碼,接口為wx.getUpdateManager()。
(4) 性能
(5) 分享功能測試:
① 分享到好友列表&生成海報頁分享到朋友圈;
② 用線上/測試/開發版分享給好友,落地頁(引導頁)就是相應的線上/測試/開發版;
③ 朋友圈識別跳轉都是線上版;所以在測試過程中若涉及到掃碼跳轉,就需借助【小程序碼測試工具】。
(6) 服務通知:以模板ID的形式推送服務通知;
(7) 微信公眾號:
① 需關注公眾號&無須收集formId;
② 小程序服務通知:收集formId;
③ formId有效期7d,如果用戶沒有可用的formId,則無法給用戶推送相應消息;
④ 通過點擊操作單個/批量收集formId,主要存儲在wtable,觸發行為如支付、提交表單等;詳情戳一戳它https://mp.weixin.qq.com/debug/wxadoc/dev/api/notice.html
⑤ 批量收集formId:POST請求,如zzwxpush/addFormIds
⑥ 單個收集formId:GET請求,如zzwxpush/addFormId?formId
⑦
⑧
⑨ 每個小程序收集的formId,只能用於對應的小程序,也只能用於對應的uid。例如閑置社108批量收集formId,卻存儲在小程序103,結果導致閑置社批量formId失敗,而且小程序存儲很多無效可用的formId,主要原因是由於前端傳入參數source=103導致。
⑩ 常出現問題:formId無效(命中小程序自身策略)、無可用formId(需收集)。
(8) 層級:
① M頁、toast、彈窗等不受限於層級問題;
② 小程序原生頁面超過10層后不能再打開新頁面,正常業務流程或閉環容易造成10層問題,例如個人中心--》商品列表頁--》個人中心……
③ 解決方法【層級策略】:將頁面鏈接存儲到storage,返回時則刷新拉取存儲的頁面鏈接。目前只保存頁面路徑,不保存頁面數據。
(9) 兼容:
① 微信版本:小程序的接口完全依賴於微信,因此部分基礎庫較高的接口可能在低版本的微信上不生效,需做兼容,如:頁面內分享是基於1.2.0的基礎庫開發,因此要求對應微信版本在6.5.8及以上;
② 不同機型:如某頁面在華為機型展示沒問題,但到小米機型卻展示有問題;
③ 手機系統:Android和ios兩個版本兼容性可能不同;如個人主頁中【安卓和ios】評價樣式有問題。
(10) 埋點:
① 埋點測試大致和端內測試流程一樣,關注actiontype&pagetype等參數;
② 小程序統計常需區分用戶來源渠道,因此還需關注【backup】中的channel,pagechannel,type等參數。
③ appid:主要存儲小程序source參數值。
④ scene:場景值,詳情https://mp.weixin.qq.com/debug/wxadoc/dev/framework/app-service/scene.html
⑤ channel:只對小程序入口頁生效,會伴隨整個生命周期,直到退出小程序。如果沒有明確的參數值,則默認為none。
⑥ pagechannel:針對頁面url參數,只帶到落地頁,不會帶到后續頁面。如果沒有明確的參數值,則默認為none。
⑦ type:目前用在詳情頁,主要用於區分此商品是個人mine/圈子group/他人normal。
⑧ 根據pm需求還可以增加相應渠道參數。
(11) 內嵌M頁:
① 1.6.4版本開始陸續支持小程序內嵌M頁。
② M頁不受限於小程序的層級頁面,如【游戲M頁】點擊首頁—》游戲頻道為1層頁面,而不是2層頁面。
③ 測試M頁需做相應的適配,以在小程序能夠正常使用,如登陸等。若M頁嵌入native頁面,則還需要額外做native頁面交互的適配。如【游戲—我的拼團】沒做適配,則提示此錯誤。
④ M測重點關注頁面跳轉功能,展示等問題。
(12) 測試坑點:
小程序測試過程中經常碰到的坑,重點需關注:
① 層級頁面跳轉
② 兼容性
③ 緩存
具體內容請查看鏈接https://testerhome.com/topics/16299