前言
RPA(Robotic Process Automation),機器人流程自動化,是一款基于Python語言的流程自動化商用軟件。從行為上看,其與自動化測試中GUI自動化測試較為相似,都可模擬測試人員的手工操作從而達到自動化的效果,但RPA軟件在實際運用中又與自動化測試有著本質區別,本文以單個系統的實戰經歷為例,希望與大家一起分享和探討RPA軟件在測試工作中的價值。

一、RPA的優勢
RPA接近于人工操作的自動化流程可以達到近似于手工測試的測試效果;RPA設計器客戶化較好,使用門檻底,使得一般測試人員也能通過軟件編寫出自動化流程,這是RPA在測試工作中的兩大優勢:完全模擬手工測試,使用門檻較低。

二、RPA與常見GUI自動化測試工具的區別
1、技術原理區別
RPA自動化流程技術原理:采用WorkflowFoundation作為基礎框架,整合其它類產品功能作為組件,以弱耦合的方式跨系統執行組件命令。
GUI自動化測試技術原理:WEB類系統一般使用Selenium基礎測試框架,通過網絡與瀏覽器建立連接發送執行操作;C/S類系統一般采用UIAutomation基礎測試框架,通過調用底層WIN32 API識別句柄來執行操作。
2、產品功能區別
一個完整的自動化測試工具或平臺應包含如下功能:
1)測試數據的準備與管理
2)測試案例的執行
3)測試結果的校驗
4)測試報告的打印與分析
RPA在第二項測試案例的執行效果上可以和GUI自動化測試案例執行相媲美,但其余三項功能暫不具備或者說支持能力較弱,若不進行二次開發很難滿足自動化測試的要求。
基于上述優點和區別所在,我們在RPA測試工作實踐中,并沒有完全讓RPA去承擔測試任務,而是讓它發揮自己的優勢將一些自動化測試投入產出比低的系統和場景利用RPA軟件實現流程自動化,目的在于提高執行效率。下面我們一起來看一下信貸系統具體場景的實施。
三、RPA在測試工作中的實踐——一手住房貸款交易RPA流程自動化
我們將信貸系統一手住房貸款交易中的客戶進件、資料錄入、審查審批、合同簽署四個交易場景做成自動化流程以減少測試人員手工操作成本。實施過程經過場景分析階段、數據準備階段、組件開發階段。
1、場景分析階段
我們參考大廠的5級分類思想,在設計之初對場景交易流程做了逐層分類。由于RPA流程是利用現有的功能組件進行開發的,所以層級拆分有利于清晰的歸納出流程和組件的關系。

(阿里云RPA關于RPA流程設計的層級劃分)
L1 |
一手住房貸款場景 |
L2 |
貸款進件申請、貸款審查審批、貸款合同簽署… |
L3 |
登錄交易場景、客戶信息錄入場景、一級分行零管負責人審批... |
L4 |
數據準備、統計代碼調用、登錄交易執行、影像平臺窗口打開... |
L5 |
excel組件、outlook組件、Web組件、數據庫訪問代碼塊... |
根據拆分結果,初期階段就可以對一些交易場景和組件進行整合調用,典型的如:流程中因為涉及崗位扭轉審批需要反復使用的登錄交易、多個頁面都會彈出相同的提示彈窗等等。通過這種方式可以在前期做到一些流程設計的優化,減少冗余代碼,降低維護成本。
2、數據準備階段
數據的準備是RPA流程中比較需要關心的問題,因為RPA本身不帶有數據管理的模塊,RPA設計之初就是人工怎么操作,它就怎么模擬流程,平臺只用于接收上傳組件而不存放數據,所以如果不進行二次開發或者對接已有的數據平臺,數據傳遞可能會變成流程設計上的問題。

作為試點項目,我們使用RPA自帶的郵件(outlook)組件,讓測試人員將測試數據以郵件附件的形式發送給指定郵箱,RPA組件通過輪詢的方式從指定郵箱下載附件的數據并觸發執行自動化流程,以此方式來實現數據和流程的交互。
3、組件開發階段
利用RPA設計器可以進行RPA組件的開發。RPA集成了許多功能,使用起來較為方便。由于提供了便利的操作,所以RPA流程很考驗設計者的思路,俗話說條條道路通羅馬,但一個好的RPA流程應該是步驟精簡、運行穩定、易于維護的。下面分享一個優化后的流程實例——RPA與數據庫的交互。
由于審查審批流程會經過多個部門崗位的扭轉,而且不能預判下一個崗位扭轉的具體人員,因此,我們需要在流程執行的過程中頻繁地訪問數據庫來定位最新流程的位置。測試人員在測試的時候使用DBeaver軟件手工執行數據庫語句進行查詢,每審批完一個崗位就需要去數據庫查看流程扭轉的最新位置。若完全模擬測試人員的手工操,我們需要頻繁的和DBeaver工具進行交互,這樣會讓流程組件變得很長。(見下圖左)
考慮到RPA基于python語言編碼,我們對RPA使用的python語言版本安裝了數據庫擴展包,并在流程中添加了應用數據訪問的代碼,運行成功。下面是安裝完數據庫后利用RPA直接訪問系統后臺數據庫的審查審批流程組件,無論是在執行效率方便還是容錯率方面都有較大提升。(見下圖右)

四、實施效果
相比原先一筆客戶處理該業務流程需要7-10分鐘,RPA自動化流程處理約為3-4分鐘。自動化執行通過率受代碼移植性的影響,公共機與虛擬機上為91%,個人電腦為74%。參照第一周投入使用的交易發送量為84筆,省去手工勞作時間約300分鐘。
結語
RPA在不少企業和領域發揮著它的作用,如財務報賬、流程審批、HR郵件往來等等,而研發測試環境對于環境穩定性有著較高要求的“小勤人”來說無疑是一種挑戰,我們目前也是在實踐的過程中不斷地學習和嘗試,最終RPA在研發測試工作能扮演什么角色,能發揮出什么樣的作用,隨著RPA軟件的完善或許能給我們帶來新的視野,我們期待與您交流,歡迎各位小伙伴們聯系作者。
特別聲明:
文章來源:廣發銀行研發中心
作者:劉園
原文鏈接:https://mp.weixin.qq.com/s/dLNZJgNL37LxZkFvsObQqQ
RPA中國推薦閱讀,轉載此文是出于傳遞更多信息之目的。如有來源標注錯誤或侵權,請聯系更正或刪除,謝謝。
未經允許不得轉載:RPA中國 | RPA全球生態 | 數字化勞動力 | RPA新聞 | 推動中國RPA生態發展 | 流 > RPA在測試工作中實踐經驗分享
熱門信息
閱讀 (14728)
1 2023第三屆中國RPA+AI開發者大賽圓滿收官&獲獎名單公示閱讀 (13753)
2 《Market Insight:中國RPA市場發展洞察(2022)》報告正式發布 | RPA中國閱讀 (13055)
3 「RPA中國杯 · 第五屆RPA極客挑戰賽」成功舉辦及獲獎名單公示閱讀 (12964)
4 與科技共贏,與產業共進,第四屆ISIG中國產業智能大會成功召開閱讀 (11567)
5 《2022年中國流程挖掘行業研究報告》正式發布 | RPA中國