顏富甲
隨著移動(dòng)互聯(lián)網(wǎng)技術(shù)的發(fā)展,福建省農(nóng)村信用社聯(lián)合社(以下簡(jiǎn)稱(chēng)福建農(nóng)信)也順應(yīng)互聯(lián)網(wǎng)發(fā)展潮流,構(gòu)建了手機(jī)銀行、微信銀行、福萬(wàn)通掌上生活等移動(dòng)金融渠道,為客戶(hù)提供安全、便捷的金融服務(wù)。2017年,福建農(nóng)信電子交易占比89.41%,手機(jī)銀行交易占比35.1%,雙雙位居全國(guó)農(nóng)信系統(tǒng)第一位。福建農(nóng)信手機(jī)銀行客戶(hù)數(shù)突破800萬(wàn),農(nóng)村金融服務(wù)更加便捷。
萬(wàn)物智聯(lián),體驗(yàn)為上。隨著福建農(nóng)信手機(jī)銀行的不斷發(fā)展壯大,移動(dòng)互聯(lián)網(wǎng)業(yè)務(wù)的不斷豐富,也對(duì)用戶(hù)體驗(yàn)提出了更高的要求。如果用戶(hù)在使用過(guò)程中,出現(xiàn)崩潰、卡頓、UI顯示異常等問(wèn)題,勢(shì)必影響用戶(hù)體驗(yàn),更有甚者會(huì)導(dǎo)致用戶(hù)直接選擇卸載,這就會(huì)給手機(jī)銀行業(yè)務(wù)開(kāi)展帶來(lái)一定制約。因此,如何保證用戶(hù)的體驗(yàn)質(zhì)量已成為福建農(nóng)信需要解決的痛點(diǎn)問(wèn)題。而依賴(lài)于用戶(hù)反饋問(wèn)題和意見(jiàn)收集的傳統(tǒng)體驗(yàn)測(cè)試方法是一種被動(dòng)且過(guò)程較長(zhǎng)的質(zhì)量閉環(huán),其實(shí)已經(jīng)傷害到了用戶(hù)體驗(yàn)?;诖?,福建農(nóng)信在建設(shè)完成的“福e測(cè)平臺(tái)”基礎(chǔ)上,開(kāi)展移動(dòng)應(yīng)用自動(dòng)化常態(tài)回歸測(cè)試,結(jié)合性能指標(biāo)監(jiān)控、Monkey穩(wěn)定性測(cè)試、深度兼容性測(cè)試、遍歷測(cè)試等一系列的專(zhuān)項(xiàng)測(cè)試,進(jìn)行移動(dòng)應(yīng)用主動(dòng)式體驗(yàn)測(cè)試的探索實(shí)踐。在開(kāi)發(fā)測(cè)試階段定位影響用戶(hù)體驗(yàn)的因子,從而使體驗(yàn)測(cè)試前移,使影響用戶(hù)體驗(yàn)的問(wèn)題提早暴露,縮短移動(dòng)應(yīng)用項(xiàng)目質(zhì)量閉環(huán),在提升項(xiàng)目質(zhì)量的同時(shí),提高福建農(nóng)信移動(dòng)應(yīng)用用戶(hù)體驗(yàn)。
“福e測(cè)平臺(tái)”介紹
福建農(nóng)信基于開(kāi)源框架Appium,自主搭建了移動(dòng)應(yīng)用自動(dòng)化測(cè)試平臺(tái),即“福e測(cè)平臺(tái)”。福e測(cè)平臺(tái)實(shí)現(xiàn)了移動(dòng)應(yīng)用安裝包的上傳和批量安裝、遠(yuǎn)程一鍵打包、移動(dòng)設(shè)備管理、自動(dòng)化回歸測(cè)試、Monkey穩(wěn)定性測(cè)試、遠(yuǎn)程實(shí)時(shí)監(jiān)控、性能監(jiān)控、遍歷測(cè)試等功能,實(shí)現(xiàn)了測(cè)試數(shù)據(jù)、測(cè)試任務(wù)的配置和管理,實(shí)現(xiàn)了移動(dòng)應(yīng)用的自動(dòng)化測(cè)試及專(zhuān)項(xiàng)測(cè)試。
平臺(tái)總體設(shè)計(jì)如圖1所示,平臺(tái)由管理子系統(tǒng)、調(diào)度子系統(tǒng)、執(zhí)行子系統(tǒng)組成,各個(gè)子系統(tǒng)之間通過(guò)socket進(jìn)行通信,分別負(fù)責(zé)平臺(tái)的功能管理、任務(wù)調(diào)度和具體執(zhí)行。三個(gè)子系統(tǒng)各司其職、互相配合,完成平臺(tái)的自動(dòng)化測(cè)試及專(zhuān)項(xiàng)測(cè)試功能。其中,管理子系統(tǒng)、調(diào)度子系統(tǒng)部署在內(nèi)部服務(wù)器,執(zhí)行子系統(tǒng)支持部署在內(nèi)部私有云及測(cè)試人員的電腦終端,由管理子系統(tǒng)下發(fā)測(cè)試任務(wù),調(diào)度子系統(tǒng)分配執(zhí)行。
移動(dòng)應(yīng)用體驗(yàn)測(cè)試
(一)總體介紹
依托福e測(cè)平臺(tái),福建農(nóng)信開(kāi)展移動(dòng)應(yīng)用體驗(yàn)測(cè)試,包括自動(dòng)化常態(tài)化回歸測(cè)試、性能指標(biāo)監(jiān)控、Monkey穩(wěn)定性測(cè)試、遍歷測(cè)試、深度兼容性測(cè)試,并對(duì)回歸測(cè)試及各專(zhuān)項(xiàng)測(cè)試發(fā)現(xiàn)的問(wèn)題進(jìn)行復(fù)測(cè)驗(yàn)證,如圖2所示。自動(dòng)化常態(tài)化回歸測(cè)試每周執(zhí)行一遍案例基準(zhǔn)庫(kù),針對(duì)主要業(yè)務(wù)功能及異常提示進(jìn)行回歸驗(yàn)證;性能指標(biāo)監(jiān)控在回歸測(cè)試的基礎(chǔ)上,定位移動(dòng)應(yīng)用性能瓶頸,監(jiān)控移動(dòng)應(yīng)用的性能狀況;Monkey穩(wěn)定性測(cè)試根據(jù)系統(tǒng)命令生成隨機(jī)事件,對(duì)移動(dòng)應(yīng)用進(jìn)行隨機(jī)性探索測(cè)試,驗(yàn)證移動(dòng)應(yīng)用的穩(wěn)定性狀況;遍歷測(cè)試對(duì)移動(dòng)應(yīng)用各個(gè)頁(yè)面進(jìn)行深度遍歷,并與基準(zhǔn)版本UI進(jìn)行比對(duì),驗(yàn)證頁(yè)面的穩(wěn)定性情況;深度兼容性測(cè)試驗(yàn)證移動(dòng)應(yīng)用對(duì)移動(dòng)設(shè)備的兼容性狀況,以應(yīng)對(duì)移動(dòng)設(shè)備碎片化日益嚴(yán)重的趨勢(shì);問(wèn)題驗(yàn)證對(duì)發(fā)現(xiàn)的問(wèn)題進(jìn)行復(fù)測(cè),驗(yàn)證問(wèn)題的解決情況。
(二)自動(dòng)化常態(tài)化回歸測(cè)試
在自動(dòng)化常態(tài)化回歸測(cè)試的同時(shí)執(zhí)行Monkey穩(wěn)定性測(cè)試。Monkey測(cè)試是通過(guò)向系統(tǒng)發(fā)送偽隨機(jī)的用戶(hù)事件流(如按鍵輸入、觸屏輸入、手勢(shì)輸入等),實(shí)現(xiàn)對(duì)移動(dòng)應(yīng)用的穩(wěn)定性測(cè)試。安卓的Monkey測(cè)試基于安卓自帶的ADB命令實(shí)現(xiàn),iOS基于SmartMonkey實(shí)現(xiàn),通過(guò)模擬用戶(hù)事件流對(duì)移動(dòng)應(yīng)用進(jìn)行隨機(jī)操作,達(dá)到監(jiān)控移動(dòng)應(yīng)用穩(wěn)定性的目的。
福建農(nóng)信互聯(lián)網(wǎng)銀行客戶(hù)端整合項(xiàng)目在準(zhǔn)生產(chǎn)測(cè)試階段介入自動(dòng)化常態(tài)化測(cè)試,每周執(zhí)行一次回歸測(cè)試,如圖3所示。針對(duì)私有云上8臺(tái)Android設(shè)備和2臺(tái)iOS設(shè)備,回歸測(cè)試涵蓋了主要業(yè)務(wù)功能和異常提示驗(yàn)證等在內(nèi)的共170個(gè)測(cè)試案例基準(zhǔn)庫(kù)。
福建農(nóng)信互聯(lián)網(wǎng)銀行客戶(hù)端整合項(xiàng)目自動(dòng)化常態(tài)化回歸測(cè)試每周執(zhí)行一次,包括Android 8臺(tái)和iOS 2臺(tái)設(shè)備,對(duì)包括主要業(yè)務(wù)功能和異常提示驗(yàn)證在內(nèi)的170個(gè)案例進(jìn)行回歸驗(yàn)證,執(zhí)行情況統(tǒng)計(jì)如圖4所示。從執(zhí)行結(jié)果可知,案例執(zhí)行成功率基本維持在95%以上,通過(guò)每周一次的回歸測(cè)試,維持項(xiàng)目版本的穩(wěn)定性,并在回歸測(cè)試過(guò)程中,不斷驗(yàn)證自動(dòng)化測(cè)試案例的執(zhí)行情況,對(duì)主要業(yè)務(wù)功能及異常提示進(jìn)行回歸驗(yàn)證。
(三)性能指標(biāo)監(jiān)控
在自動(dòng)化常態(tài)化測(cè)試的基礎(chǔ)上,基于安卓ADB(Android Debug Bridge)命令,進(jìn)行移動(dòng)應(yīng)用性能指標(biāo)的監(jiān)控。內(nèi)存、流量、電量、流暢度等指標(biāo),已經(jīng)成為移動(dòng)應(yīng)用體驗(yàn)中用戶(hù)關(guān)注的幾類(lèi)痛點(diǎn)。用戶(hù)往往會(huì)因?yàn)楹碾娍?、卡頓等問(wèn)題而選擇卸載,移動(dòng)應(yīng)用測(cè)試需要從基本的功能遍歷測(cè)試,升級(jí)到性能指標(biāo)的專(zhuān)項(xiàng)監(jiān)控,通過(guò)對(duì)性能指標(biāo)的監(jiān)控,從而定位性能問(wèn)題,進(jìn)一步構(gòu)建“定位問(wèn)題 → 優(yōu)化產(chǎn)品 → 持續(xù)監(jiān)控”的質(zhì)量閉環(huán),提升移動(dòng)應(yīng)用質(zhì)量。
福建農(nóng)信互聯(lián)網(wǎng)銀行客戶(hù)端整合項(xiàng)目在自動(dòng)化常態(tài)化測(cè)試基礎(chǔ)上,進(jìn)行性能指標(biāo)的監(jiān)控,包括內(nèi)存、CPU、流量指標(biāo)、FPS(Frames per second,即顯示幀率)等指標(biāo)。性能監(jiān)控結(jié)果如圖5所示(以SM-G9028為例),通過(guò)在每一個(gè)輪次的常態(tài)化測(cè)試進(jìn)行性能專(zhuān)項(xiàng)測(cè)試并發(fā)現(xiàn)App運(yùn)行過(guò)程中的性能問(wèn)題,結(jié)合運(yùn)行日志和截圖,從而定位性能缺陷,提升了移動(dòng)應(yīng)用的測(cè)試效率和質(zhì)量。
(四)深度兼容性測(cè)試
隨著移動(dòng)設(shè)備的碎片化日益嚴(yán)重,用戶(hù)日益增長(zhǎng)的體驗(yàn)需求與移動(dòng)設(shè)備碎片化日益嚴(yán)重的現(xiàn)狀之間的矛盾正逐漸突顯。移動(dòng)設(shè)備的兼容性正是用戶(hù)體驗(yàn)關(guān)注的一個(gè)痛點(diǎn)。福建農(nóng)信開(kāi)展移動(dòng)應(yīng)用公有云測(cè)試服務(wù),覆蓋Android TOP600和iOS TOP65主流機(jī)型的深度兼容性測(cè)試,提升用戶(hù)體驗(yàn)?;ヂ?lián)網(wǎng)銀行客戶(hù)端整合項(xiàng)目正如火如荼的進(jìn)行中,福建農(nóng)信適時(shí)啟動(dòng)互聯(lián)網(wǎng)銀行客戶(hù)端整合項(xiàng)目的深度兼容性測(cè)試,在第二輪系統(tǒng)測(cè)試時(shí)介入,使體驗(yàn)測(cè)試前移,更好的發(fā)揮體驗(yàn)測(cè)試效能?;ヂ?lián)網(wǎng)銀行客戶(hù)端整合項(xiàng)目累計(jì)進(jìn)行了三輪Android TOP600、四輪iOS TOP65機(jī)型的兼容性測(cè)試,遍歷覆蓋了互聯(lián)網(wǎng)銀行客戶(hù)端的安裝啟動(dòng)、登錄、“我的資產(chǎn)”“我的負(fù)債”“轉(zhuǎn)賬匯款”“生活繳費(fèi)”等業(yè)務(wù)模塊,覆蓋了幾乎所有頁(yè)面,實(shí)現(xiàn)了頁(yè)面全遍歷測(cè)試,腳本運(yùn)行時(shí)間達(dá)10分鐘。深度兼容性測(cè)試總體通過(guò)情況如圖6所示。
從圖6可知,Android、iOS機(jī)型的兼容性總體通過(guò)率均有不同程度的提升,上線(xiàn)前最后一輪兼容性測(cè)試均趨近100.00%,高于行業(yè)平均水平。對(duì)各輪次兼容性測(cè)試結(jié)果的具體情況進(jìn)行分析,Android、iOS失敗類(lèi)型分布分別如圖7和圖8所示:
從以上失敗類(lèi)型分布圖可知,Android、iOS每次失敗類(lèi)型分布均有不同程度的下降。特別是“安裝失敗”“啟動(dòng)失敗”“閃退”“無(wú)響應(yīng)”“意外終止”“卡死”嚴(yán)重甚至致命級(jí)別的失敗類(lèi)型,每次均有較大幅度的下降,兼容性效果提升明顯。
在互聯(lián)網(wǎng)銀行客戶(hù)端整合項(xiàng)目上線(xiàn)之前,對(duì)兼容性問(wèn)題進(jìn)行了復(fù)測(cè)驗(yàn)證,Android、iOS整體通過(guò)率分別高達(dá)97.50%、100.00%。較之首次兼容性測(cè)試的通過(guò)率,提升效果明顯。
互聯(lián)網(wǎng)銀行客戶(hù)端整合項(xiàng)目的兼容性測(cè)試從系統(tǒng)測(cè)試第二輪時(shí)介入,一直持續(xù)到項(xiàng)目上線(xiàn)前,給項(xiàng)目組留有充足的時(shí)間改正修復(fù)兼容性問(wèn)題,每輪兼容性復(fù)測(cè)通過(guò)率均有較大幅度的提升,并在上線(xiàn)前最后一輪兼容性測(cè)試的通過(guò)率趨近100%,保證了兼容性測(cè)試質(zhì)量,降低了項(xiàng)目上線(xiàn)風(fēng)險(xiǎn),提升了移動(dòng)應(yīng)用用戶(hù)體驗(yàn)。
(五)遍歷測(cè)試
在自動(dòng)化常態(tài)化回歸測(cè)試中,實(shí)現(xiàn)了移動(dòng)應(yīng)用的主要功能的遍歷驗(yàn)證、異常提示場(chǎng)景的測(cè)試等,但對(duì)于各版本的基本UI界面的可用性、新老版本的功能差異、遍歷驗(yàn)證等問(wèn)題驗(yàn)證目前還存在較為明顯的短板。福建農(nóng)信基于AppCrawler自動(dòng)遍歷工具,解決了Monkey測(cè)試等工具可控性差的缺點(diǎn),發(fā)現(xiàn)深層次的UI兼容性問(wèn)題,并通過(guò)新老版本的diff發(fā)現(xiàn)各個(gè)版本的UI變動(dòng)情況,驗(yàn)證移動(dòng)應(yīng)用界面的穩(wěn)定性。
基于實(shí)現(xiàn)的遍歷測(cè)試功能,在每個(gè)發(fā)布的版本進(jìn)行遍歷驗(yàn)證,包括UI遍歷、菜單遍歷等?;贏ppCrawler自動(dòng)遍歷工具,通過(guò)設(shè)定引導(dǎo)規(guī)則、后退標(biāo)記、黑白名單以及遍歷順序控制等規(guī)則,實(shí)現(xiàn)遍歷測(cè)試。在福建農(nóng)信互聯(lián)網(wǎng)銀行客戶(hù)端整合項(xiàng)目每個(gè)版本發(fā)布前,執(zhí)行遍歷測(cè)試驗(yàn)證,提升遍歷測(cè)試效率?;ヂ?lián)網(wǎng)銀行客戶(hù)端遍歷測(cè)試結(jié)果如圖9所示(以SM-G9028為例):
福建農(nóng)信基于自主搭建的福e測(cè)平臺(tái),實(shí)現(xiàn)了自動(dòng)化常態(tài)化回歸測(cè)試、性能指標(biāo)監(jiān)控、遍歷測(cè)試等功能,并結(jié)合深度兼容性測(cè)試,探索實(shí)踐移動(dòng)應(yīng)用體驗(yàn)測(cè)試。隨著福建農(nóng)信移動(dòng)金融業(yè)務(wù)的不斷發(fā)展,也對(duì)移動(dòng)應(yīng)用的用戶(hù)體驗(yàn)提出了更高的要求。在系統(tǒng)功能測(cè)試的基礎(chǔ)上,探索實(shí)踐主動(dòng)式的體驗(yàn)測(cè)試,為福建農(nóng)信移動(dòng)業(yè)務(wù)的開(kāi)展保駕護(hù)航。