專利名稱:一種航天器測試腳本語義識別與自動生成方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種測試腳本的自動生成方法,應(yīng)用于航天器自動化測試領(lǐng)域.
背景技術(shù):
在衛(wèi)星測試領(lǐng)域,目前已經(jīng)具備利用腳本進(jìn)行一定程度自動化測試的條件,但是測試腳本語法通常比較復(fù)雜,對不熟悉腳本語法的測試人員而言,不便于直接編寫腳本。且航天器測試用例數(shù)量很大,直接編寫和維護(hù)測試用例腳本的工作量很大。
發(fā)明內(nèi)容
本發(fā)明提供一種航天器測試腳本語義識別與自動生成方法,測試人員能夠直接填寫測試步驟的參數(shù),無需掌握底層腳本語言的語法,所有測試用例以表格形式維護(hù),測試業(yè)務(wù)邏輯清晰且維護(hù)工作量減小。本發(fā)明的技術(shù)解決方案是提出一種航天器測試腳本語義識別與自動生成方法, 包括以下步驟第一步建立描述航天器測試用例表格化模塊,對測試用例中的各步驟設(shè)置步驟數(shù)據(jù)列,不設(shè)置操作關(guān)鍵字列;測試用例編寫人員通過在該模板中的逐行填寫任意一個測試用例的各測試步驟所需的步驟數(shù)據(jù),來形成具有流程和步驟數(shù)據(jù)的測試用例表格;第二步建立描述測試腳本語法與測試用例表格化模板的綁定關(guān)系配置模塊,采用XML語言實現(xiàn)對測試腳本語法元素和測試用例表格化模板中相應(yīng)列的綁定關(guān)系的描述; 通過應(yīng)用不同的配置文件,實現(xiàn)將不同結(jié)構(gòu)的測試用例表格化模板與不同的測試腳本語言語法進(jìn)行綁定;第三步基于測試用例表格化模塊和綁定關(guān)系配置模塊實現(xiàn)測試腳本自動生成引擎模塊,通過該引擎進(jìn)行解析測試用例表格,并讀取其腳本語法綁定配置文件,逐行將各列內(nèi)容綁定的腳本語言語法元素相關(guān)聯(lián),然后對單元格內(nèi)容即測試參數(shù)進(jìn)行基于正則表達(dá)式的模式識別,獲取其語義,進(jìn)而自動生成相應(yīng)的腳本。測試腳本自動生成引擎模塊包括表格解析模塊、配置文件解析模塊和腳本生成模塊;其中表格解析模塊負(fù)責(zé)逐行、逐列解析測試用例表格內(nèi)容,配置文件解析模塊負(fù)責(zé)解析基于XML的測試腳本語法與測試用例表格化模板的綁定關(guān)系的配置文件,獲取表格內(nèi)容所對應(yīng)的腳本語法元素,腳本生成模塊負(fù)責(zé)通過正則表達(dá)式的模式匹配,生成腳本文本。本發(fā)明的有益效果1.現(xiàn)有腳本生成技術(shù)需要指定操作關(guān)鍵字和數(shù)據(jù)(關(guān)鍵字驅(qū)動方法),或者事先固化測試腳本執(zhí)行邏輯,測試人員填寫用例數(shù)據(jù),在測試腳本執(zhí)行時動態(tài)讀取數(shù)據(jù)(數(shù)據(jù)驅(qū)動方法)。關(guān)鍵字驅(qū)動方法需要測試人員記憶關(guān)鍵字并使用,不便于掌握。數(shù)據(jù)驅(qū)動方法不需要測試人員指定關(guān)鍵字,只需指定測試數(shù)據(jù)參數(shù),但是測試邏輯是固化的,修改測試邏輯還需要直接修改腳本代碼。本發(fā)明通過腳本自動生成引擎進(jìn)行模式識別,解析表格化模板內(nèi)容的語義,使用者無需在模板中指定操作類型,只需填入具體參數(shù),系統(tǒng)就能識別操作類型,并生成相應(yīng)腳本。建立和維護(hù)測試腳本都十分方便。2.表格模板可與不同腳本語法規(guī)則綁定,腳本生成引擎具有通用性,可以生成多種腳本。
具體實施例方式本發(fā)明的航天器測試腳本語義識別與自動生成方法首先建立描述航天器測試用例表格化模塊,該表格的基本結(jié)構(gòu)如下,并可由測試用例編寫人員在基本結(jié)構(gòu)上進(jìn)行擴(kuò)展新的列。表1測試用例表格化模板基本結(jié)構(gòu)
模板名稱.......模板代號…… 測試用例名稱…… 測試用例代號.......步驟序號步驟數(shù)據(jù)執(zhí)行成功后的步驟數(shù)據(jù)執(zhí)行失敗后的步驟數(shù)據(jù)備注測試人員根據(jù)測試用例在表格化模板中直接填寫每個測試步驟的步驟數(shù)據(jù)(例如遙控指令號、遙測參數(shù)判別條件、測試流程控制類型與跳轉(zhuǎn)的目標(biāo)步驟號等),無需在模板中指定操作動作,不依賴于腳本語言的關(guān)鍵字和語法格式;向表格化模板填寫完步驟數(shù)據(jù)后,形成的測試用例表格實例如下。表2測試用例表格實例
模板名稱……模板代號…… 測試用例名稱…… 測試用例代號……步驟序號步驟數(shù)據(jù)執(zhí)行成功后的步驟數(shù)據(jù)執(zhí)行失敗后的步驟數(shù)據(jù)備注1M號指令2i>i y參數(shù)>0JUMP:x判讀參數(shù)值失敗則跳轉(zhuǎn)到第X 步3AA號序列4j號參數(shù)=0N號指令P號指令η (η>=1)Q號指令k號參數(shù)=1其次建立描述測試腳本語法與測試用例表格化模板的綁定關(guān)系配置模塊,用來描述測試用例表格化模板的各列到特定的某種腳本各語法元素的綁定關(guān)系。該配置文件的結(jié)構(gòu)如下?!?一綁定關(guān)系配置信息一〉〈bindingConfig>〈script〉腳本語言名稱〈/script〉〈template〉測試用例表格化模板代號〈/template〉〈binding〉〈column no=咧號1"scriptelEment="語法關(guān)鍵字’pattern="語法模式識別正則表達(dá)式“〉〈column no='列號2"scriptelEment="語法關(guān)鍵字'pattern="語法模式識別正則表達(dá)式“〉〈column no=’列號η"scriptelEment="語法關(guān)鍵字’pattern="語法模式識別正則表達(dá)式“〉</binding></bindingConfig>最后基于測試用例表格化模塊和綁定關(guān)系配置模塊實現(xiàn)測試腳本自動生成引擎模塊,該引擎能夠解析測試用例表格的并讀取其腳本語法綁定配置文件,逐行將各列內(nèi)容綁定的腳本語言語法元素相關(guān)聯(lián),然后自動對單元格內(nèi)容(即測試參數(shù))進(jìn)行基于正則表達(dá)式的模式識別,獲取其語義,進(jìn)而自動生成相應(yīng)的腳本。當(dāng)測試業(yè)務(wù)發(fā)生顯著變化需要更改表格化模板,或需要使用新的測試腳本語言時,可以靈活的修改表格與腳本語法綁定的配置文件,不需要修改腳本自動生成引擎,即可快速適應(yīng)新的腳本生成需求。腳本自動生成引擎包括3個模塊表格解析模塊負(fù)責(zé)逐行、逐列解析測試用例表格內(nèi)容;配置文件解析模塊解析基于XML的測試腳本語法與測試用例表格化模板的綁定關(guān)系的配置文件,獲取表格內(nèi)容所對應(yīng)的腳本語法元素;腳本生成模塊通過正則表達(dá)式的模式匹配,生成腳本文本。綜上,測試人員根據(jù)測試用例的實際流程,直接在表格中填寫每個測試步驟的參數(shù)(例如遙控指令號、遙測參數(shù)判別條件、測試流程控制),無需在模板中指定操作類型,不依賴于腳本語言的關(guān)鍵字和語法格式;設(shè)計并實現(xiàn)了一種測試腳本自動生成引擎,該引擎能對測試用例表格中的測試參數(shù)進(jìn)行模式識別,獲取其語義,進(jìn)而自動生成相應(yīng)的腳本;表格化模板可與不同腳本語法規(guī)則綁定,綁定信息采用配置文件進(jìn)行描述,腳本生成引擎具有一定的通用性,可根據(jù)不同表格化模板和綁定配置生成多種腳本。
權(quán)利要求
1.一種航天器測試腳本語義識別與自動生成方法,其特征在于,包括以下步驟 第一步建立描述航天器測試用例表格化模塊,對測試用例中的各步驟設(shè)置步驟數(shù)據(jù)列,不設(shè)置操作關(guān)鍵字列;測試用例編寫人員通過在該模板中的逐行填寫任意一個測試用例的各測試步驟所需的步驟數(shù)據(jù),來形成具有流程和步驟數(shù)據(jù)的測試用例表格;第二步建立描述測試腳本語法與測試用例表格化模板的綁定關(guān)系配置模塊,采用 XML語言實現(xiàn)對測試腳本語法元素和測試用例表格化模板中相應(yīng)列的綁定關(guān)系的描述;通過應(yīng)用不同的配置文件,實現(xiàn)將不同結(jié)構(gòu)的測試用例表格化模板與不同的測試腳本語言語法進(jìn)行綁定;第三步基于測試用例表格化模塊和綁定關(guān)系配置模塊實現(xiàn)測試腳本自動生成引擎模塊,通過該引擎進(jìn)行解析測試用例表格,并讀取其腳本語法綁定配置文件,逐行將各列內(nèi)容綁定的腳本語言語法元素相關(guān)聯(lián),然后對單元格內(nèi)容即測試參數(shù)進(jìn)行基于正則表達(dá)式的模式識別,獲取其語義,進(jìn)而自動生成相應(yīng)的腳本。
2.如權(quán)利要求1所述的一種航天器測試腳本語義識別與自動生成方法,其特征在于, 測試腳本自動生成引擎模塊包括表格解析模塊、配置文件解析模塊和腳本生成模塊;其中表格解析模塊負(fù)責(zé)逐行、逐列解析測試用例表格內(nèi)容,配置文件解析模塊負(fù)責(zé)解析基于XML 的測試腳本語法與測試用例表格化模板的綁定關(guān)系的配置文件,獲取表格內(nèi)容所對應(yīng)的腳本語法元素,腳本生成模塊負(fù)責(zé)通過正則表達(dá)式的模式匹配,生成腳本文本。
全文摘要
本發(fā)明為一種航天器測試腳本語義識別與自動生成方法,應(yīng)用于航天器自動化測試領(lǐng)域。第一步建立描述航天器測試用例表格化模塊,對測試用例中的各步驟設(shè)置步驟數(shù)據(jù)列,第二步建立描述測試腳本語法與測試用例表格化模板的綁定關(guān)系配置模塊,采用XML語言實現(xiàn)對測試腳本語法元素和測試用例表格化模板中相應(yīng)列的綁定關(guān)系的描述;第三步基于測試用例表格化模塊和綁定關(guān)系配置模塊實現(xiàn)測試腳本自動生成引擎模塊,通過該引擎進(jìn)行解析測試用例表格,并讀取其腳本語法綁定配置文件。本發(fā)明測試人員能夠直接填寫測試步驟的參數(shù),無需掌握底層腳本語言的語法,所有測試用例以表格形式維護(hù),測試業(yè)務(wù)邏輯清晰且維護(hù)工作量減小。
文檔編號G06F11/36GK102541730SQ20111040725
公開日2012年7月4日 申請日期2011年12月8日 優(yōu)先權(quán)日2011年12月8日
發(fā)明者呂偉, 張海祥, 閆金棟 申請人:北京空間飛行器總體設(shè)計部