張仕雄
(武漢鐵路職業(yè)技術(shù)學(xué)院,武漢 430205)
CTCS-3級(jí)列控系統(tǒng)測(cè)試序列合理性驗(yàn)證的研究
張仕雄
(武漢鐵路職業(yè)技術(shù)學(xué)院,武漢 430205)
摘 要:CTCS -3級(jí)列控系統(tǒng)測(cè)試序列是實(shí)驗(yàn)室以及現(xiàn)場(chǎng)調(diào)試和測(cè)試的基礎(chǔ),而測(cè)試序列的合理性將決定測(cè)試過(guò)程是否能夠正確完成。在分析測(cè)試序列設(shè)計(jì)原則的基礎(chǔ)上,結(jié)合測(cè)試序列生成條件、方法和步驟,得出測(cè)試序列合理性驗(yàn)證所需驗(yàn)證的內(nèi)容。并在此基礎(chǔ)上開(kāi)發(fā)了測(cè)試序列合理性驗(yàn)證工具,從而提高了測(cè)試序列合理性驗(yàn)證的效率和智能化程度。
關(guān)鍵詞:測(cè)試序列;合理性驗(yàn)證;列控系統(tǒng)
CTCS -3級(jí)列控系統(tǒng)上道運(yùn)用前必須在實(shí)驗(yàn)室和現(xiàn)場(chǎng)進(jìn)行測(cè)試,以保證其系統(tǒng)功能需求,包括系統(tǒng)的正常功能和故障防護(hù)功能,并保證不同廠商設(shè)計(jì)制造設(shè)備的技術(shù)兼容性。CTCS -3級(jí)列控系統(tǒng)的測(cè)試案例編制以《CTCS -3級(jí)列控系統(tǒng)系統(tǒng)需求規(guī)范(SRS)》和《CTCS -3級(jí)列控系統(tǒng)總體技術(shù)方案》等為依據(jù),對(duì)CTCS -3級(jí)系統(tǒng)的各個(gè)子系統(tǒng)進(jìn)行全面的功能和接口測(cè)試[1,2]。
目前,依據(jù)鐵道部頒布的CTCS -3級(jí)列控系統(tǒng)測(cè)試案例如何生成有效的測(cè)試序列已有多人進(jìn)行了研究,如文獻(xiàn)[3]對(duì)測(cè)試序列生成問(wèn)題進(jìn)行了初步探索。文獻(xiàn)[4]提出了如何將測(cè)試案例組合成為最有效和最優(yōu)化的測(cè)試序列,并提出了利用遺傳算法解決郵遞員問(wèn)題的優(yōu)勢(shì)。文獻(xiàn)[5]研究了基于中國(guó)郵路算法生成和優(yōu)化CTCS -3級(jí)列控系統(tǒng)車載設(shè)備測(cè)試序列的方法。
本文在分析測(cè)試序列設(shè)計(jì)原則的基礎(chǔ)上,結(jié)合測(cè)試序列生成條件、方法以及步驟,提出了測(cè)試序列合理性驗(yàn)證的內(nèi)容,并使用VisualStudio2005開(kāi)發(fā)環(huán)境以及C號(hào)語(yǔ)言開(kāi)發(fā)了測(cè)試序列合理性驗(yàn)證工具,提高了測(cè)試序列合理性驗(yàn)證的效率和智能化程度。
《CTCS -3級(jí)列控系統(tǒng)系統(tǒng)需求規(guī)范(SRS)》描述了整個(gè)列車控制系統(tǒng)的需求,如果將系統(tǒng)需求規(guī)范中每一條需求都轉(zhuǎn)化成測(cè)試案例,則會(huì)導(dǎo)致測(cè)試案例的數(shù)量非常龐大,產(chǎn)生案例爆炸性問(wèn)題。為了解決該問(wèn)題,首先要從系統(tǒng)需求規(guī)范中提煉精簡(jiǎn)后的必要功能實(shí)體,即功能特征。
功能特征就是CTCS -3級(jí)列車控制系統(tǒng)必要的功能實(shí)體,這些功能實(shí)體是外部可見(jiàn)的(即操作者或用戶能實(shí)施的),并且能分解成基本的因果關(guān)系。這樣,就能夠?qū)⑾到y(tǒng)需求規(guī)范中詳細(xì)的需求概括成功能特征。功能特征包含一個(gè)或多個(gè)需求,這些需求以一種外部可見(jiàn)、易于管理的、廣泛獨(dú)立以用于測(cè)試的方法概括出來(lái)。這樣,每個(gè)功能特征下面就可以包括一個(gè)或者多個(gè)測(cè)試案例,從而大大縮減了測(cè)試案例的數(shù)量[1]。需求規(guī)范、功能特征與測(cè)試案例的關(guān)系如圖1所示。
測(cè)試序列應(yīng)該能夠覆蓋全部的測(cè)試案例,由于測(cè)試案例規(guī)模相對(duì)龐大,因此在編寫和規(guī)劃測(cè)試序列上不容易實(shí)現(xiàn)。為此,一般把某些能夠共同完成系統(tǒng)的一個(gè)比較固定功能的測(cè)試案例組織在一起,這就形成了測(cè)試子序列。
測(cè)試子序列不僅僅把測(cè)試案例進(jìn)行了相應(yīng)的功能分化編組,還為快速編寫測(cè)試序列,為系統(tǒng)測(cè)試效率的提高提供了有效的方案。
測(cè)試案例和測(cè)試子序列是多對(duì)多的關(guān)系,即一個(gè)測(cè)試子序列可以包含多個(gè)測(cè)試案例,一個(gè)測(cè)試案例可以同時(shí)存在于多個(gè)測(cè)試子序列。測(cè)試案例是根據(jù)兩兩之間的相互聯(lián)系以及先后順序進(jìn)行連接組成了測(cè)試子序列。測(cè)試案例與測(cè)試子序列的關(guān)系見(jiàn)圖2。
圖2 測(cè)試案例與測(cè)試子序列的關(guān)系
測(cè)試序列的生成,應(yīng)先利用郵遞員算法求解全局狀態(tài)車載模式裝換的最優(yōu)路線,得到車載模式轉(zhuǎn)換序列。然后針對(duì)每個(gè)車載模式轉(zhuǎn)換序列,依次對(duì)其中的測(cè)試框架求解測(cè)試子序列,最后將測(cè)試子序列串聯(lián)成測(cè)試序列[5]。測(cè)試序列生成流程見(jiàn)圖3。
圖3 測(cè)試序列生成流程
通過(guò)對(duì)測(cè)試序列生成方法的研究,可以發(fā)現(xiàn)測(cè)試序列的生成具有如下特點(diǎn)。
(1)測(cè)試案例數(shù)量龐大,這些測(cè)試案例是組成測(cè)試子序列和測(cè)試序列的基礎(chǔ);
(2)生成的測(cè)試序列必須滿足測(cè)試案例的全覆蓋;
(3)測(cè)試案例可能會(huì)存在于多條測(cè)試序列中;
(4)測(cè)試子序列起始于某個(gè)模式,終止于另外一個(gè)特定模式。而測(cè)試序列則必須從車載設(shè)備剛上電開(kāi)始,一直到車載設(shè)備斷電為止。
圖4 測(cè)試序列合理性驗(yàn)證內(nèi)容框架
通過(guò)對(duì)上述測(cè)試生成過(guò)程的分析和研究,可以發(fā)現(xiàn)測(cè)試序列數(shù)目較多,需要從以下幾個(gè)方面對(duì)測(cè)試的合理性進(jìn)行驗(yàn)證。
(1)測(cè)試序列基本要求
①測(cè)試序列的長(zhǎng)度不能為零,即檢查每一條測(cè)試序列是否至少包含一個(gè)以上的測(cè)試案例;②測(cè)試序列的起始模式和等級(jí)以及終止模式和等級(jí)等內(nèi)容是否符合要求。
(2)測(cè)試序列鏈接條件合理性驗(yàn)證
①測(cè)試子序列的內(nèi)部狀態(tài)是否匹配:即檢查上一個(gè)測(cè)試子序列的結(jié)束等級(jí)、結(jié)束模式是否與下一個(gè)需要鏈接的測(cè)試子序列的開(kāi)始等級(jí)、開(kāi)始模式相同;
②測(cè)試子序列的接口條件是否匹配:即檢查上一個(gè)測(cè)試子序列的結(jié)束車載設(shè)備相關(guān)接口(列車接口和無(wú)線接口)是否滿足下一個(gè)測(cè)試子序列的要求;
③測(cè)試子序列的等級(jí)連接是否正確,由于存在CTCS -2與CTCS -3級(jí)間的轉(zhuǎn)換問(wèn)題,因此,需要驗(yàn)證測(cè)試序列中的等級(jí)鏈接是否合理。
(3)測(cè)試序列覆蓋測(cè)試案例合理性驗(yàn)證
①每個(gè)測(cè)試案例在所有測(cè)試序列中出現(xiàn)的次數(shù)統(tǒng)計(jì),如果次數(shù)超出規(guī)定的范圍,則說(shuō)明測(cè)試案例的重復(fù)率比較高,提示修改;
②測(cè)試序列是否覆蓋了全部的測(cè)試案例;
③每條測(cè)試序列覆蓋的測(cè)試案例個(gè)數(shù)合理性分析,通過(guò)對(duì)測(cè)試序列所包含的測(cè)試案例個(gè)數(shù)的分析,檢查是否存在有的測(cè)試序列覆蓋的測(cè)試案例多而有的測(cè)試序列覆蓋的測(cè)試案例非常少的情況,使每條測(cè)試序列覆蓋的測(cè)試案例數(shù)盡可能達(dá)到平均。
(4)測(cè)試序列覆蓋運(yùn)營(yíng)場(chǎng)景的合理性驗(yàn)證
①檢查每條測(cè)試序列是否重復(fù)覆蓋兩個(gè)以及兩上以上相同的運(yùn)營(yíng)場(chǎng)景,例如檢查是否在一條測(cè)試序列中存在兩個(gè)RBC切換場(chǎng)景或者兩個(gè)同一等級(jí)的等級(jí)切換;
②檢查每條測(cè)試序列中是否存在互斥的場(chǎng)景,例如檢查是否存在一個(gè)RBC切換場(chǎng)景中既有接收到立即切換應(yīng)答器的測(cè)試案例,又有丟失轉(zhuǎn)換立即切換應(yīng)答器的測(cè)試案例。
測(cè)試序列合理性驗(yàn)證工具是實(shí)現(xiàn)第二部分所述合理性驗(yàn)證內(nèi)容的工具,該工具由登錄部分、程序主界面、測(cè)試子序列瀏覽界面、測(cè)試案例查看界面、測(cè)試序列瀏覽界面以及測(cè)試序列合理性檢測(cè)報(bào)告生成界面組成。該工具的整體實(shí)現(xiàn)框圖如圖5所示。
圖5 測(cè)試序列合理性驗(yàn)證工具實(shí)現(xiàn)框圖
MicrosoftVisualStudio2005中的 VisualStudio. NET(VS)是專門進(jìn)行所有的.NET開(kāi)發(fā)的模塊。VS不是開(kāi)發(fā)C號(hào)的應(yīng)用程序所必須的,但是使用它可以使任務(wù)更簡(jiǎn)單一些,可以在標(biāo)準(zhǔn)的文件編輯器中處理C號(hào)源代碼文件。
以模式和等級(jí)連接的合理性為例,詳細(xì)說(shuō)明該工具的實(shí)現(xiàn)方法。首先,利用該工具讀取Word版的測(cè)試案例、Excel格式的測(cè)試子序列和測(cè)試序列,并將這些內(nèi)容存儲(chǔ)在程序中;然后,根據(jù)設(shè)定的測(cè)試序列合理性驗(yàn)證內(nèi)容以及相關(guān)規(guī)則,逐條檢查這些測(cè)試序列是否滿足該規(guī)則,如果滿足,則通過(guò);如果不滿足,則在檢測(cè)報(bào)告中給出相關(guān)的說(shuō)明。該過(guò)程的詳細(xì)步驟如圖6所示。
此外,通過(guò)最后實(shí)現(xiàn)測(cè)試序列合理性驗(yàn)證工具的報(bào)告生成界面,可直觀顯示每一條測(cè)試序列的合理性異常信息以及相關(guān)的修改意見(jiàn)。
圖6 測(cè)試序列合理性驗(yàn)證詳細(xì)流程
本文通過(guò)對(duì)現(xiàn)有測(cè)試序列生成方法的探討,提出了測(cè)試序列合理性驗(yàn)證的思路,并利用VisualStudio 2005開(kāi)發(fā)環(huán)境實(shí)現(xiàn)了該想法,為實(shí)驗(yàn)室以及現(xiàn)場(chǎng)測(cè)試所需各種測(cè)試序列的合理性起到提前把關(guān)的作用,提高了測(cè)試序列的可用性,避免了由于測(cè)試序列不合理遭成的各種損失。但本文所提的測(cè)試序列檢測(cè)目前只局限于車載設(shè)備測(cè)試序列,未能加入地面無(wú)線閉塞中心等設(shè)備的測(cè)試序列,這需將在以后的研究中進(jìn)一步完善。
參考文獻(xiàn):
[1] 季學(xué)勝,李開(kāi)成,張勇,劉大為.CTCS -3級(jí)列控系統(tǒng)測(cè)試案例生成方法的研究[J].鐵道通信信號(hào),2009,45(10):1 -5.
[2] 科技運(yùn)[2009]59號(hào),CTCS -3級(jí)列控系統(tǒng)測(cè)試案例(V3.0)[Z]. [3] 章慧,張勇.CTCS -3級(jí)列控系統(tǒng)車載設(shè)備測(cè)試方法研究[J].鐵路計(jì)算機(jī)應(yīng)用,2008,17(4):23 -27.
[4] 李偉,王海峰.CTCS -3級(jí)列控系統(tǒng)車載設(shè)備測(cè)試序列的優(yōu)化[J].北京交通大學(xué)學(xué)報(bào),2010,34(2):75 -78.
[5] 張勇,王超琦.CTCS 3級(jí)列控系統(tǒng)車載設(shè)備測(cè)試序列優(yōu)化生成方法[J].中國(guó)鐵道科學(xué),2011,32(3):100 -106.
中圖分類號(hào):U284.48
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1004 -2954(2012)12 -0103 -03
收稿日期:2012 -08 -23
作者簡(jiǎn)介:張仕雄(1963—),男,教授。
Study on Rationality Verification for CTCS 3 Train Control System Test Sequences
ZHANG Shi-xiong
(Wuhan Railway Vocational College of Technology, Wuhan 430205, China)
Abstract:CTCS-3 Train Control System Test Sequence is the foundation of debugging and testing in Lab and actual railway,and the rationality of test sequence decides whether the test procedure can be finished correctly.So,based on analysis of the test sequence design principle,in combination with the formation condition,methods and steps of the test sequence,the author obtains the contents of rationality verification of the test sequence.Further,based on the contents of rationality verification,the author develops a tool for rationality verification,which can improve the efficiency and intelligence level in rationality verification of the test sequence.
Key words:test sequence;rationality verification;train control system