随着移動互聯網的蓬勃發展,更多的軟件企業在追求高速發展,同時還面臨着人力成本不斷上漲的壓力,企業在軟件測試過程遵循着按部就班的測試流程,同時又要求不斷縮短測試的疊代周期,這兩者本身就是個矛盾體。同時越來越貴的人工成本,迫使軟件企業尋找更為完美的解決方案。而機器人流程自動化(RPA)的出現給軟件自動化測試提供了一種全新的解決方案。RPA可實現快速部署,滿足7 X 24小時不間斷的自動執行測試用例,節約了軟件企業大量人力成本,極大地提升軟件測試效率,縮短整個測試周期,提高軟件産品質量。
RPA相關介紹
1 RPA的定義
RPA全稱為:Robotic Process Automation,即機器人流程自動化。RPA是以機器人作為虛拟員工,依據預先設定的程序與現有用戶系統進行交互并完成預定的任務。它是一種智能化軟件, 通過模拟并增強人類與計算機的交互過程, 實現工作流程中的自動化。通過執行大量結構化的、重複的、基于明确規則的任務,進而重複的自動化執行業務流程。簡單來說,RPA就是用軟件機器人來代替人工完成特定的工作。
2 RPA相關術語
Robot:是模仿人類行為動作的實體,被稱為RPA機器人,例如模仿人類點擊、複制粘貼、填寫表單、Excel表格處理、登錄網站、打開應用程序、登錄業務系統等操作。
Process:是一系列的操作步驟,這些操作步驟最終可以導緻某項有意義的活動,例如,登錄财務系統并下載财務報表并自動發送指定郵箱,從辦公OA系統下載Excel考勤記錄表格來計算員工工資。
Automation:是由機器人在沒有人為幹預的情況下完成的業務流程。
3 RPA的技術特點
RPA代替人工以相同的方式與現有系統進行交互,能實現非侵入式快速部署,準确而快速的執行重複性的工作。判斷一個企業客戶的需求能否通過部署RPA應用來實現,主要從下面三個方面考量:
(1)基于明确的規則。RPA通過模拟人工操作來執行大量特定規則的任務,因此,RPA适用的前提就是業務流程規則必須是明确的,可轉化為數字化的指令或輸入來觸發。
(2)機器自動化處理。RPA代替人工來處理任務,根據預先設定好的業務流程自動化執行。因此,RPA可以7 X 24小時繁瑣重複工作不間斷的地執行,提高工作效率。
(3)模拟用戶操作與系統交互。RPA通過模拟用戶操作來實現流程的自動化處理。比如網站的自動打開和搜索,系統的自動登錄,EXCEL内容的提取和自動填寫表單,OCR識别等。
RPA與傳統自動化測試工具
1傳統自動化測試工具
目前國内外主流的自動化測試工具主要有:QTP、Win Runner、RFT、Selenium等,雖然可以提高測試執行效率,提升測試團隊的整體水平,但是也存在一些不足:
(1)自動化測試工具操作複雜。目前主流的自動化測試工具,都需要測試人員根據測試案例編寫自動化測試腳本,因此測試人員需要熟悉軟件系統功能,并且具備一定的代碼編寫能力。這就對測試人員提出了更高的要求,無形中提高了軟件自動化測試工具的使用門檻。
(2)業務流程不清晰明了。自動化測試工具是通過執行一條條的測試用例來檢驗軟件系統的功能特性,但是測試用例是非流程化,可讀性不夠好,很難直接清晰明了的展示用例所涉及的業務流程。不同的人執行同一個用例,就需要反複熟悉用例,很難保證測試效率。
(3)自動化測試用例編寫成本高。前面提到自動化測試用例的編寫需要測試人員具備一定的編碼能力,這就造成編寫測試用例耗時耗力,軟件産品每疊代一次,自動化測試腳本就要随之疊代,因此,自動化測試腳本的可維護性比較差,客觀上造成了自動化測試工具的使用效率不高。
2 RPA與傳統自動化測試之間差異
RPA和傳統自動化測試工具是軟件自動化測試的兩種途徑。它們之間既有相似之處,又存在着差異。例如:它們具有類似的技術,都通過驅動鼠标、鍵盤等來完成操作。
(1)軟件自動化測試主要執行一條條的測試用例。RPA工具通常采用非侵入的方式在多個系統之間完成數據的交互,以此來執行一套完整的業務流程。軟件應用或産品更新後,自動化測試腳本也要修改。也就是說随之軟件應用或産品的不斷疊代,測試腳本也要頻繁修改,而RPA由于采用非侵入式的方式,不會改變現有系統架構,也無需與現有系統進行接口對接,一旦部署完成,一般很少修改。
(2)軟件自動化測試的腳本一般通過出錯截屏的方式來記錄錯誤信息,而RPA工具本身就有異常處理機制,确保流程按照預定規則執行,并且會詳細記錄流程執行的過程日志和影像數據,方便用戶查看。
(3)軟件自動化測試主要是通過功能分解和對象識别來完成的,基于對象來操作元素。而RPA由于要跨多個系統或平台進行操作,顯然應用對象識别就不現實了,而是采用OCR識别技術來識别屏幕文字和圖片文字來實現業務流程。
3 RPA在軟件自動化測試中的優勢
RPA為軟件自動化測試提供了一種全新的途徑,相比傳統自動化測試,RPA在軟件自動化測試中的主要優勢有:
(1)圖形化的業務流程。由于測試用例即業務流程是以流程圖的形式展示出來,因此整個業務流程和各種分支清晰明了,即使非IT技術人員也無閱讀障礙,大大降低測試遺漏的風險。
(2)基本無需任何編碼。即使是非IT技術人員,通過簡單的培訓,也可以輕松上手使用RPA來設計測試用例(業務流程)。
(3)測試用例編寫效率高。通過圖形化的操作和鼠标點擊,就可以設計出測試用例,大大縮短了測試用例的設計時間。
(4)軟件機器人自動化執行。由軟件機器人7 X 24 小時不間斷地執行測試用例,節省人力成本,大大提高了測試效率。
RPA應用的局限性
通過以上介紹,我們知道了RPA應用有很多優勢,但是RPA流程也有一些局限性。
(1)RPA機器人的執行效率受限于應用程序的速度,在自動化應用程序中即使進行的微小改動也需要重新配置RPA機器人。
(2)RPA本身雖然有異常處理機制,但是還不夠完善。目前RPA廠商提供的軟件在應用執行過程中的異常處理機制不太完善,例如出現系統宕機、業務中斷、交易回滾等問題沒有一個較好的解決方法,如果某些業務流程有特殊要求,異常處理機制的不完善會帶來不好的用戶體驗。
(3)RPA實施的前提是明确的業務規則。RPA應用能實現快速高效部署,但是這種高效是建立在明确的業務規則基礎上的。如果業務規則不明确,那麼RPA機器人執行過程中就可能會發生異常。一旦業務流程複雜且規則模糊,RPA機器人是無法完全代替人工完成邏輯判斷,就需要人工去幹預,這種場景就不适合用RPA技術的。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!