生桂勇
摘要:軟件測(cè)試是保障軟件開發(fā)質(zhì)量的關(guān)鍵措施,應(yīng)結(jié)合軟件特點(diǎn)來(lái)合理選擇測(cè)試手段。隨著軟件開發(fā)工序越加復(fù)雜化,使得自動(dòng)化測(cè)試技術(shù)在軟件檢測(cè)中有重要應(yīng)用。本文主要圍繞自動(dòng)化測(cè)試系統(tǒng)的開發(fā)及實(shí)現(xiàn)、自動(dòng)化測(cè)試系統(tǒng)的運(yùn)行等方面展開討論,詳細(xì)分析了在Robot框架基礎(chǔ)上的測(cè)試系統(tǒng)研發(fā)及功能實(shí)現(xiàn),以便為軟件措施提供有效途徑。
關(guān)鍵詞:自動(dòng)化測(cè)試;Robot框架;測(cè)試用例
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)28-0268-03
軟件測(cè)試旨在提高產(chǎn)品運(yùn)行質(zhì)量,尤其在對(duì)軟件質(zhì)量要求不斷提高的背景下,軟件測(cè)試重要性逐漸顯現(xiàn)出來(lái)。由于軟件開發(fā)復(fù)雜程度的增加以及項(xiàng)目研發(fā)周期的延長(zhǎng),為軟件測(cè)試帶來(lái)了較大難度,這時(shí)手工檢測(cè)已經(jīng)不能適應(yīng)軟件開發(fā)要求。因此,有必要加強(qiáng)對(duì)自動(dòng)化檢測(cè)系統(tǒng)的建設(shè)與應(yīng)用研究的重視,以便為軟件質(zhì)量提供保障,可以說(shuō)自動(dòng)化檢測(cè)將是軟件測(cè)試行業(yè)未來(lái)必然趨勢(shì)。
1自動(dòng)化測(cè)試系統(tǒng)的開發(fā)及實(shí)現(xiàn)
1.1Robot框架介紹
Robot框架指的是一種可調(diào)取關(guān)鍵字的自動(dòng)化測(cè)試框架,能借助簡(jiǎn)單的測(cè)試腳本來(lái)執(zhí)行測(cè)試操作。通常將該框架連接到及信號(hào)接收測(cè)試的設(shè)計(jì)開發(fā)中,具有一定的應(yīng)用價(jià)值。Robot框架主要體現(xiàn)出以下特點(diǎn):一是使用操作簡(jiǎn)單??山柚砀裎募饔茫媒y(tǒng)一測(cè)試用例進(jìn)行軟件測(cè)試;二是重復(fù)使用效果較好。能借助已有關(guān)鍵字發(fā)展得到更高級(jí)別的關(guān)鍵字,從而提升測(cè)試系統(tǒng)性能;三是系統(tǒng)開發(fā)平臺(tái)和被測(cè)軟件相對(duì)獨(dú)立,不會(huì)對(duì)軟件運(yùn)行造成影響;四是能滿足來(lái)自數(shù)據(jù)支撐的測(cè)試用例的檢測(cè)。總的來(lái)說(shuō),Robot框架屬于應(yīng)用性較好的一種獨(dú)立框架,而在啟動(dòng)這個(gè)框架時(shí),則對(duì)應(yīng)的測(cè)試數(shù)據(jù)文件將隨之啟動(dòng),在測(cè)試系統(tǒng)用例的過(guò)程中,將形成日志文件[1]。Robot框架使用性能的實(shí)現(xiàn)需要借助Jython或Python的作用,在進(jìn)行軟件檢測(cè)操作時(shí),要求在自動(dòng)化檢測(cè)系統(tǒng)中安裝上述兩種程序,進(jìn)而為系統(tǒng)運(yùn)行奠定基礎(chǔ)條件。測(cè)試系統(tǒng)中的數(shù)據(jù)庫(kù)主要由兩部分構(gòu)成,在借助Robot框架設(shè)計(jì)測(cè)試系統(tǒng)時(shí),要合理利用各部分功能。
1.2系統(tǒng)總體架構(gòu)
在進(jìn)行自動(dòng)化測(cè)試系統(tǒng)研發(fā)時(shí),本文主要以Robot框架為系統(tǒng)開發(fā)基礎(chǔ)來(lái)建立自動(dòng)化檢測(cè)改進(jìn)系統(tǒng)。測(cè)試系統(tǒng)設(shè)計(jì)應(yīng)滿足利用cNB功能執(zhí)行測(cè)試行為的自動(dòng)化檢測(cè)系統(tǒng),要求符合以下條件:一是測(cè)試系統(tǒng)應(yīng)面對(duì)GUI運(yùn)行界面,有針對(duì)性的設(shè)計(jì)與研發(fā),保證系統(tǒng)功能與界面顯示內(nèi)容的一致性;二是要求系統(tǒng)體現(xiàn)出獨(dú)立性以及穩(wěn)定性,以免出現(xiàn)由于系統(tǒng)運(yùn)行故障而導(dǎo)致檢測(cè)結(jié)果與實(shí)際情況有所偏差的現(xiàn)象,同時(shí)需要保證系統(tǒng)維修操作順利開展;三是考慮到測(cè)試操作主要依靠錄制好的腳本進(jìn)行,為了提高系統(tǒng)在不同軟件測(cè)試上的適應(yīng)性,需要結(jié)合軟件特征進(jìn)行腳本的修正和管理。因此,要求系統(tǒng)能滿足腳本編輯的需求。
對(duì)于自動(dòng)化檢測(cè)系統(tǒng)整體架構(gòu)而言,應(yīng)在系統(tǒng)內(nèi)部設(shè)置對(duì)應(yīng)數(shù)據(jù)庫(kù),使得測(cè)試腳本能存放在其中,方便對(duì)腳本信息的收集和儲(chǔ)存。當(dāng)實(shí)施自動(dòng)化測(cè)試行為時(shí),需要包括調(diào)取關(guān)鍵詞及參數(shù)這個(gè)環(huán)節(jié),以便為系統(tǒng)運(yùn)行提供信息支持,促使系統(tǒng)能根據(jù)選取的測(cè)試用例合理開展軟件質(zhì)量測(cè)試。從測(cè)試系統(tǒng)功能角度出發(fā),主要包括關(guān)鍵字調(diào)取、腳本錄制及運(yùn)行、日志生成等,只有在以上功能有效實(shí)現(xiàn)的條件下,才能保證軟件測(cè)試各環(huán)節(jié)取得良好效果。
1.3界面驅(qū)動(dòng)腳本設(shè)計(jì)及實(shí)現(xiàn)
界面測(cè)試腳本設(shè)計(jì)質(zhì)量與測(cè)試系統(tǒng)運(yùn)行效率有緊密聯(lián)系,因此,有必要重視的界面驅(qū)動(dòng)腳本的設(shè)計(jì),是自動(dòng)化系統(tǒng)建設(shè)階段不可或缺的環(huán)節(jié),是確保軟件測(cè)試結(jié)果準(zhǔn)確性的關(guān)鍵。為了實(shí)現(xiàn)測(cè)試腳本設(shè)計(jì)有效性,應(yīng)合理選擇測(cè)試工具,以便起到驅(qū)動(dòng)系統(tǒng)運(yùn)行的作用。一般來(lái)講,需要測(cè)試腳本具有易于修改、方便調(diào)試、盡可能降低數(shù)據(jù)文件和腳本關(guān)聯(lián)性等要求。在操作界面驅(qū)動(dòng)系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)方面,應(yīng)充分利用界面驅(qū)動(dòng)有關(guān)算法,進(jìn)行驅(qū)動(dòng)代碼的編寫。代碼中應(yīng)體現(xiàn)關(guān)鍵字的調(diào)取環(huán)節(jié),從而確定測(cè)試用例,在系統(tǒng)中輸入需要運(yùn)行的驅(qū)動(dòng)腳本信息,當(dāng)信息文件導(dǎo)入計(jì)算機(jī)系統(tǒng)中后,則可根據(jù)操作界面指示實(shí)行軟件測(cè)試等相關(guān)操作。當(dāng)測(cè)試腳本內(nèi)包含關(guān)鍵字信息后,應(yīng)在控制界面載入驅(qū)動(dòng)腳本對(duì)應(yīng)的測(cè)試信息,之后可對(duì)軟件質(zhì)量進(jìn)行檢測(cè)。
1.4關(guān)鍵字指令庫(kù)的設(shè)計(jì)及實(shí)現(xiàn)
對(duì)于關(guān)鍵字指令庫(kù)而言,由于關(guān)鍵字調(diào)取是實(shí)現(xiàn)測(cè)試系統(tǒng)功能的前提條件,因此需要加大對(duì)關(guān)鍵字指令庫(kù)建設(shè)的重視,通過(guò)合理選擇設(shè)計(jì)方法來(lái)建立滿足測(cè)試要求的關(guān)鍵字指令庫(kù)。測(cè)試系統(tǒng)已有模塊可為指令庫(kù)功能模塊設(shè)計(jì)提供條件,使得關(guān)鍵字能在功能模塊作用下正常調(diào)用[2]。要想保障系統(tǒng)各項(xiàng)功能的實(shí)現(xiàn),應(yīng)借助登陸主機(jī)、完善配置文件等行為來(lái)實(shí)施測(cè)試步驟,確保關(guān)鍵字?jǐn)?shù)據(jù)信息儲(chǔ)存在數(shù)據(jù)庫(kù)中。在進(jìn)行關(guān)鍵字指令庫(kù)設(shè)計(jì)時(shí),同樣需要編寫相關(guān)代碼,并將代碼信息儲(chǔ)存在文件中,當(dāng)執(zhí)行檢測(cè)操作時(shí),可利用已有關(guān)鍵字調(diào)用文件,將其導(dǎo)入測(cè)試系統(tǒng)中,以便驅(qū)動(dòng)系統(tǒng)實(shí)行軟件檢測(cè)操作。總的來(lái)講,關(guān)鍵字調(diào)取對(duì)測(cè)試系統(tǒng)運(yùn)行質(zhì)量有顯著影響,為了確保系統(tǒng)測(cè)試效果,需要結(jié)合測(cè)試用例來(lái)確定關(guān)鍵字的選取,與測(cè)試系統(tǒng)功能的實(shí)現(xiàn)有緊密聯(lián)系。
1.5系統(tǒng)啟動(dòng)
自動(dòng)化檢測(cè)系統(tǒng)數(shù)一個(gè)較完整的系統(tǒng),只有各模塊功能的實(shí)現(xiàn)還不能保障系統(tǒng)測(cè)試質(zhì)量的提高,在用戶使用測(cè)試系統(tǒng)時(shí),其內(nèi)部不同功能模塊將發(fā)生一個(gè)整合運(yùn)作過(guò)程,在各個(gè)模塊協(xié)調(diào)運(yùn)作的前提下,實(shí)現(xiàn)整個(gè)系統(tǒng)的正常運(yùn)轉(zhuǎn),發(fā)揮其在軟件檢測(cè)中的作用,從而保障軟件檢測(cè)工作的順利完成。在該系統(tǒng)設(shè)計(jì)時(shí),應(yīng)將需要整合的模塊寫進(jìn)一個(gè)函數(shù)中,在同一函數(shù)作用下,為各功能模塊配合運(yùn)作奠定基礎(chǔ),是實(shí)現(xiàn)系統(tǒng)功能的基礎(chǔ)條件,同時(shí)是自動(dòng)化檢測(cè)系統(tǒng)設(shè)計(jì)階段的主要內(nèi)容之一。
2自動(dòng)化測(cè)試系統(tǒng)的運(yùn)行
2.1LTE系統(tǒng)簡(jiǎn)介
該系統(tǒng)能實(shí)現(xiàn)為人們網(wǎng)絡(luò)行為提供基礎(chǔ)條件的功能,在網(wǎng)絡(luò)系統(tǒng)發(fā)展過(guò)程中,主要經(jīng)歷了模擬通信系統(tǒng)、數(shù)字通信系統(tǒng)以及3G通信等階段,不同通信技術(shù)在協(xié)調(diào)作用下逐漸形成先進(jìn)通信技術(shù)[3]。LTE是現(xiàn)階段主要信息傳遞技術(shù)之一,能在結(jié)合已有系統(tǒng)優(yōu)勢(shì)的前提下,實(shí)現(xiàn)系統(tǒng)結(jié)構(gòu)的優(yōu)化。本文主要針對(duì)軟件系統(tǒng)質(zhì)量檢測(cè)展開討論,通過(guò)借助LTE網(wǎng)絡(luò)中的cNB功能,可為自動(dòng)化檢測(cè)技術(shù)的實(shí)現(xiàn)提供幫助。對(duì)于cNB來(lái)講,主要由RNC以及3GNB構(gòu)成,具備以下功能:一是通信資源管理功能,可做到對(duì)無(wú)線資源載荷、信號(hào)接入控制等環(huán)節(jié)的有效管理。二是網(wǎng)絡(luò)用戶可將數(shù)據(jù)傳輸?shù)絊GM中,進(jìn)行信號(hào)發(fā)送;三是IP頭壓縮處理及數(shù)據(jù)加密,可加強(qiáng)對(duì)數(shù)據(jù)信息的保護(hù)。將這類網(wǎng)絡(luò)系統(tǒng)作為自動(dòng)化檢測(cè)系統(tǒng)開發(fā)平臺(tái),能保證在信息高效傳遞的條件下,為系統(tǒng)開發(fā)及功能實(shí)現(xiàn)提供基礎(chǔ)條件。并且在對(duì)LTE網(wǎng)絡(luò)應(yīng)用需求進(jìn)行分析時(shí),可得出主要體現(xiàn)在性能需求、成本需求、容量需求等方面,在滿足上述需求基礎(chǔ)上,可進(jìn)一步發(fā)揮LTE系統(tǒng)中cNB的功能。
2.2測(cè)試用例
為了確保自動(dòng)化檢測(cè)系統(tǒng)的正常運(yùn)行,需要在完成系統(tǒng)設(shè)計(jì)操作后對(duì)系統(tǒng)功能性展開測(cè)試。這時(shí)要求能合理選擇測(cè)試用例,本文主要從以下內(nèi)容出發(fā),來(lái)設(shè)置測(cè)試用例:一是項(xiàng)目背景,指的是考慮到數(shù)據(jù)傳遞過(guò)程中可能出現(xiàn)被破壞問(wèn)題,這時(shí)需要采取加密技術(shù)來(lái)降低信息損失,即是應(yīng)對(duì)cNB進(jìn)行數(shù)據(jù)加密功能的設(shè)置;二是對(duì)加密通道的測(cè)試分析。當(dāng)用戶端和控制面板產(chǎn)生的數(shù)據(jù)在同一通道中傳輸,則應(yīng)保證通道內(nèi)數(shù)據(jù)包成功加密;三是針對(duì)加密技術(shù)加以檢測(cè)。數(shù)據(jù)加密技術(shù)是基于傳輸通道實(shí)現(xiàn)的,需要在通道兩端設(shè)置加密點(diǎn),并只有在密鑰作用下才能獲取數(shù)據(jù)。加密技術(shù)運(yùn)用成效對(duì)自動(dòng)化檢測(cè)系統(tǒng)運(yùn)行質(zhì)量有直接影響,因此,有必要將數(shù)據(jù)加密技術(shù)實(shí)施效果作為檢測(cè)用例之一。
2.3自動(dòng)化測(cè)試分析
在實(shí)際進(jìn)行自動(dòng)化檢測(cè)時(shí),應(yīng)首先明確測(cè)試步驟。如測(cè)試人員將結(jié)合腳本結(jié)構(gòu)來(lái)編制具體代碼文件,盡可能做到涉及系統(tǒng)測(cè)試的各方面。在按照標(biāo)準(zhǔn)測(cè)試步驟進(jìn)行測(cè)試軟件性能檢測(cè)時(shí),需要注重的是在完成檢測(cè)后,應(yīng)記錄刪除信息的腳本,以便為之后的測(cè)試工作提供依據(jù)。測(cè)試用例具體自動(dòng)化檢測(cè)流程為:首先開始運(yùn)行測(cè)試系統(tǒng),之后記錄測(cè)試腳本信息并調(diào)用有關(guān)數(shù)據(jù)庫(kù),再次結(jié)合測(cè)試用例來(lái)編制測(cè)試代碼,進(jìn)而實(shí)行測(cè)試操作并得到操作結(jié)果。
在測(cè)試文件設(shè)置方面,應(yīng)明確文件由變量表格、關(guān)鍵詞表格、設(shè)置表格以及檢測(cè)用例表格等部分組成,上述構(gòu)成內(nèi)容分別對(duì)應(yīng)不同的注釋標(biāo)識(shí)。以變量表格為例,主要強(qiáng)到顯示關(guān)鍵字?jǐn)?shù)量的作用,對(duì)這一構(gòu)成來(lái)講,需要包括變量名、標(biāo)量以及列表變量等注釋內(nèi)容,在運(yùn)行自動(dòng)化檢測(cè)系統(tǒng)時(shí),可將文化中數(shù)據(jù)信息導(dǎo)入系統(tǒng)中。而在數(shù)據(jù)測(cè)試設(shè)計(jì)方面,是自動(dòng)化檢測(cè)設(shè)計(jì)中的主要環(huán)節(jié)之一。記錄測(cè)試腳本時(shí)將涉及導(dǎo)入數(shù)據(jù)、輸出數(shù)據(jù)以及驗(yàn)證數(shù)據(jù)等操作,這些數(shù)據(jù)有效性主要由測(cè)試數(shù)據(jù)設(shè)計(jì)決定[4]。獨(dú)立設(shè)置數(shù)據(jù)文件主要考慮到以下原因:一是提升測(cè)試文件使用程度;二是減弱測(cè)試文件與數(shù)據(jù)文件的關(guān)聯(lián)性。通過(guò)建立單獨(dú)的數(shù)據(jù)文件,當(dāng)需要修改測(cè)試參數(shù)時(shí),只需要調(diào)整數(shù)據(jù)文件,而不影響原有腳本的使用。
2.4自動(dòng)化測(cè)試實(shí)行
在完成自動(dòng)化檢測(cè)系統(tǒng)的腳本錄制以及調(diào)試等環(huán)節(jié)后,可將測(cè)試文件中的參數(shù)信息儲(chǔ)存在Data文件中,并對(duì)文件進(jìn)行命名,通過(guò)將這一文件加載到計(jì)算機(jī)設(shè)備中,便能對(duì)軟件系統(tǒng)進(jìn)行運(yùn)行質(zhì)量的測(cè)試。測(cè)試文件運(yùn)行過(guò)程中,應(yīng)啟動(dòng)文件中關(guān)鍵字,以便確保測(cè)試的全面性。通常情況下,測(cè)試系統(tǒng)需要檢測(cè)的測(cè)試用例存在對(duì)應(yīng)的集合中,系統(tǒng)運(yùn)行時(shí),將按照設(shè)定的執(zhí)行順序依次檢測(cè)各用例情況。實(shí)踐操作顯示,當(dāng)實(shí)行結(jié)束測(cè)試用例操作后,系統(tǒng)將輸出三類文件,其中日志文件能記錄測(cè)試階段的測(cè)試信息,從而為軟件故障排查提供依據(jù)。
2.5測(cè)試結(jié)果分析
在按照上述步驟執(zhí)行軟件測(cè)試操作后,可對(duì)自動(dòng)化測(cè)試技術(shù)優(yōu)勢(shì)有所了解。首先,從測(cè)試時(shí)間來(lái)講,一般情況下,自動(dòng)化測(cè)試用例花費(fèi)時(shí)間在30分鐘左后,并且有10分鐘為打造檢測(cè)環(huán)境,因此總的用例檢測(cè)時(shí)間約為20分鐘。而人為開展軟件檢測(cè)時(shí),在忽視外界環(huán)境干擾下的用時(shí)約為60分鐘。并且在進(jìn)行手工測(cè)試時(shí),容易受到外部因素影響而降低測(cè)試效率,將一定程度增加檢測(cè)時(shí)間,而自動(dòng)化檢測(cè)功能的實(shí)現(xiàn)主要依靠測(cè)試腳本作用,當(dāng)腳本錄制完成后,將在系統(tǒng)內(nèi)穩(wěn)定執(zhí)行,由此可得出,自動(dòng)化檢測(cè)具有可靠性好和效率高的優(yōu)勢(shì)。其次,從關(guān)鍵字調(diào)取時(shí)間和操作角度出發(fā),當(dāng)手工檢測(cè)軟件執(zhí)行質(zhì)量時(shí),不僅需要等待信息反饋時(shí)間,還要求用戶結(jié)合檢測(cè)項(xiàng)目自行輸入測(cè)試條件。以輔助軟件Wireshark措施為例,關(guān)鍵字調(diào)取時(shí)間上,自動(dòng)化檢測(cè)手段相較于手工測(cè)試而言有明顯優(yōu)勢(shì),并且操作行為能滿足測(cè)試系統(tǒng)運(yùn)行需求。
在對(duì)自動(dòng)化檢測(cè)特點(diǎn)進(jìn)行分析時(shí),首先,發(fā)現(xiàn)其具備操作流程簡(jiǎn)化的特點(diǎn),在測(cè)試腳本錄制完成后,可根據(jù)系統(tǒng)內(nèi)部指令來(lái)重復(fù)使用,不僅簡(jiǎn)化了測(cè)試準(zhǔn)備工作,還提升了腳本利用率。其次,Robot這一框架具有操作簡(jiǎn)單的特點(diǎn),只需要利用關(guān)鍵字驅(qū)動(dòng)作用,便能自動(dòng)執(zhí)行檢測(cè)用例過(guò)程,直至輸出測(cè)試報(bào)告,有助于軟件排錯(cuò)環(huán)節(jié)的進(jìn)行。最后,自動(dòng)化測(cè)試可按照測(cè)試順序來(lái)具體分析檢測(cè)用例,做到檢測(cè)用例信息的充分掌握,進(jìn)而實(shí)現(xiàn)檢測(cè)腳本的優(yōu)化設(shè)計(jì),在軟件測(cè)試中體現(xiàn)出較強(qiáng)的應(yīng)用潛力。
3 結(jié)論
綜上所述,軟件行業(yè)目前已經(jīng)取得了顯著的發(fā)展成果,軟件系統(tǒng)逐漸朝著大規(guī)模化發(fā)展,為了充分發(fā)揮軟件功能,需要加大對(duì)軟件的測(cè)試力度,是保證軟件質(zhì)量的關(guān)鍵。本文主要是在基于Robot框架的條件下,結(jié)合軟件系統(tǒng)特點(diǎn),具體分析了軟件檢測(cè)系統(tǒng)總體框架以及功能模塊等,進(jìn)而為軟件測(cè)試環(huán)節(jié)提供應(yīng)用效果較好的測(cè)試系統(tǒng),發(fā)揮其在保障軟件質(zhì)量上的積極作用。
參考文獻(xiàn):
[1]李全. 基于Robot Framework的移動(dòng)端自動(dòng)化測(cè)試方案設(shè)計(jì)與實(shí)現(xiàn)[D].東華大學(xué),2017.
[2]朱韶松. 基于Robot Framework的自動(dòng)化測(cè)試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].東南大學(xué),2016.
[3]梁思秋. 基于Robot Framework的MVC GUI模塊自動(dòng)化測(cè)試框架的設(shè)計(jì)與實(shí)現(xiàn)[D].東華大學(xué),2015.
[4]劉娟娟. 基于Robot框架的軟件自動(dòng)化測(cè)試技術(shù)的研究與應(yīng)用[D].浙江理工大學(xué),2013.
【通聯(lián)編輯:梁書】