小程式測試雜記
1、你知道測試小程式跟普通的APP有什麼異同麼?
原生APP
需要安裝,解除安裝,操作麻煩;佔用手機空間
需要註冊登入系統
開發週期長,消耗大,成本高10倍+
支援的平臺(android、iOS)需要單獨開發
宣發方面需要自己推流,成本高,效果差
小程式
無需安裝,用完即走
使用微信的賬號,無需註冊登入
週期短,開發快,成本是APP的1/10
一個版本相容各種手機平臺
天然擁有超過10億的微信使用者流量
2、你真真切切的瞭解什麼是小程式麼?
檢視下面 第二模組
3、然後給你一個小程式,你要如何開展測試呢?
檢視下面第 六 模組有詳情
- 功能方面的測試點
- 非功能方面的測試點
- 介面測試(UI)、相容性測試、易用性測試、效能測試、安全測試
一、為什麼要學習小程式測試?
主流應用形態:
1、原生APP,包括 Android . ios
2、小程式
3、H5
原因:
為了節約時間,在效率和效果之間不斷權衡,衍生出小程式這種應用形態
小程式的應用形態越多,測試也要覆蓋小程式這種應用的測試
在功能測試、效能測試、自動化測試 都會涉及到
二、微信小程式是什麼?
“小程式是一種不需要下載安裝即可使用的應用,它實現了應用「觸手可及」的夢想,使用者掃一掃或者搜一下即可開啟應用。也體現了「用完即走」的理念,使用者不用關心是否安裝太多應用的問題。應用將無處不在,隨時可用,但又無需安裝。”
-
- 一句話解釋︰微信小程式是執行在微信裡的APP
概念:
小程式就是,依附於微信而不需下載和安裝的移動端應用程式!
三、小程式的優點
1、無需下載即用即走
不需要考慮安裝、解除安裝等測試點
2、功能豐富,清爽體驗
介面裡的操作更多的是點選或者滑動,不是輸入,操作性更強
3、流量大,易裂變
依附微信,使用者體量大的天然優勢
四、小程式的架構---瞭解
View 層用來渲染頁面結構。檢視層和邏輯層通過系統層的 JSBridage 進行通訊
wxss(多了rpx單位)控制樣式 -> css
wxml xml 語言控制渲染層展示 -> html
五、小程式和原生APP的區別 --- 面試高頻
原生APP
需要安裝,解除安裝,操作麻煩;佔用手機空間
需要註冊登入系統
開發週期長,消耗大,成本高10倍+
支援的平臺(android、iOS)需要單獨開發
宣發方面需要自己推流,成本高,效果差
小程式
無需安裝,用完即走
使用微信的賬號,無需註冊登入
週期短,開發快,成本是APP的1/10
一個版本相容各種手機平臺
天然擁有超過10億的微信使用者流量
六、小程式,應該如何測試?
功能方面的測試點
非功能方面的測試點
介面測試(UI)、相容性測試、易用性測試、效能測試、安全測試
1、功能測試--業務測試
分析產品需求文件,提煉測試點
使用的方法和步驟跟 web、APP測試一樣(等價類、邊界值、場景法、錯誤推測法等)
2、功能測試 — 小程式專項 — 入口測試
小程式的常用入口
- 小程式二維碼"掃一掃”
- 長按識別小程式二維碼
- 微信發現-小程式
- 公眾號圖文群發進入小程式
- 附近的小程式
- 好友分享、群分享
- 搜尋小程式
- 小程式歷史列表
- 桌面小程式
問題:這些入口都需要覆蓋測試麼?
- 公司小程式支援、常用、推廣哪些入口就測哪些
3、與微信的互動
支付 -- 微信支付
卡包、錢包 -----優惠券用來抵扣
來微信訊息 ----- 是否可以繼續支付
來微信視訊通話 ----- 是否可以繼續支付
來微信語言通話 ----- 是否可以繼續支付
4、登入許可權測試-授權
- 不用註冊,可以直接用微信賬號登入
- 授權後,可以直接用該賬戶許可權進行操作
- 可以取消授權--出於安全考慮
注意:同一微訊號在不同手機端授權是同步一致的!
5、登入的流程和原理
小程式(蘇寧小程式)、第三方伺服器(蘇寧伺服器)
- 1步、蘇寧小程式登入會去發起一個wx.login請求,傳送到微信伺服器,會獲取微信賬號登入憑證
- 2步、蘇寧小程式將登入憑證帶到蘇寧自己的業務伺服器,蘇寧伺服器通過登入憑證和其他資訊獲取使用者ID(是通過 繫結 微信使用者ID 和 自己的業務使用者ID 生成的 使用者ID,並且生成業務登入的 sessionlD) ------ 超時需要重新登入
- 3步、蘇寧伺服器返回業務登入的 sessionlD 給到 蘇寧小程式前端,下次請求直接帶上 sessionlD ,就可以直接登入,不需要每次登入都需要在獲取憑證了
6、小程式和原生APP的資料同步
- 同一個使用者,使用小程式授權登入,添加了購物車或者買了東西,APP端也能看到結果
7、小程式的分享
分享可以成功
分享後可以點選正常開啟
8、新增到我的小程式
新增成功,正常顯示
可以點選開啟該小程式
9、中斷測試
電話中斷
鬧鐘中斷
低電量中斷
耳機插拔中斷
網路中斷
10、網路測試
網路型別:3G/4G/5G/wifi/熱點
網路切換
離線/無網
弱網測試
七、非功能測試 —— UI測試
點選 單擊、雙擊
跳轉 當前頁、上一級、下一級
滑動 下拉重新整理、上拉觸底、左右翻頁、雙指滑動
輸入 手動輸入、下拉框選擇、檔案/圖片上傳
輸出 載入響應、輸出準確
分享 分享載體、分享許可權
1、介面測試
原則:
原型圖、UI切圖 --- 需求文件
站在使用者角度考慮,美觀和友好、易用性
參考成熟產品,符合大部分使用者的使用習慣
小程式更加輕量級,更加便利
導航的操作區,一般不超過5個
UI更多的是點選操作,輸入比較少
所以,有如下原則:
1、頁面層級數為10層
2、開發源程式大小不超過8M 原始檔(包載入,單個分包不超過2M)因為,過於複雜的邏輯存在不可控的異常問題
2、相容性測試
原則:
手機型號 -- 微信能相容基本沒有問題
系統版本 -- 微信能相容基本沒有問題
螢幕大小 -- 小程式訂一個新的畫素單位-rpx
微信版本 --小程式要特別注意的
微信上其他小程式的相容 --- 公用音效卡話筒這種
3、效能測試
介面效能測試-APP web 小程式
-
- Jmeter介面效能測試
- Loadrunner效能測試
客戶端效能測試--小程式前端
頁面白屏時間不宜太久
頁面首屏時間不宜太久
手機資源佔用(cpu,記憶體,流量,電量)
頁面渲染(UI呈現效果)
穩定性測試
問題:是否可以使用 monkey 工具測試小程式的穩定性測試呢?
可以的,加微信的包名,小程式在微信前端開啟就可以
4、安全測試
業務漏洞
資料加密傳輸
工具和指令碼測試
滲透測試
小程式加固測試
小程式安全檢測
安全掃描:burpsuite,appsca,AWVs,dirsearch,nessus
微信提供檢測工具:wetest
八、原生App與小程式幾點對比
1)小程式開發比原生App更簡單,開發週期更短。小程式提供框架和API,基於HTML5進行開發,對接開發者現有的App後臺的使用者資料,其開發難度相對App較低。
2)小程式開發成本比原生App更低。原生App開發需要的人力、物力和時間成本都比較高。
3)小程式可以滿足一些簡單的基礎應用,低頻次及偏向於線下和場景生活服務類的輕應用,餐飲、快遞等行業其受歡迎程度高。而對於一些需要大量計算的功能類應用,如圖片處理或文件編輯,小程式是無法滿足的,只能用原生或者WebApp去實現。
4)原生App的UI、UE可以設計得更加人性化,更絢丼,功能的完善完全取決於開發者的想象力和技術實力。對系統介面的呼叫更為簡單,一些功能比如AR(增強現實技術)、語音識別等功能,App能夠在互動、視覺等使用者體驗上滿足使用者高要求。對於更豐富、更細化、更個性化的功能,是需要更大容量實現,這就需要在App上去承載,而小程式作為輕量級應用是無法滿足的。
5)原生App應用可以在AppStore、Android市場、360手機助手、百度應用、安全管家等應用市場進行下載安裝。微信小程式,只能通過二維碼或搜尋小程式的名稱,以及微信群或好友分享獲取應用;另外微信公眾號關聯了小程式,那麼在公眾號的介紹頁面,才會出現一個相關小程式的模組。只要點選相應的圖示,就能輕鬆開啟。
6)安裝流程,小程式更簡單。開啟微信掃描二維碼即可進入小程式。App需要掃碼或者搜尋進行下載並安裝後才可以使用。
7)原生App安裝在手機上會佔用一定的空間,且隨著功能的不斷完善和更新其佔用的資源也會更多。而微信小程式無須下載,其內容和功能都不佔用手機記憶體;但微信本身比較臃腫,好友會話、群訊息、朋友圈等功能堆積會佔用大量的手機記憶體容量。
8)功能擴充套件性,App更強。
9)App的維護成本較高,需要針對不同作業系統做相容性的開發,且需要使用者自行升級。小程式運行於微信平臺,大部分的維護工作由騰訊完成,其維護成本、週期和流程簡單,更新也主要在微信後端完成,不存在作業系統和瀏覽器相容方面的問題。
10)App使用者忠誠度更高,因為App內容全面,使用者主動選擇,App獲取門檻高,二次消費門檻很低。小程式的內容碎片化,使用者被動接受,用完就退出程式,雖然首次消費門檻低,但後續消費門檻無法降低,使用者由於難以找到小程式而選擇放棄。
11)小程式只是簡化版的App,並不能涵蓋App的全部內容。微信對小程式的記憶體大小限制在2MB,只能儲存最基礎的功能。App更適合高頻場景的服務,天然具備獨立發展成生態的潛力,可以自成一套生態體系。即使小程式在使用者體驗上大大增強,這些也只是增量,App還是主要的陣地。
12)小程式由於微信本身的傳播能力和獲客能力,可以讓網際網路創業公司減少試錯成本,提高產品的成功率。但微信缺少小程式的展示位,小程式難以獲得好的位置資源,對於刜創品牉來說如何讓使用者搜尋到並引導使用者點選前往是一大難題。WebAppWebApp也就是我們說的HTML5App,是一種框架型App開發模式。具有跨平臺的優勢,該開發模式通常由“HTML5雲網站+App應用客戶端”兩部分構成,App應用客戶端只需安裝應用的框架部分,應用所有介面都是通過HTML5去實現,每次開啟App的時候,都是去雲端獲取資料呈現給手機使用者。
九、實際小程式測試用例
- 專案立項
- 需求分析
- 測試計劃
- 測試設計
- 測試執行
- 測試評估
- 專案結束
第一步、蘇寧小程式的需求分析、提取測試點 -- 測試思維
軟體測試點分析基本原則——通用
- 第一步:先了解產品的基本的業務流程邏輯:是個什麼專案,做什麼的,怎麼工作的?
-
畫出流程圖,業務邏輯梳理------場景法
-
- 第二步:細分模組,針對每個小功能模組進行詳細的劃分:
-
正常:覆蓋正常核心業務流程--優先測試? ? --單個功能冒煙測試
-
異常:各種異常? ? --貼近使用者使用場景,確保產品正確處理,提示友好!
-
注意:確保不遺漏,列出輸入項異常輸入項
-
-
- 第三步:針對具體功能,尋找每個輸入項,從以下角度來具體分析測試點
-
長度,資料型別,必填項,重複
-
需求的約束條件 + 隱形需求
-
結合業務流程的步驟
-
- 第四步:考慮非功能測試點包括介面、易用性、相容性、安全性、效能壓力
蘇寧測試點
將喜歡的一切留在身邊,這便是努力的意義。