1. 程式人生 > 其它 >微信小程式測試

微信小程式測試

前言

2017年1月9號微信小程式正式上線,小程式無須安裝就能使用,比App輕量、比Web網頁簡潔,依託微信強大的生態環境,能做到很多H5所不能做的事情,但由於依賴微信生態,必須遵守微信生態的規則。

對於小程式的測試,這裡將結合我幾年的小程式測試經驗以及網上資料從幾個方面做一下整理。

一、小程式相關介紹

在測試前,需要先了解下小程式特性和規則。

  • 小程式的限制

1.頁面層級跳轉不能超過5層:(好像最新的文件說小程式頁面訪問層級限制放寬至10層)小程式原生頁面存在5層限制問題,即超過5層時便無法開啟新頁面,而業務流程或者訪問形成閉環時,很容易陷入5層問題。

2.使用者本地快取不能超過10MB。

3.小程式程式碼包不能超過3M,所以部分圖片資源需上傳CDN。

4.小程式釋出需提交微信稽核通過才可發版。

  • 小程式版本——開發版、體驗版、正式版

1.小程式跟web/h5端的測試版本有點不一樣,它有3個版本,分別為開發版、體驗版、線上正式版(也叫釋出版)。

2.如果只是開發後端邏輯功能,可在三個版本中任意一個進行測試;如果是開發前端功能則需在相應的開發版進行測試。

3.三者具體區別如下:

許可權層:前兩者需申請開發者和體驗者許可權才可使用,後者則面向所有微信使用者。

效能層:開發版和體驗版自身帶有vConsole效能面板,而線上版則木有。

程式碼層:開發人員可同時在多個開發版上開發互不影響;體驗版當前只能有一份程式碼處於稽核中,稽核通過後可釋出上線,也可直接重新提交稽核,覆蓋原稽核版本;線上版本則為所有使用者使用的程式碼版本,該版本程式碼在新版本程式碼釋出後被覆蓋更新。

4.包大小:開發版本不限制包大小;體驗版&正式版則限制包大小。

5.二維碼:體驗版保持不變,開發版30min後失效需重新生成。

  • 快取機制

1.為了保證小程式的快速訪問和使用者體驗,微信會快取小程式,包括小程式檔案、授權資料、登入資料等。

2.使用小程式常碰到快取問題,例如切換後端介面環境、cookie、發版、登入等,簡單粗暴的方法就是將小程式刪掉重新進入即可。

①小程式的啟動方式:

冷啟動----小程式首次開啟或銷燬後再次被開啟。

熱啟動----小程式開啟後,在一段時間內(目前:5分鐘)再次被開啟,此時會將後臺的小程式切換到前臺(點選右上角x掉小程式,其實小程式只是退到後臺,並沒有被關閉/銷燬)。

②根據以上兩種啟動方式,相應的更新機制為:

小程式冷啟動時,會檢查小程式是否有最新版本。

 如果有則將非同步下載最新版本,但是仍將運行當前版本等到下一次冷啟動時再執行最新版本。

二、小程式4大測試

  • 功能測試

功能測試就是根據業務功能邏輯來測試。

  • 相容性測試

包括作業系統相容性,螢幕相容性,微信相容性。

作業系統相容性:為什麼小程式會出現作業系統相容性,因為Android和ios系統上小程式的JavaScript指令碼的執行環境不同。官方文件中有說明,在開發工具上,小程式的js程式碼時執行在nwjs中,在ios上是執行在JavaScriptCore中,在Android上是通過X5JSCore來解析的。正因為指令碼執行的環境不同,因此在開發工具上正常的小程式有可能在ios和Android系統上不符合預期。

螢幕相容性測試:微信小程式定義了一個新的尺寸單位rpx(responsivepixel)可以適配不同尺寸的螢幕,在頁面上定義物件的單位是rpx就可以在不同的螢幕上適配。因此對測試來說不需要測試各種螢幕下的頁面顯示。但是,在實際測試的過程中仍然存在螢幕適配的時候出現畫素問題,因此需要在測試過程中注意螢幕相容性問題。

微信相容性:與微信版本的相容性問題主要體現在小程式api庫的版本上,有些比較老的版本的小程式api庫不支援新版api,因此會出現相容性問題。所以測試微信版本的相容性之前要先確定小程式使用的庫版本在哪些微信版本號上支援。

  • 效能測試

這裡主要是測試頁面的白屏時間,首屏時間,資源佔用,頁面渲染時間等等。

  • 自動化測試

小程式的自動化測試是個必然的趨勢,自動化測試可以提高迴歸效率,是一種重要的輔助測試手段。

三、小程式測試需要注意的地方

  • 小程式限制對測試的影響

目前小程式在UI、設計、樣式、頁面跳轉、訊息大小等都有自己的限制,這些限制對測試來說主要是以下幾個方面:

1.數量限制

小程式一個應用只能同時開啟5個頁面,在規劃新需求的時候一般會考慮到5個頁面的限制,但是需求迭代越來越多跳轉關係比較複雜的時候很容易忽略5個頁面的限制,這個時候如果跳轉邏輯超過5個頁面會出現跳轉打不開的情況。因此在需求評審的時候就應該把小程式的跳轉關係有個整體的梳理,在新加頁面處理跳轉關係的時候能夠一目瞭然不會出現超過5層限制的問題。

如果已經做到跳出5個頁面的限制,需要特別檢視各個頁面間的跳轉情況,重複進入的頁面以及關閉頁面能否返回上一層頁面。

2.大小限制

小程式原始碼打包後的大小限制為1M,因此原始碼中的圖片和icon和資料等都需要壓縮。這裡就可能出現數據和圖片丟失,不清晰等問題。

  • 域名問題

小程式無法請求訪問未配置的其他業務域名 / 非https域名,在管理後臺配置相關域名後,才能請求。

另外,如果介面為測試環境的小程式,在手機上測試需要開啟除錯才能訪問(開啟除錯時是不校驗域名的,任何域名都能訪問);而在開發者工具測試需要勾選【詳情】中的【不校驗合法域名,web-view(業務域名),TLS版本以及HTTPS證書】。

所以涉及到有外鏈跳轉、訪問其他業務域名的測試時,需要注意這個域名問題。

  • 小程式碼跳轉問題

經過服務端的配置生成了小程式二維碼,不管什麼環境,用手機掃小程式二維碼都會跳到手機已經發布的正式版小程式中。

測試時,需要跳轉到指定環境的小程式開發版本,可以把小程式碼儲存到電腦中,使用開發者工具的【通過二維碼編譯】進行跳轉。