從元月份開始,一直在思考在App測試中,如何能夠更好更快的完成測試?如何能夠快速的進行人員能力遷移?如何在通過一定的訓(xùn)練減少因人員能力差異帶來測試質(zhì)量的不穩(wěn)定。
在App測試過程中就是測試一個個頁面,而這個頁面的技術(shù)特性決定了這個頁面需要注意哪些地方,比如原生頁面、H5頁面、RN、小程序等;每個頁面中會用快速搭建業(yè)務(wù)能力的業(yè)務(wù)組件,比如彈窗、XView、分享、引導(dǎo)、搜索等功能;最后才是這個頁面要實現(xiàn)什么樣的業(yè)務(wù)能力。
如果在測試過程中把業(yè)務(wù)能力分解并形成一些通用技術(shù)能力并抽取成通用能力,提供給每個測試同學(xué)培訓(xùn)內(nèi)化,形成他的基礎(chǔ)工作能力。比如在測試A頁面時,A頁面是一個RN頁面,首先考慮RN如何測試,要關(guān)注那些點;再接著找到頁面中業(yè)務(wù)組件,比如頁面中使用了彈窗、分享、push等業(yè)務(wù)組件,這時考慮測試組件的測試要點;最后結(jié)合該頁面提供的業(yè)務(wù)能力進行測試。
這樣就實現(xiàn)了具體的業(yè)務(wù)流程和業(yè)務(wù)組件、技術(shù)組件之間的解耦,快速實現(xiàn)測試人員能力之間的遷移,填平技術(shù)人員之間能力差異鴻溝。
1.業(yè)務(wù)分層測試架構(gòu)設(shè)想
基于以上思想,簡單對業(yè)務(wù)分層測試策略架構(gòu)進行說明。如圖所示

技術(shù)組件:主要指與應(yīng)用的基礎(chǔ)技術(shù),如RN、H5(webview)、小程序、原生等。
業(yè)務(wù)組件:業(yè)務(wù)組件主要指業(yè)務(wù)中的通用功能如彈窗、XView、分享、引導(dǎo)、搜索等功能。
業(yè)務(wù)流程:指與業(yè)務(wù)相關(guān)的業(yè)務(wù)規(guī)則、流程等業(yè)務(wù)屬性信息。
2.基于技術(shù)組件測試要點分析(持續(xù)更新中)
在App測試中,使用的技術(shù)不外乎原生、RN、H5(webview)、小程序等。在測試過程中需要快速了解各種技術(shù)實現(xiàn)細節(jié)和使用注意事項,就可以達到事半功倍的效果。
如:原生應(yīng)用的測試,以Android為例,需要深入的了解每個版本之間功能差異,API接口升級對存量版本的影響?明確了這些內(nèi)容,在做版本之間的適配測試時,就能夠很容易的做出各種適配測試策略。
如:RN來說,RN技術(shù)屬于一種即插即用的技術(shù),在初次使用時,先要進行下載,完成下載后進行渲染。非初次使用時,會根據(jù)緩存策略,從緩存中獲取數(shù)據(jù),然后進行渲染。
了解這個過程后,就很容易對RN技術(shù)進行測試,對于RN的頁面,需要分成初次加載和非初次加載。初次加載需要進行各種網(wǎng)絡(luò)模擬的測試,如2G、3G、4G、wifi,弱網(wǎng)以及各種網(wǎng)絡(luò)切換時的RN頁面的下載測試,同時需要對各種機型機型適配下載和渲染業(yè)務(wù)進行適配。
如果非初次加載,需要對各種緩存情況進行測試。
對于小程序測試,則需要了解其核心組件,視圖容器、表單、導(dǎo)航、媒體組件、基礎(chǔ)組件、畫布等組件特性,根據(jù)組件特性執(zhí)行不同的測試策略。同時需要關(guān)注API接口和服務(wù)端基礎(chǔ)能力服務(wù)。
3.基于業(yè)務(wù)組件測試要點分析
針對業(yè)務(wù)組件,不用業(yè)務(wù)形態(tài)下,抽離出來的業(yè)務(wù)組件各有不同。比如在金融App中通常有XView、彈窗、分享、push等;不同的業(yè)務(wù)形式,組件有所差異,在此以彈窗為例說明業(yè)務(wù)組件測試要點。
以彈窗為例,從技術(shù)角度和業(yè)務(wù)角度分析
1)技術(shù)角度分析
從技術(shù)實現(xiàn)角度和應(yīng)用的角度,分為響應(yīng)式彈窗和告知類型彈窗(無需響應(yīng)),從具體技術(shù)又可分為iOS和Android兩大類,詳細可參照下圖。

