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