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