微信小程序demo测试实践
https://mp.weixin.qq.com/cgi-bin/wx:平臺地址
建議先了解他的各個文檔,
github.com/wechat-miniprogram/miniprogram-demo
demo下載地址
https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html
開發(fā)者工具地址
開發(fā)版:測試
安裝后需要登錄,
把demo放進(jìn)開發(fā)者工具里,
demo的文件內(nèi)容。這里導(dǎo)入時需要APPID 如果沒有可以使用測試號會有選填
編譯完成后可以預(yù)覽,預(yù)覽可以直接綁定測試機(jī)上亦可掃描二維碼。導(dǎo)入后會顯示此些工具,模擬器、編輯器、調(diào)速器(f12的控制臺)
? ?真機(jī)調(diào)試時分為直接關(guān)聯(lián)手機(jī)和二維碼掃碼,展開后 會查看到
我的真實(shí)情況是這里是沒有打開性能面板
?打開后需要重啟
安卓打不開---問題
通過展示出來的性能數(shù)據(jù),我們能夠直觀的看到實(shí)時的性能,比如切換頁面時的頁面切換耗時。如果想要看性能的整體的長時間變化趨勢,則需要借助trace工具。
我的安卓和蘋果都沒有;開發(fā)版的無法解決在其他兩個版本中連接adb使用查看性能解決長時間問題。
未有權(quán)限報(bào)錯:invalid scope 沒有權(quán)限,請先開通云服務(wù)
百度的解決辦法,但我么有就先擱置,
appDate 類似于fiddler中inspectors。
通過修改真機(jī)調(diào)試界面中AppData中的數(shù)據(jù)可以實(shí)現(xiàn)和fiddler中autoresponder類似的功能,檢查各種數(shù)據(jù)的情況下界面的顯示。因?yàn)槲⑿判〕绦蚴沁\(yùn)行在微信之上的,所以各種功能交互更多是微信考慮處理,測試微信小程序時可以不用太考慮。
兼容性測試:
1、操作系統(tǒng)兼容性(兼容android系統(tǒng)和ios系統(tǒng)),android系統(tǒng)和ios系統(tǒng)對js代碼的處理存在差異,所以需要考慮這兩個系統(tǒng)的兼容性。實(shí)際工作中同一個小程序,需要在android微信上和ios微信上分別進(jìn)行測試。
2、機(jī)型兼容性(屏幕的適配),微信小程序中考慮了屏幕的自動適配,專門設(shè)計(jì)了一個rpi單位,但還是不能完全保證適配沒問題,所以針對小程序仍然需要考慮機(jī)型兼容。
? ? ? ?3、微信版本的兼容性(基礎(chǔ)庫版本適配)
針對開發(fā)版,通過修改調(diào)試基礎(chǔ)庫版本即可做兼容性測試。
在詳情本地設(shè)置欄,
微信小程序網(wǎng)絡(luò)測試
移動app 的網(wǎng)絡(luò)測試考慮:
1、強(qiáng)網(wǎng)測試,不同網(wǎng)絡(luò)下使用、網(wǎng)絡(luò)切換下的使用
2、弱網(wǎng)測試
3、無網(wǎng)測試
微信小程序和移動app的網(wǎng)絡(luò)測試類似。
控制臺紅色部分是進(jìn)行的無網(wǎng),
其他兩個版本可以用filder測試(體驗(yàn)版和正式版)
對于體驗(yàn)版或者正式版,可以完全類似于移動app的測試方式,利用fiddler來做測試。
使用步驟:
1、電腦上的fiddler設(shè)置抓取和解析https的包
2、手機(jī)上安裝fiddler的證書
3、手機(jī)上開啟代理
運(yùn)行小程序后,即可以在fiddler上看到抓取的https的包。
微信小程序性能測試
移動app的性能測試關(guān)注:
1、業(yè)務(wù)響應(yīng)時間(啟動時間/頁面切換時間),通過logcat中查詢displayed關(guān)鍵字
2、Cpu,emmagee
3、Gpu,過度繪制、高速相機(jī)
4、內(nèi)存,emmagee
5、流量,emmagee
6、電量,emmagee
微信小程序因?yàn)橐话氵\(yùn)行的時間短、頻度低,所以關(guān)注的性能指標(biāo)比app要少一些。
1、業(yè)務(wù)響應(yīng)時間(小程序包下載時間/啟動時間/頁面切換時間)
2、內(nèi)存
3、Cpu
4、幀率
5、數(shù)據(jù)緩存大小
微信小程序針對開發(fā)版提供性能監(jiān)控器工具。
微信小程序特殊測試點(diǎn)
1、小程序包大小不能超過3M,開發(fā)版對大小沒有限制,但是體驗(yàn)版和正式版都有限制。
2、頁面層級跳轉(zhuǎn)不能超過10次,比如分類-》居家-》布藝軟裝-》居家-》被枕-》居家-》。。。達(dá)到10次就無法跳轉(zhuǎn)了,如果非要有這種跳轉(zhuǎn)方式,需要考慮不讓微信覺得是10次跳轉(zhuǎn)。
3、緩存,微信小程序?yàn)榱颂嵘脩趔w驗(yàn),會緩存用戶的頁面及數(shù)據(jù),方便下次調(diào)用時直接使用。可能產(chǎn)生的問題:
1)微信小程序緩存的數(shù)據(jù)是否和服務(wù)器端一致。實(shí)際測試時可以先訪問頁面,然后修改服務(wù)器上數(shù)據(jù),再回看小程序中頁面,看數(shù)據(jù)是否一致。
2)切換相似的頁面,看是否緩存的數(shù)據(jù)會產(chǎn)生混亂,比如居家和餐廚兩個分類,切換分類的時候,會不會因?yàn)榫彺鎸?dǎo)致具體信息不發(fā)生變化。
1.fiddler的使用場景
開發(fā)環(huán)境host配置,前后端接口調(diào)試,線上bugfix,性能分析優(yōu)化
2.fiddler的主界面分為:工具面板,會話面板,監(jiān)控面板,狀態(tài)面板
工具面板:
說明注釋、重新請求、刪除會話、繼續(xù)執(zhí)行、流模式/緩沖模式、解碼、保留會話、監(jiān)控指定進(jìn)程、尋找、保存會話、切圖、計(jì)時、打開瀏覽器、清除IE緩存、編碼/解碼工具、彈出控制監(jiān)控面板、MSDN、幫助
兩種模式
緩沖模式(Buffering Mode)Fiddler直到HTTP響應(yīng)完成時才將數(shù)據(jù)返回給應(yīng)用程序??梢钥刂祈憫?yīng),修改響應(yīng)數(shù)據(jù)。但是時序圖有時候會出現(xiàn)異常
流模式(Streaming Mode)Fiddler會即時將HTTP響應(yīng)的數(shù)據(jù)返回給應(yīng)用程序。更接近真實(shí)瀏覽器的性能。時序圖更準(zhǔn)確,但是不能控制響應(yīng)。
抓取手機(jī)端是灰色的問題
發(fā)現(xiàn)使用的http connect方法
connect是為了建立http tunnel,connect是http眾多方法中的其中一種,它跟post、get、put、options方法是并列的。但是它的使用場景很特殊。只有在受限制的網(wǎng)絡(luò)環(huán)境中(防火墻、NAT、代理器)并且是https通信時,客戶端使用http connect請求代理服務(wù)器,代理服務(wù)器使用connect方法與目標(biāo)服務(wù)器建立http tunnel,通道建立后,客戶端與服務(wù)器進(jìn)行通信,代理服務(wù)器就像透明一樣,只是接收、轉(zhuǎn)發(fā)tcp stream。
為什么要建立http tunnel呢?
這是因?yàn)?#xff0c;網(wǎng)絡(luò)環(huán)境受限,客戶端無法直接訪問某些網(wǎng)絡(luò),所以只能通過代理服務(wù)器訪問網(wǎng)絡(luò),然后,將內(nèi)容轉(zhuǎn)發(fā)給客戶端,從宏觀上看,客戶端與服務(wù)器端就像建立了一條隧道一樣。
但是由于http tunnnel可控性不強(qiáng),所以,服務(wù)器通常會限制”可connect的端口”(一般只開放SSL的443端口)
關(guān)于NAT(network address translation)環(huán)境如下圖
又一問題需要解決?
總結(jié):
一、微信小程序的測試點(diǎn)---
單純功能測試的層面來說,微信小程序測試、APP測試、web測試在流程和功能測試上是沒有區(qū)別的,但由于載體的不同,導(dǎo)致有一些不同,主要可以從幾個方面體現(xiàn):入口,微信錢包、卡包、
1、系統(tǒng)架構(gòu)方面
2、性能方面
3、兼容方面
4、測試工具方面
微信小程序測試與app測試非常相似,微信小程序是已微信為載體的,通過微信進(jìn)入小程序中。
性能方面:
1.微信小程序使用微信開發(fā)者工具對小程序進(jìn)行性能測試和web差不多 主要是頁面展開時間、頁面渲染時間、資源的占用,
兼容性:
3、微信版本-微信各個版本(可估計(jì)主要的用戶群體和使用的微信版進(jìn)行測試(主要不同的微信版本對應(yīng)的api)-微信小程序后臺可查看使用版本的統(tǒng)計(jì))
測試點(diǎn):
更新:熱更新、覆蓋更新(需要注意更新版本時,用戶是否需要刪除小程序才會有效果)
微信版本類型:開發(fā)版、體驗(yàn)版、正式版,在測試過程中,曾經(jīng)遇到同一套代碼在體驗(yàn)版正常,發(fā)布 正式版就掛了,經(jīng)開發(fā)分析是微信本身的bug,需要注意這點(diǎn)。
安全方面:
? ? 什么內(nèi)嵌啊不需要測 因?yàn)槭窃谖⑿胖羞\(yùn)行,主要測接口數(shù)據(jù)是否加密
?
?
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的微信小程序demo测试实践的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为OJ平台——整形数组合并
- 下一篇: 计算机专业考研入坑详解(持续更新)