用于聯(lián)鎖軟件自動(dòng)測(cè)試平臺(tái)系統(tǒng)的腳本解析方法
【專利摘要】本發(fā)明涉及一種用于聯(lián)鎖軟件自動(dòng)測(cè)試平臺(tái)系統(tǒng)的腳本解析方法,其特征在于,包括以下步驟:1)腳本讀入:其中輸入文件為通用測(cè)試腳本模板文件、聯(lián)鎖表配置文件、聯(lián)鎖確認(rèn)測(cè)試表格和聯(lián)鎖表。2)腳本編譯:包括詞法解析、語(yǔ)法編譯和創(chuàng)建語(yǔ)法樹(shù);3)腳本組建:根據(jù)語(yǔ)法樹(shù)生成測(cè)試運(yùn)行用最終腳本;4)腳本運(yùn)行。與現(xiàn)有技術(shù)相比,本發(fā)明具有降低人工成本、提高效率等優(yōu)點(diǎn)。
【專利說(shuō)明】用于聯(lián)鎖軟件自動(dòng)測(cè)試平臺(tái)系統(tǒng)的腳本解析方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種鐵路信號(hào)設(shè)備系統(tǒng),尤其是涉及一種用于聯(lián)鎖軟件自動(dòng)測(cè)試平臺(tái)系統(tǒng)的腳本解析方法。
【背景技術(shù)】
[0002]當(dāng)前在基于麗I站場(chǎng)模擬的模式下,辦理進(jìn)路、進(jìn)路取消、占用出清等操作,檢查站場(chǎng)中設(shè)備的狀態(tài),然后與腳本中預(yù)期結(jié)果數(shù)據(jù)相比較,來(lái)判定是否正確,都需要人工逐一審核。然而人工的測(cè)試方法,雖然較為靈活,能夠考慮到很多特殊的情況,但缺點(diǎn)在于,由于每條線的車站數(shù)量較多,進(jìn)行完一輪完整系統(tǒng)性的窮舉測(cè)試,這個(gè)過(guò)程相對(duì)而言還是比較漫長(zhǎng)的,通常需要幾個(gè)月時(shí)間,而且一旦發(fā)現(xiàn)錯(cuò)誤,則需要重新修改聯(lián)鎖邏輯,再進(jìn)行新一輪的測(cè)試,這必將大大延長(zhǎng)項(xiàng)目的工期。
[0003]經(jīng)過(guò)對(duì)現(xiàn)有技術(shù)研究的文獻(xiàn)檢索發(fā)現(xiàn),中國(guó)專利號(hào)文獻(xiàn)CN201010226788.X介紹了一種用于移動(dòng)通訊設(shè)備終端的瀏覽器腳本解析方法及其裝置。使用該發(fā)明,能夠較好的解決移動(dòng)通訊設(shè)備終端瀏覽器腳本功能,并且解析移動(dòng)通訊設(shè)備終端瀏覽器龐大和適配困難的問(wèn)題。但這種腳本解析僅適用于特定領(lǐng)域,不使用于軌道交通領(lǐng)域,因此需要有一個(gè)在這種情況下的可替代方案。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供一種降低人工成本、提高效率的用于聯(lián)鎖軟件自動(dòng)測(cè)試平臺(tái)系統(tǒng)的腳本解析方法。
[0005]本發(fā)明的目的可以通過(guò)以下技術(shù)方案來(lái)實(shí)現(xiàn):
[0006]一種用于聯(lián)鎖軟件自動(dòng)測(cè)試平臺(tái)系統(tǒng)的腳本解析方法,所述聯(lián)鎖軟件自動(dòng)測(cè)試平臺(tái)系統(tǒng)由模擬下位機(jī)SimVLE、上位機(jī)人機(jī)交互界面MMI和集成測(cè)試工具ISTP構(gòu)成,其特征在于,所述的方法包括以下步驟:
[0007]I)腳本讀入;
[0008]2)腳本編譯;
[0009]3)腳本組建;
[0010]4)腳本運(yùn)行。
[0011]所述的腳本讀入過(guò)程的輸入文件為通用測(cè)試腳本模板文件、聯(lián)鎖表配置文件、聯(lián)鎖確認(rèn)測(cè)試表格和聯(lián)鎖表。
[0012]所述的腳本編譯包括詞法解析、語(yǔ)法編譯和創(chuàng)建語(yǔ)法樹(shù)。
[0013]所述的詞法編譯為使用TAB命令查詢數(shù)據(jù)庫(kù),并賦值給相應(yīng)的變量,使用變量時(shí),直接替換成變量所對(duì)應(yīng)的值即可。
[0014]所述的TAB命令格式為NAME* = TAB [表名列名關(guān)鍵字(關(guān)鍵字索引值N)][目標(biāo)列][目標(biāo)列索引值N],具體功能為:聯(lián)鎖表中,在“表名”表中,“列名”列中查詢“關(guān)鍵字”,返回第“關(guān)鍵字索弓丨值N”個(gè)“關(guān)鍵字”所在行,“目標(biāo)列”列與該行的交叉單元格中的內(nèi)容即為表查詢的結(jié)果,若“目標(biāo)列索引值N”有值,則返回第N個(gè)搜索結(jié)果。
[0015]所述的語(yǔ)法編譯具體為:對(duì)單條語(yǔ)句、WHILE循環(huán)語(yǔ)句和IF判斷語(yǔ)句進(jìn)行編譯。
[0016]所述的單條語(yǔ)句包括如下命令:列車進(jìn)路、調(diào)車進(jìn)路、折返進(jìn)路、模擬走車、道岔定操、道岔反操、道岔單鎖、道岔解鎖、引導(dǎo)總鎖、區(qū)故解、總?cè)∠?、總?cè)私?、道岔授?quán)、道岔去授權(quán)、封鎖、解封、信號(hào)重開(kāi)、引導(dǎo)進(jìn)路、設(shè)置TSR、取消TSR、全站解除、功能按鈕、SET命令、GET命令、RESET命令。
[0017]所述的創(chuàng)建語(yǔ)法樹(shù)為:每一個(gè)節(jié)點(diǎn)只有一個(gè)父節(jié)點(diǎn),但有多個(gè)子節(jié)點(diǎn)。
[0018]所述的腳本組建過(guò)程為根據(jù)語(yǔ)法樹(shù)生成測(cè)試運(yùn)行用最終腳本。
[0019]所述的腳本運(yùn)行為,在軟件自動(dòng)測(cè)試平臺(tái)上運(yùn)行生成的最終腳本。
[0020]與現(xiàn)有人工測(cè)試技術(shù)相比,人工測(cè)試由于每條線的車站數(shù)量較多,進(jìn)行完一輪完整系統(tǒng)性的窮舉測(cè)試,這個(gè)過(guò)程相對(duì)而言還是比較漫長(zhǎng)的,通常需要幾個(gè)月時(shí)間,而且一旦發(fā)現(xiàn)錯(cuò)誤,則需要重新修改聯(lián)鎖邏輯,再進(jìn)行新一輪的測(cè)試,這必將大大延長(zhǎng)項(xiàng)目的工期,而使用本發(fā)明自動(dòng)測(cè)試平臺(tái)可以大大節(jié)省人力和時(shí)間,提高效率。
【專利附圖】
【附圖說(shuō)明】
[0021]圖1為本發(fā)明應(yīng)用層結(jié)構(gòu)示意圖;
[0022]圖2為文件讀入模塊結(jié)構(gòu)圖;
[0023]圖3為本發(fā)明實(shí)施的流程圖。
【具體實(shí)施方式】
[0024]下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明。
[0025]本實(shí)施例在以本發(fā)明技術(shù)方案為前提下進(jìn)行實(shí)施,給出了詳細(xì)的實(shí)施方式和具體的操作過(guò)程,但本發(fā)明的保護(hù)范圍不限于下述的實(shí)施例。
[0026]如圖1所示,本實(shí)施例包括三層:應(yīng)用層、邏輯層和接口層。所述的應(yīng)用層包括文件讀入1吳塊。
[0027]如圖2所示,所述的文件讀入模塊主要包括:聯(lián)鎖表、聯(lián)鎖表配置文件、聯(lián)鎖確認(rèn)測(cè)試表格和通用測(cè)試腳本模板。
[0028]如圖1所示,所述的邏輯層包括解析腳本模塊、執(zhí)行腳本生成模塊。
[0029]如圖1所示,所述的接口層包括腳本執(zhí)行模塊。
[0030]如圖3所示,所述的讀入腳本模塊指讀入一個(gè)測(cè)試用例文件;所述的詞法解析指,將讀入的測(cè)試用例按測(cè)試對(duì)象拆分測(cè)試用例成多個(gè)集合,對(duì)每個(gè)集合進(jìn)行解析;所述的語(yǔ)法分析指,
[0031]如圖3所示,所述的詞法分析中拆分后的每個(gè)集合,包括詞法定義和命令行兩部分。詞法定義使用特定的TAB命令查詢數(shù)據(jù)庫(kù),并賦值給相應(yīng)的變量,使用變量時(shí),直接替換成變量所對(duì)應(yīng)的值。
[0032]如圖3所示,所述的TAB命令,格式為NAME* = TAB [表名_列名_關(guān)鍵字(關(guān)鍵字索引值N)][目標(biāo)列][目標(biāo)列索引值N]。功能為:聯(lián)鎖表中,在“表名”表中,“列名”列中查詢“關(guān)鍵字”,返回第“關(guān)鍵字索引值N”個(gè)“關(guān)鍵字”所在行,“目標(biāo)列”列與該行的交叉單元格中的內(nèi)容即為表查詢的結(jié)果,若“目標(biāo)列索引值N”有值,則返回第N個(gè)搜索結(jié)果。[0033]所述的語(yǔ)法分析,主要對(duì)單條語(yǔ)句、循環(huán)語(yǔ)句和判斷語(yǔ)句進(jìn)行編譯。
[0034]所述的單條語(yǔ)句包括如下命令:列車進(jìn)路、調(diào)車進(jìn)路、折返進(jìn)路、模擬走車、道岔定操、道岔反操、道岔單鎖、道岔解鎖、引導(dǎo)總鎖、區(qū)故解、總?cè)∠?、總?cè)私?、道岔授?quán)、道岔去授權(quán)、封鎖、解封、信號(hào)重開(kāi)、引導(dǎo)進(jìn)路、設(shè)置TSR、取消TSR、全站解除、功能按鈕、SET命令、GET命令、RESET命令。
[0035]所述列車進(jìn)路命令定義"ROUTE"。
[0036]所述調(diào)車進(jìn)路命令定義"DROUTE "。
[0037]所述折返進(jìn)路命令定義"ZFR0UTE "。
[0038]所述模擬走車命令定義"T0RR"。
[0039]所述道岔定操命令定義為"DC"。
[0040]所述道岔反操命令定義為"FC"。
[0041]所述道岔單鎖命令定義為"DS"。
[0042]所述道岔解鎖命令定義為"JS"。
[0043]所述引導(dǎo)總鎖命令定義為"YDZS"。
[0044]所述區(qū)故解命令定義為"QGJ"。
[0045]所述總?cè)∠疃x為"ZQX"。
[0046]所述總?cè)私饷疃x為"ZRJ"。
[0047]所述道岔授權(quán)命令定義為"DCSQ"。
[0048]所述道岔區(qū)授權(quán)命令定義為"DCQSQ"。
[0049]所述封鎖命令定義為"FS"。
[0050]所述解封命令定義為"JF"。
[0051]所述信號(hào)重開(kāi)命令定義為"CK"。
[0052]所述引導(dǎo)進(jìn)路命令定義為"YD"。
[0053]所述設(shè)置TSR命令定義為"TSR"。
[0054]所述取消TSR命令定義為"QXTSR"。
[0055]所述全站解除TSR命令定義為"QZJCTSR"。
[0056]所述功能按鈕命令定義為"FUNC"。
[0057]所述GET命令描述一條測(cè)試用例中的GET語(yǔ)句,獲取一個(gè)碼位值,是否是與設(shè)置的值相同。
[0058]所述SET命令描述一條測(cè)試用例中的SET語(yǔ)句,置碼位。
[0059]所述RESET命令描述一條測(cè)試用例中的RESET語(yǔ)句,用于重置站場(chǎng)狀態(tài)為空閑態(tài)。
[0060]所述的創(chuàng)建語(yǔ)法樹(shù),所述語(yǔ)法樹(shù)每一個(gè)節(jié)點(diǎn)只有一個(gè)父節(jié)點(diǎn),但有多個(gè)子節(jié)點(diǎn)。
[0061]所述的組建過(guò)程為根據(jù)所述的語(yǔ)法樹(shù)生成測(cè)試運(yùn)行用最終腳本。
[0062]所述的運(yùn)行指,在軟件自動(dòng)測(cè)試平臺(tái)上運(yùn)行生成的最終腳本。
【權(quán)利要求】
1.一種用于聯(lián)鎖軟件自動(dòng)測(cè)試平臺(tái)系統(tǒng)的腳本解析方法,其特征在于,包括以下步驟: 1)腳本讀入; 2)腳本編譯; 3)腳本組建; 4)腳本運(yùn)行。
2.根據(jù)權(quán)利要求1所述的一種用于聯(lián)鎖軟件自動(dòng)測(cè)試平臺(tái)系統(tǒng)的腳本解析方法,其特征在于,所述的腳本讀入過(guò)程的輸入文件為通用測(cè)試腳本模板文件、聯(lián)鎖表配置文件、聯(lián)鎖確認(rèn)測(cè)試表格和聯(lián)鎖表。
3.根據(jù)權(quán)利要求1所述的一種用于聯(lián)鎖軟件自動(dòng)測(cè)試平臺(tái)系統(tǒng)的腳本解析方法,其特征在于,所述的腳本編譯包括詞法解析、語(yǔ)法編譯和創(chuàng)建語(yǔ)法樹(shù)。
4.根據(jù)權(quán)利要求3所述的一種用于聯(lián)鎖軟件自動(dòng)測(cè)試平臺(tái)系統(tǒng)的腳本解析方法,其特征在于,所述的詞法編譯為使用TAB命令查詢數(shù)據(jù)庫(kù),并賦值給相應(yīng)的變量,使用變量時(shí),直接替換成變量所對(duì)應(yīng)的值即可。
5.根據(jù)權(quán)利要求4所述的一種用于聯(lián)鎖軟件自動(dòng)測(cè)試平臺(tái)系統(tǒng)的腳本解析方法,其特征在于,所述的TAB命令格式為NAME* = TAB[表名_列名_關(guān)鍵字(關(guān)鍵字索引值N)][目標(biāo)列][目標(biāo)列索引值N],具體功能為:聯(lián)鎖表中,在“表名”表中,“列名”列中查詢“關(guān)鍵字”,返回第“關(guān)鍵字索引值N”個(gè)“關(guān)鍵字”所在行,“目標(biāo)列”列與該行的交叉單元格中的內(nèi)容即為表查詢的結(jié)果,若“目標(biāo)列索引值N”有值,則返回第N個(gè)搜索結(jié)果。
6.根據(jù)權(quán)利要求3所述的一種用于聯(lián)鎖軟件自動(dòng)測(cè)試平臺(tái)系統(tǒng)的腳本解析方法,其特征在于,所述的語(yǔ)法編譯具體為:對(duì)單條語(yǔ)句、WHILE循環(huán)語(yǔ)句和IF判斷語(yǔ)句進(jìn)行編譯。
7.根據(jù)權(quán)利要求3所述的一種用于聯(lián)鎖軟件自動(dòng)測(cè)試平臺(tái)系統(tǒng)的腳本解析方法,其特征在于,所述的單條語(yǔ)句包括如下命令:列車進(jìn)路、調(diào)車進(jìn)路、折返進(jìn)路、模擬走車、道岔定操、道岔反操、道岔單鎖、道岔解鎖、引導(dǎo)總鎖、區(qū)故解、總?cè)∠⒖側(cè)私?、道岔授?quán)、道岔去授權(quán)、封鎖、解封、信號(hào)重開(kāi)、引導(dǎo)進(jìn)路、設(shè)置TSR、取消TSR、全站解除、功能按鈕、SET命令、GET命令、RESET命令。
8.根據(jù)權(quán)利要求3所述的一種用于聯(lián)鎖軟件自動(dòng)測(cè)試平臺(tái)系統(tǒng)的腳本解析方法,其特征在于,所述的創(chuàng)建語(yǔ)法樹(shù)為:每一個(gè)節(jié)點(diǎn)只有一個(gè)父節(jié)點(diǎn),但有多個(gè)子節(jié)點(diǎn)。
9.根據(jù)權(quán)利要求8所述的一種用于聯(lián)鎖軟件自動(dòng)測(cè)試平臺(tái)系統(tǒng)的腳本解析方法,其特征在于,所述的腳本組建過(guò)程為根據(jù)語(yǔ)法樹(shù)生成測(cè)試運(yùn)行用最終腳本。
10.根據(jù)權(quán)利要求8所述的一種用于聯(lián)鎖軟件自動(dòng)測(cè)試平臺(tái)系統(tǒng)的腳本解析方法,其特征在于,所述的腳本運(yùn)行為,在軟件自動(dòng)測(cè)試平臺(tái)上運(yùn)行生成的最終腳本。
【文檔編號(hào)】G06F11/36GK103885879SQ201410116831
【公開(kāi)日】2014年6月25日 申請(qǐng)日期:2014年3月26日 優(yōu)先權(quán)日:2014年3月26日
【發(fā)明者】何紅光, 趙翠云, 梅文蘭, 王旭東, 張程, 陳吉余, 朱怡, 蘭青輝, 李衛(wèi)娟 申請(qǐng)人:卡斯柯信號(hào)有限公司