實戰 | 基于RPA技術的全流程測試方案與實踐
隨著數字化轉型工作的全面推進,金融系統測試工作亟需提質增效,以適應快速發展的業務模式,提高測試效率和測試質量。銀行系統運營中心的業務通常流程較長,跨多個系統協作完成交易的場景較多。對于長交易流程、多渠道協同的系統測試,主要依賴人工測試,由于執行步驟多且測試結果需人工確認,存在時間成本和人力成本較高的問題。在測試數據使用方面,測試數據準備和使用階段依賴人工操作,過程繁瑣,并需人工值守,自動化程度低。基于以上兩個痛點問題,中國農業銀行研發中心以RPA(機器人流程自動化)技術為基礎,探索建立了全流程的測試方案并形成測試實踐。
RPA是在人工智能和自動化技術的基礎上建立的,以機器人作為虛擬勞動力,依據預先設定的程序與現有用戶系統進行交互并完成預期任務的技術,無需改造現有系統。通過軟件機器人自動處理大量重復性、具備規則性的工作流程任務,通過模擬鼠標點擊、鍵盤輸入等人工操作計算機過程,協助和替代員工完成各類重復性工作,實現計算機任務自動化處理的流程管理。針對高重復性、標準化、規則明確、大批量的日常事務,可以通過RPA平臺設計出各種自動化的RPA應用,來替代人工完成高頻重復工作,從而達到節省人力成本、減輕作業壓力、提升業務處理效率和準確性的目的。RPA技術解決了跨系統的數據搬運工作問題,消除操作斷點;高效應對自動化需求;替代人工完成高頻重復工作,節省人力成本;可擴展對接人工智能技術,具備良好的拓展性。
建立全流程自動化測試方案
農行研發中心以一體化業務運行平臺為基礎建設RPA的全流程測試方案。以一體化業務運行平臺為例,建立無人值守的機器人流程自動化測試工具,從關聯系統發起業務,業務流轉到一體化業務運行平臺進行處理,提交記賬,進行最終結果的確認,完成全流程業務功能測試。

圖1 全業務流程測試方案實例
1.整合交易數據發起方式
建立健全創建交易數據的方法,即FRT方法(模擬人工前臺操作)、INF方法(模擬接口調用)、SCT方法(執行自定義Python腳本)、DAM方法(修改關聯系統數據庫)等4種方式發起業務,使用各種測試數據生成方法滿足交易數據要求。通過智能交互判斷交易數據發起方式,建立RPA機器人,實現在不同交易數據發起方式之間的自由調度,利用RPA自動調用執行Python腳本,實現請求的批量、循環發送。

圖2 整合的4種交易發起方式
2.實現動態測試數據訪問
建設包含基礎數據、衍生數據和混沌數據的標準數據集,按照每日/周/月或每個投產周期進行數據維護,在生成業務數據時進行動態的測試數據訪問,在不同的測試場景中從本地獲取標準數據集中的數據封裝報文,在業務發起環節采用數據驅動的方式取用標準數據集的數據,滿足回歸測試或功能測試的需要。

圖3 動態測試數據維護和訪問方法
3.數據驅動流程分支選擇
在業務流程圖中設置判斷節點,根據輸入數據不同,形成不同邏輯分支的路徑覆蓋,將程序代碼和業務流程圖通過數據驅動的路徑覆蓋圖有機結合起來,直觀展現輸入數據對路徑的選擇和邏輯覆蓋情況。
4.自動識別業務處理結果
采取OCR識別、數據比對等方式實現業務處理結果的自動查證。
以RPA技術為基礎建立的全流程測試方法,致力于在不改造原有系統、不修改原本程序的情況下對系統進行自動化處理,上手難度小,可以順利實現業務自由調度,并符合輕量化自主開發的需求,在實踐中,對多種業務流程開展全流程測試,其優勢主要包括:針對長流程、多系統協同測試,可建立長鏈路無人值守機器人;采用非侵入式方法,無需對被測系統進行改造和接入;跨系統整合效率高,系統切換和操作全自動,形成業務全景視圖;支持自主開發,可擴展性強。
測試數據自動化處理和使用方法
針對測試數據準備和使用過程高度依賴人工,重復性工作較為繁瑣的痛點問題,建立了測試數據自動化處理和使用的方法,適配當前主流數據庫,將測試數據應用于功能測試和性能測試,減少重復性工作,有效解放人力,形成數據驅動的測試執行過程。
1.數據提取:在RPA中配置數據庫連接信息,支持Oracle、MySQL、TDSQL等主流數據庫類型,執行SQL語句,以文本形式導出數據文件到本地。
2.數據處理:依賴RPA強大的Exce1表格數據處理能力以及Python腳本、VBS腳本高級開發能力,對提取的數據進行清洗、篩選、排序、組合、格式化等操作,實現測試數據的自動處理、回滾、備份。
3.數據使用:利用RPA將性能測試腳本和數據文件壓縮,上傳到XMeter性能測試平臺,自動設置測試計劃,執行測試并導出性能測試報告,對報告進行數據歸集和分析。在性能調優時,利用RPA頻繁、重復地執行性能測試將有效釋放人力。
利用RPA技術,通過軟件機器人自動處理大量重復性、具備規則性的工作流程任務,利用RPA的跨系統整合和數據集成功能,采用非侵入性的方法,實現拓展性、適應性、自動化的測試工具。從數據準備階段開始,實現交易全流程自動化,并實現賬務處理結果的最終確認。RPA具有良好的可移植性,在不需對系統進行程序改造的前提下,實現非侵入性的系統測試流程,減少了跨系統的全流程測試在不同系統間切換的操作,流程自動化程度高,建設門檻和難度低。RPA在全流程測試中的使用,有效降低了成本,實現了降本增效;實現了快速部署、跨系統整合,以及RPA+AI的智能應用;提高自動化運行的質量,將人員從繁瑣重復的任務中解放出來,專注于更具專業性的工作中。
基于RPA技術,進行了全流程測試方法的系統性研究,建立健全了全流程測試的方案,產生了業務運營領域的測試實踐。農行研發中心將繼續以全流程測試過程為基礎,整合OCR識別技術、生物特征識別技術、批量測試、Selenium自動化測試等技術,完善全流程測試的方法論,并在項目管理、外包管理等領域進行擴展探索。