劉宗良
摘要:本文主要介紹了Robot Framework的自動化測試框架內(nèi)容,并在此基礎(chǔ)上分析目前軟件自動化測試過程中存在的問題。針對這些問題,研究應(yīng)用Robot Framework的自動化測試,提高測試效率的對策。
[關(guān)鍵詞]Robot Framework自動化測試軟件開發(fā)
自動化測試是指運用程序技術(shù)、指令技術(shù)、輔助技術(shù),對正在開發(fā)的軟件的性能、質(zhì)量、精度、響應(yīng)速度與BUG進(jìn)行測試,并自動對測試結(jié)果進(jìn)行分析。目前,在軟件的自動化測試當(dāng)中,應(yīng)用Robot Framework,已經(jīng)是測試程序發(fā)展的重要方向之一,技術(shù)人員要加強對這種發(fā)展趨勢的把握,提高測試的自動化水平與智能化水平。
1基于Robot Framework的自動化測試框架
軟件的自動化測試需要大量的測試案例,維護成本、時間成本均較高。目前主流的測試工具與框架主要有Arquillian、JTest、TheGrinder、Robot Framework、JUnit4、TestNG5等?;赗obot Framework的自動化測試框架,運行比較簡單,主要采用關(guān)鍵字提取技術(shù),對軟件中的通信信號進(jìn)行接收。應(yīng)用基于Robot Framework的自動化測試框架,可以大大降低軟件測試的操作難度,提高測試結(jié)果的重復(fù)使用率。
當(dāng)前,軟件自動化測試過程中存在的問題有:
(1)測試的成本較高,被測軟件的獨立性較差,尤其是基于HTTPWeb服務(wù)器、SOAP和RESTWeb服務(wù)器、應(yīng)用程序服務(wù)器的測試,操作的難度較大。
(2)測試成果的使用概率較低,很多測試成果僅單次可用。同時,很多測試框架和測試工具,還存在競態(tài)條件復(fù)雜、數(shù)據(jù)存儲與數(shù)據(jù)清洗異?,F(xiàn)象,并且總體測試的資源安全性較差,容易被外界獲得,測試程序的內(nèi)存容易泄露,系統(tǒng)容易受到外界的攻擊。
2應(yīng)用Robot Framework提高自動化測試有效性的對策
2.1構(gòu)建基于Robot Framework的總體自動化測試框架
2.1.1Robot Framework框架的測試流程
Robot Framework軟件自動測試框架,有別于QTP、Rational、Robot等測試框架,重用率較高。在構(gòu)建基于Robot Framework總體自動化測試框架的過程中,技術(shù)人員要充分重視這一特性,以降低測試的成本。
(1)可以采用目前已有的測試框架,對軟件的數(shù)據(jù)進(jìn)行腳本管理,減少數(shù)據(jù)的冗余,降低數(shù)據(jù)的重復(fù)率。
(2)運用Robot Framework的自動生成模板,在目標(biāo)機端完成軟件測試,并自動生成測試報告。
(3)在目標(biāo)機端與終端設(shè)備之間,建立Robot Framework聯(lián)系,測試程序方案的科學(xué)性。
(4)深化對TestData測試腳本的利用,在Robot Framework執(zhí)行之后,根據(jù)腳本中的自定義文件,檢索測試日志。
2.1.2Robot Framework總體框架的建立與完善
Robot Framework啟動之后,測試人員要測試軟件的函數(shù)模型,對現(xiàn)有的函數(shù)模型進(jìn)行脫機測試,保障函數(shù)模型可以涵蓋現(xiàn)有測試程序中的所有數(shù)字分析方式。
(1)技術(shù)人員要利用TestLibraries,加強TestLibraries與目標(biāo)機端軟件測試過程嵌套,將目標(biāo)機中的測試結(jié)果,自動讀取到TestLibraries的檢索系統(tǒng)中來,為終端的數(shù)據(jù)測試提供依據(jù)。
(2)技術(shù)人員要將TestLibraries嵌套在終端設(shè)備上,利用TestLibraries+Robot Framework的框架模式,與目標(biāo)機中的測試數(shù)據(jù)進(jìn)行交換,獲取目標(biāo)機中的腳本運行結(jié)果。除此之外,技術(shù)人員還要利用好selenium、watir、PhoenixFramework等輔助框架,將測試中的重復(fù)指令篩查出來,提高測試流程的有效性。
2.2完善Robot Framework軟件測試庫
2.2.1Robot Framework軟件測試庫的流程建設(shè)
(1)Robot Framework在執(zhí)行測試時,
要讀取軟件的描述文件,根據(jù)運行腳本,測試描述文件的準(zhǔn)確性,確認(rèn)描述文件準(zhǔn)確之后,Robot Framework程序自動運行。
(2)程序啟動之后,Robot Framework的控制層對目標(biāo)機的連接端口進(jìn)行測試,確認(rèn)連接的安全性與可靠性。
(3)Robot Framework收到目標(biāo)機狀態(tài)的回復(fù),完成軟件數(shù)據(jù)映像的加載,測試程序開始有序運行。運行結(jié)束之后,Robot Framework的回饋層自動將測試結(jié)果整理為報告形式,方便技術(shù)人員進(jìn)行查看與讀取。
2.2.2Robot Framework軟件測試庫的功能結(jié)構(gòu)
Robot Framework軟件測試庫的功能結(jié)構(gòu)主要包含以下要點:
(1)主機端功能結(jié)構(gòu)要點。Robot Framework軟件測試庫在等待結(jié)束指令的過程中,會按照運行腳本,等間隔的向主機發(fā)送指令,以及時了解目標(biāo)機的測試狀態(tài),保障測試活動的完整性,及時發(fā)現(xiàn)目標(biāo)機受到的干擾信息,避免目標(biāo)機死機,或陷入永久等待狀態(tài)。
(2)目標(biāo)機端功能結(jié)構(gòu)要點。RobotFramework軟件測試庫在完成映像加載之后,通過串口連接的方式,將虛擬終端的文件進(jìn)行自動備份,保障Robot Framework軟件測試庫的數(shù)據(jù)可以多次讀取。
3結(jié)論
綜上所述,基于Robot Framework框架,可以實現(xiàn)更加高效、更加精準(zhǔn)的軟件自動化測試,降低軟件測試的成本,促進(jìn)軟件開發(fā)的智能化建設(shè)。從本文的分析可知,探索基于Robot Framework的自動化測試研究及應(yīng)用,有助于軟件開發(fā)人員,從問題的角度出發(fā),看待目前軟件測試中的不足,有針對性地進(jìn)行程序調(diào)整。因而,軟件開發(fā)人員要加強Robot Framework框架的理論研究,并在測試實踐中,探索提升測試有效性的對策。
參考文獻(xiàn)
[1]趙明明,周靜,補沖.Robot Framework在軟件接口自動化測試中的研究與應(yīng)用[J].電信工程技術(shù)與標(biāo)準(zhǔn)化,2018,31(10):78-82.
[2]梁思秋?;赗obot Framework的MVCGUI模塊自動化測試框架的設(shè)計與實現(xiàn)[D].東華大學(xué),2015.