響應(yīng)式彈窗:用來傳達需要用戶特別注意的重要信息(如付費下載),在用戶點擊彈窗按鈕或彈窗外部區(qū)域后關(guān)閉。
告知類(無響應(yīng))彈窗:則主要用來告知用戶一些輕量級信息(如消息已發(fā)送),它不需要用戶特別注意,也不需要用戶對彈窗進行回應(yīng),一般會在2秒左右自行消失。
2)業(yè)務(wù)分析
彈出位置:
? ? 關(guān)注彈框的彈出位置、彈出層級、是否允許與其他內(nèi)容同時/層疊展示
彈出頻次:
? ? ①同一天同一個頁面同一設(shè)備同一賬號允許彈出次數(shù)
? ? ②不同設(shè)備約束:切換設(shè)備是否允許繼續(xù)彈出
? ? ③同設(shè)備不同賬號約束:切換賬號是否允許繼續(xù)彈出
? ? ④跟服務(wù)端邏輯有關(guān),只要服務(wù)端下發(fā)了內(nèi)容,客戶端即展示內(nèi)容
展示邏輯
? ? ①彈窗動畫
? ? ②弱網(wǎng)處理(未能成功加載圖片)
消失邏輯
? ? ①點擊跳轉(zhuǎn)后的處理
? ? ②未點擊彈框能否消失
? ? ③切換后臺是否消失
? ? ④殺死應(yīng)用是否消失
跳轉(zhuǎn)頁面類型
? ? ①原生
? ? ②H5
? ? ③RN
? ? ④其他特殊跳轉(zhuǎn)(跟業(yè)務(wù)有關(guān))
多功能交互
? ? ①首次安裝、與幻燈片、新手引導(dǎo)、識別銀行卡彈框等內(nèi)容的先后展示順序
? ? ②外部喚起的處理,schema喚起等
? ? ③支付喚起的處理(未登錄/已登錄)
? ? ④升級彈窗、切換青春版彈窗等的交互
? ? ⑤關(guān)注展示順序,是否允許內(nèi)容層疊展示
內(nèi)容
? ? ①普通彈框
? ②廣告彈框(有推廣標識)
其他
機型適配保證不崩潰、正常展示、跳轉(zhuǎn)。
信息很多,具體測試時需要根據(jù)操作系統(tǒng)和彈窗技術(shù)的特點、以及業(yè)務(wù)使用該彈窗的底層邏輯,進行設(shè)計測試。
4.基于業(yè)務(wù)場景的測試分析
業(yè)務(wù)場景的測試,可能是業(yè)務(wù)測試最熟悉也最糾結(jié)的事情。測試人員天天面對業(yè)務(wù)進行測試,但如何把業(yè)務(wù)測試做好做精確實一件非常難的事情。
做好業(yè)務(wù)測試關(guān)鍵在于業(yè)務(wù)分析,業(yè)務(wù)分子關(guān)鍵在于梳理出場景級用例和單功能測試。
場景級通常通過流程圖分析法、狀態(tài)圖分析法、場景分析法及錯誤推理法進行用例編寫。
單功能測試通??紤]等價類劃分,邊界值分析法,判定表,正交試驗法和組合測試法等等。
另外需要結(jié)合具體業(yè)務(wù)場景和測試策略等進行分析,因為涉及到內(nèi)容較多,后面在專門進行說明和論述。
注:文中涉及許多具體內(nèi)容為組內(nèi)同學(xué)貢獻。
如果你喜歡我的文章,歡迎關(guān)注掃描公眾賬號:MiniStarClub