随着移動網際網路的發展,手機銀行憑借低成本、操作簡單、不受時間空間限制等優勢,正逐漸替代傳統的網銀交易方式。越來越多的銀行開始了“業務移動化”轉型之路,“手機APP”已經成為企業價值傳遞和關系維護的關鍵紐帶,客戶争奪的主戰場已轉向移動端,事實上手機銀行的使用者比例早已超越了網銀使用者。
但是伴随着銀行APP承載的業務需求日益增多、版本疊代速度不斷加快,以“手工測試”為基礎的測試體系,已很難滿足業務對測試效率和品質的要求。APP 測試急需完成從“純人工”到“人機協同”的範式轉換。
一、銀行 APP 的品質挑戰
銀行類APP所承載的業務,都是圍繞“錢”展開,比如轉賬、理财、支付等核心功能,都不開“錢”。而在實際研發過程中,在确定的發版時間限制下,版本實際開發完成後,往往留給測試團隊的時間很短,加上使用人工測試,功能覆寫面難以保障,且人工測試效率低下,導緻版本釋出後問題頻出。Top 10 金融APP測試通過率僅52%,無響應、白屏、顯示異常現象頻出,導緻使用者體驗差。
總結來說,銀行在APP測試中,主要面臨兩大挑戰:
(1)功能測試場景:腳本自動化難、腳本維護複用難、參數管理難
(2)相容性測試場景:沒有足夠多的機型覆寫
1.1、功能測試場景
1.1.1、“手工”測試難以應對業務快速疊代的挑戰
• 業務需求多,發版節奏快
銀行業務轉型到手機APP後,APP 成為企業“連結”使用者的主要載體,原有PC承載的業務,都需要在短時間内遷移到APP,對研發和測試資源帶來很大的壓力。同時,市場快速變化,存量業務調整和新業務創新探索,也需要保障好品質。為了快速滿足業務訴求,将需求拆分為多個版本,快速發版,已經成為企業的剛需。一個月發一次版本,甚至幾個月才發一次版本,已經無法跟上市場的節奏。
• “人工”測試效率低,覆寫不夠
傳統模式下,APP上線前主要依托于測試工程師規劃、設計測試用例,然後手動完成測試。但是,銀行業務,通常都是跟“錢”相關,對品質要求很高,業務需要更全面的覆寫。
銀行類APP,每次需要投入幾十個測試人員來進行測試驗證。一些銀行,在引入阿裡雲 EMAS 自動化測試平台以前,用例自動化覆寫率隻有10%左右,甚至完全沒有自動化,主要依靠人工的方式進行測試,用例多,測試周期長,發版周期也直接受到影響。
1.1.2、模拟業務場景困難
銀行業務鍊路通常都很長,不是一兩步就能完成,而且實際業務流程中,涉及到的測試參數多達幾百個。另外,傳統接口測試無法模拟真實場景,導緻測試結果和實際情況有較大偏差,上線後出問題也是情理之中的事。
1.1.3、業務覆寫率不夠,上線後問題頻出
實際研發過程中,測試工程師所測試的版本并不是固定不變的,尤其是進入到發版階段後,幾小時就有一個新版本。面對這種情況,測試工程師測試重點保障核心業務功能,無法保障整體用例覆寫率,這就給版本釋出埋下了隐患,導緻版本上線後出現問題。
1.1.4、測試知識缺乏資料化、資産化
傳統手工測試方式,主要依靠個人的主觀能動性和過往的經驗積累,實際測試過程中,一些成功的測試用例場景、測試方法缺乏沉澱,難以完成從“個人能力”到“組織能力”的升華,進而無法完成組織效能的躍升。
1.2、機型相容性測試場景
1.2.1、機型多、分辨率多、系統版本多
國内手機廠商,一般每年都有兩次新品釋出會,即春季和秋季釋出會,每年累計有上百款機型釋出,幾年下來,累計的主要機型有上千款。以一個百萬月活的APP為例,iOS 和 Android 兩個平台一起,通常需要覆寫Top 150 款以上的機型,才能覆寫自身80%以上的使用者,而如果想要確定覆寫95%以上的使用者,則通常至少需要覆寫Top 500 款以上的機型。
而且,不同的機型、不同的分辨率、不同的系統版本,也會引發更多的相容性風險。這也是導緻金融類Top 10 APP 整體機型通過率不足50%的重要原因。
1.2.2、機型采購有限
作為銀行,不可能購買全量機型,并經常更新,通常是購買主流旗艦機型,大概在50款以内。這樣的機型覆寫度,可以規避50%左右的使用者相容性風險,但相對高品質的 APP 還存在很大的差距。
二、阿裡雲 EMAS 解決方案
阿裡雲 EMAS 移動測試平台,針對銀行的「功能」和「相容」兩種場景,都有成熟的解決方案。
•
EMAS 提供私有部署的測試平台解決功能測試的問題,提升腳本生産效能,保障業務覆寫率
• EMAS 提供
48小時一站式專家測試服務,APP上線前,650款主流機型全量回歸測試,解決機型相容問題
2.1、功能測試場景
阿裡雲 EMAS 移動測試平台提供私有部署輸出服務,主要解決銀行功能測試場景的訴求。私有部署不僅滿足銀行安全、政策合規的要求,而且,獨享的自動化測試平台,還可以基于OpenAPI 關聯 DevOps等其它系統平台。
【圖1】EMAS 移動測試系統架構圖
2.1.1、強大的用例庫
【圖2】EMAS 移動測試平台,用例庫立體結構
功能測試的重點在于用例庫,而用例庫的核心在于如下4點:
• 用例設計
• 用例腳本化
• 參數管理
• 腳本的高可複用
【用例設計】
做事之前,先規劃。用例設計就是進行測試之前的整體規劃,會涉及到不同的項目組,不同的業務線。EMAS 測試平台提供了“項目組”的概念,可以有效解決多項目組協同的問題。同時,用例設計落到具體的業務功能上,就要求測試人員在進行整體“用例腳本化”之前,從更高的層面設計整體用例結構,明确規範。阿裡雲 EMAS 平台可以輸出對應方法論,指導具體實踐。
【用例腳本化】
腳本化即程式化。EMAS 移動測試平台,提供了線上錄制腳本的能力,可以不用學習 Appium 架構、Python 或 Java語言,就可以完成基本用例的程式化,極大降低上手成本。同時,由于是基于開源的測試自動化架構 Appium 作為基礎更新改造而成,可用于原生,混合和移動Web應用程式測試,相容性好。
【圖3】線上錄制腳本-左側是APP頁面,右側是錄制的步驟
【圖4】錄制完成後,可以錄制回放步驟,左側手機可以看到實時效果
自身業務常用能力,也可以自己封裝為固定步驟,變成一個菜單,需要的時候,直接點選生成腳本。
【圖5】常用步驟菜單
【參數管理】
銀行業務,由于參數有幾百個之多。EMAS 移動測試平台在資料管理上,主要由兩個大的突破:
(1)在參數傳遞上,支援按變量傳遞,也支援直接傳固定參數值;
(2)為了解決多資料管理複用問題,提供了三層資料管理能力,即:
• APP 全局參數集:例如伺服器 ip 位址
• 用例集參數:多用例公用的參數
• 用例參數:單個獨立用例使用的參數
【腳本的組合複用】
為了避免同樣的功能,重複錄制成多份腳本導緻的資源和人力的浪費,平台提供了用例的高可複用能力。
例如,登入功能,錄制完成一份腳本後,可以作為單步驟,插入到其它業務腳本流程裡,極大提升複用率。同時,由于可以控制傳遞的參數,可以在正常和非正常的測試用例中複用,進一步擴大腳本的複用場景。
【圖6】“登入”腳本,可以被複用兩次。如果業務功能不變,可以一直複用,跟其他腳本組合,覆寫更多場景。
2.1.2、特殊場景覆寫
銀行業務裡面,還有很多特殊場景,比如随機密碼鍵盤、驗證碼處理、還有一些文字的識别、上傳身份證處理等
【圖7】随機密碼鍵盤
針對這些特殊場景,阿裡雲也提供對應的解決方案,保障腳本自動化的時候,不被打斷。
2.1.3、測試方法論
為了確定平台能發揮出最大的效能,基于阿裡多年的經驗積累,輸出EMAS 測試平台最佳實踐方法論。
【圖8】“平台能力”+“人工”的最佳實踐,提升效能
2.2、機型相容性測試場景
私有部署的 EMAS 移動測試平台,側重在功能場景的覆寫,但是由于機型有限,也不太可能同時購買幾百款機型。為了解決機型覆寫相容的問題,阿裡雲 EMAS 提供了一站式48小時的專家測試服務,可以覆寫安卓Top 600款機型,iOS top 70款項機型。
【圖9】48小時一站式專家測試服務
三、總結
銀行類APP,在版本快速疊代中,面臨功能和相容兩個次元的挑戰,阿裡雲 EMAS 提供了兩個場景的解決方案
(1)功能覆寫場景:阿裡雲 EMAS 平台可以提供線上錄制、用例管理、參數管理等能力,降低用例腳本化和維護成本;
(2)相容覆寫場景:阿裡雲 EMAS 提供一站式專家測試服務,覆寫650款以上主流機型,解決APP的相容問題。
相關資料:
(1)EMAS 移動測試官網:
https://www.aliyun.com/product/mqc(2)EMAS 移動測試業務說明位址:
https://help.aliyun.com/document_detail/93530.html(3)EMAS 移動測試,聯系我們:
https://help.aliyun.com/knowledge_detail/101478.html(4)EMAS 專家測試服務:
https://www.aliyun.com/service/mobiletesting(5)EMAS 專有雲服務介紹:
https://help.aliyun.com/document_detail/67127.html(6)EMAS 專家測試服務價格說明:
https://help.aliyun.com/document_detail/93617.html