本發(fā)明涉及軌道交通領(lǐng)域,具體為列車運(yùn)行控制系統(tǒng)安全關(guān)鍵軟件自動(dòng)測(cè)試平臺(tái)。
背景技術(shù):
列車運(yùn)行控制系統(tǒng),簡(jiǎn)稱列控系統(tǒng),是保障列車在高速度、高密度的環(huán)境下安全運(yùn)行、提高運(yùn)輸效率的重要部分?,F(xiàn)代列控系統(tǒng)已經(jīng)從軌道電路、機(jī)車信號(hào)等設(shè)備的簡(jiǎn)單組合,逐漸向功能完善、層次分明、集運(yùn)行控制及自動(dòng)駕駛為一體的綜合自動(dòng)化系統(tǒng)方向發(fā)展。在此過程中,軟件被大量的應(yīng)用在列控系統(tǒng)中,而且越來越多的安全相關(guān)功能由硬件移植到軟件,使得列控系統(tǒng)軟件成為“安全關(guān)鍵軟件”。列控系統(tǒng)安全關(guān)鍵軟件已經(jīng)參與到列控系統(tǒng)的決策、控制及管理,而且軟件執(zhí)行的功能越來越多,復(fù)雜度也越來越高,軟件遺漏需求、邏輯錯(cuò)誤等均可能造成人員傷亡,重大財(cái)產(chǎn)損失及環(huán)境破壞等災(zāi)難性后果。列控系統(tǒng)安全關(guān)鍵軟件必須經(jīng)過全面、嚴(yán)格的測(cè)試,明確軟件在各種場(chǎng)景下均不會(huì)導(dǎo)向危險(xiǎn)。
測(cè)試平臺(tái)是保證軟件測(cè)試質(zhì)量、提高測(cè)試效率和管理測(cè)試過程的關(guān)鍵技術(shù)。目前,列控系統(tǒng)安全關(guān)鍵軟件的測(cè)試平臺(tái)主要是仿真平臺(tái),通過模擬軟件可能的場(chǎng)景進(jìn)行測(cè)試,沒有專門針對(duì)列控系統(tǒng)安全關(guān)鍵軟件的自動(dòng)軟件測(cè)試平臺(tái)。仿真平臺(tái)的測(cè)試用例主要來自相關(guān)工程和專家的經(jīng)驗(yàn),工程的差異性和專家的人因不確定性都可能影響測(cè)試用例的質(zhì)量,存在測(cè)試需求遺漏,測(cè)試不全面,測(cè)試需求重復(fù)等問題,導(dǎo)致列控系統(tǒng)安全關(guān)鍵軟件存在安全隱患。同時(shí),列控系統(tǒng)安全關(guān)鍵軟件測(cè)試是一個(gè)復(fù)雜的過程,仿真平臺(tái)的測(cè)試用例維護(hù)、測(cè)試過程管理、測(cè)試結(jié)果記錄及結(jié)果分析都需要大量的人工參與。采用成熟的算法自動(dòng)生成全面的測(cè)試用例,自動(dòng)管理和分析測(cè)試結(jié)果的測(cè)試平臺(tái)對(duì)提高列控系統(tǒng)安全關(guān)鍵軟件的測(cè)試質(zhì)量、效率和降低測(cè)試成本具有重要意義。
目前,列控系統(tǒng)軟件測(cè)試平臺(tái)主要是根據(jù)列控軟件的功能及特點(diǎn),分析軟件與人員、其他系統(tǒng)或設(shè)備的交互,提取軟件的輸入、輸出,搭建仿真平臺(tái),借助相關(guān)工程和專家的經(jīng)驗(yàn),模擬軟件可能的各種場(chǎng)景,觀察軟件在這些場(chǎng)景下運(yùn)行是否正常,同時(shí)人工記錄和分析測(cè)試結(jié)果,達(dá)到測(cè)試的目的。
該技術(shù)的缺點(diǎn):
(1)仿真平臺(tái)存在不容易實(shí)體表現(xiàn)的抽象場(chǎng)景,如道岔轉(zhuǎn)換過程中,容易遺漏測(cè)試場(chǎng)景。
(2)仿真平臺(tái)的測(cè)試用例依賴相關(guān)項(xiàng)目和專家的經(jīng)驗(yàn),項(xiàng)目的差異性和專家的主觀性導(dǎo)致難以保證測(cè)試用例的合理性,仿真場(chǎng)景可能存在重復(fù)、遺漏或錯(cuò)誤,部分安全場(chǎng)景難以覆蓋,為列車運(yùn)行控制系統(tǒng)的運(yùn)營(yíng)埋下安全隱患;
(3)仿真平臺(tái)成本高,測(cè)試用例的維護(hù)和更新、測(cè)試結(jié)果的記錄和分析等都依賴人工,難以防止人因失誤,同時(shí)測(cè)試效率較低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明旨在提出一套完整的列車運(yùn)行控制系統(tǒng)安全關(guān)鍵軟件自動(dòng)測(cè)試平臺(tái),覆蓋列車運(yùn)行控制系統(tǒng)安全關(guān)鍵軟件從需求分析、測(cè)試用例自動(dòng)生成、自動(dòng)測(cè)試、自動(dòng)記錄和分析測(cè)試結(jié)果的全過程。
具體技術(shù)方案為:
列車運(yùn)行控制系統(tǒng)安全關(guān)鍵軟件自動(dòng)測(cè)試平臺(tái),包括建模子系統(tǒng)、測(cè)試路徑生成子系統(tǒng)、組合覆蓋子系統(tǒng)、測(cè)試結(jié)果分析子系統(tǒng)、通信接口子系統(tǒng)和數(shù)據(jù)管理子系統(tǒng)。
所述建模子系統(tǒng)完成列車運(yùn)行控制系統(tǒng)安全關(guān)鍵軟件功能需求建模,具有列車運(yùn)行控制系統(tǒng)的標(biāo)準(zhǔn)化的功能模型庫,針對(duì)具體功能進(jìn)行測(cè)試時(shí)可通過功能模型庫的模型單元快速建立軟件系統(tǒng)的功能模型。
所述測(cè)試路徑生成子系統(tǒng)將建模子系統(tǒng)生成的狀態(tài)圖模型轉(zhuǎn)換為有向圖模型,通過廣度優(yōu)先搜索、前綴圖匹配等算法,生成符合覆蓋準(zhǔn)則的測(cè)試路徑。
所述組合覆蓋子系統(tǒng)采用組合測(cè)試思想,分析每條路徑的邊的可能的測(cè)試場(chǎng)景集,根據(jù)路徑中邊之間的順序關(guān)系進(jìn)行組合覆蓋,得到測(cè)試用例,并將測(cè)試用例轉(zhuǎn)化為XML測(cè)試腳本文件,存儲(chǔ)到數(shù)據(jù)管理子系統(tǒng)。
所述通信接口子系統(tǒng)是平臺(tái)與待測(cè)系統(tǒng)交互的關(guān)鍵,該子系統(tǒng)集成測(cè)試過程中需要與待測(cè)對(duì)象進(jìn)行通信的設(shè)備,并通過統(tǒng)一的接口設(shè)備實(shí)現(xiàn)各個(gè)接口數(shù)據(jù)的發(fā)送和采集,將測(cè)試數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)管理子系統(tǒng)。
所述測(cè)試結(jié)果分析子系統(tǒng)比較測(cè)試過程中通信接口子系統(tǒng)發(fā)送的測(cè)試用例和接收到的被測(cè)設(shè)備的測(cè)試用例執(zhí)行結(jié)果,,自動(dòng)分析測(cè)試結(jié)果,生成測(cè)試結(jié)果報(bào)告。
所述數(shù)據(jù)管理子系統(tǒng)包含數(shù)據(jù)庫和文件管理系統(tǒng)。其中數(shù)據(jù)庫存儲(chǔ)測(cè)試用例、環(huán)境數(shù)據(jù)以及實(shí)測(cè)過程中與待測(cè)系統(tǒng)交互的數(shù)據(jù)。文件管理系統(tǒng)存儲(chǔ)列車運(yùn)行控制系統(tǒng)基礎(chǔ)信號(hào)組件的基礎(chǔ)功能模型、測(cè)試路徑XML文件、測(cè)試用例序列XML腳本文件和測(cè)試結(jié)果報(bào)告文件。
測(cè)試路徑生成子系統(tǒng)與組合覆蓋子系統(tǒng),組合覆蓋子系統(tǒng)與通信接口子系統(tǒng),通信接口子系統(tǒng)與測(cè)試結(jié)果分析子系統(tǒng)之間均存在單向通信,前一子系統(tǒng)工作完成后向后續(xù)子系統(tǒng)發(fā)送信號(hào),觸發(fā)后續(xù)子系統(tǒng)工作,從而使得從測(cè)試路徑生成至測(cè)試結(jié)果分析的整個(gè)流程可自動(dòng)進(jìn)行。
建模子系統(tǒng)采用SCADE(Safety Critical Application Development Environment)對(duì)待測(cè)對(duì)象進(jìn)行模型構(gòu)建。
測(cè)試路徑生成子系統(tǒng)、組合覆蓋子系統(tǒng)、通信接口子系統(tǒng)可在數(shù)據(jù)管理子系統(tǒng)的支持下獨(dú)立運(yùn)行,通過從數(shù)據(jù)管理子系統(tǒng)獲取歷史數(shù)據(jù),上述子系統(tǒng)可針對(duì)特定數(shù)據(jù)生成相應(yīng)的子系統(tǒng)運(yùn)算結(jié)果。
本發(fā)明提供的列車運(yùn)行控制系統(tǒng)安全關(guān)鍵軟件自動(dòng)測(cè)試平臺(tái),建立列車運(yùn)行控制系統(tǒng)基礎(chǔ)信號(hào)模型庫,提高建模的準(zhǔn)確度和效率;根據(jù)列車運(yùn)行控制系統(tǒng)需求和功能模型庫形式化地描述列車運(yùn)行控制系統(tǒng)安全關(guān)鍵軟件的需求,利用仿真和模型檢測(cè)方法驗(yàn)證模型的安全性和活性,保障模型的正確性;利用廣度優(yōu)先搜索、前綴圖匹配等算法,生成符合覆蓋準(zhǔn)則的測(cè)試路徑,結(jié)合組合覆蓋生成列車運(yùn)行控制系統(tǒng)安全關(guān)鍵軟件的測(cè)試用例,具有測(cè)試用例覆蓋全面、不重復(fù)、不遺漏,包含異常測(cè)試場(chǎng)景和小概率場(chǎng)景的特點(diǎn);測(cè)試序列自動(dòng)生成與自動(dòng)注入,并自動(dòng)完成分析和統(tǒng)計(jì)測(cè)試結(jié)果,提高測(cè)試質(zhì)量和效率,同時(shí)降低測(cè)試成本。
附圖說明
圖1是本發(fā)明的結(jié)構(gòu)示意圖;
圖2是本發(fā)明的建模子系統(tǒng)結(jié)構(gòu)示意圖;
圖3是本發(fā)明的測(cè)試路徑生成子系統(tǒng)結(jié)構(gòu)示意圖;
圖4是本發(fā)明的組合覆蓋子系統(tǒng)結(jié)構(gòu)示意圖。
具體實(shí)施方式
結(jié)合附圖說明本發(fā)明的具體實(shí)施方式。
本發(fā)明為列車運(yùn)行控制系統(tǒng)安全關(guān)鍵軟件自動(dòng)測(cè)試平臺(tái),包括建模子系統(tǒng)、測(cè)試路徑生成子系統(tǒng)、組合覆蓋子系統(tǒng)、通信接口子系統(tǒng)、測(cè)試結(jié)果分析子系統(tǒng)和數(shù)據(jù)管理子系統(tǒng),如圖1所示。系統(tǒng)間各個(gè)子系統(tǒng)通過標(biāo)準(zhǔn)串口或高速以太網(wǎng)連接,其中建模子系統(tǒng)用于構(gòu)建待測(cè)安全關(guān)鍵軟件的功能需求模型,并對(duì)模型進(jìn)行仿真和驗(yàn)證,保證模型的安全性和準(zhǔn)確性。建模子系統(tǒng)通過接口A與測(cè)試路徑生成子系統(tǒng)進(jìn)行通信,將建模子系統(tǒng)的模型信息和模型修改信息。測(cè)試路徑生成子系統(tǒng)、組合覆蓋子系統(tǒng)、通信接口子系統(tǒng)、測(cè)試結(jié)果分析子系統(tǒng)分別通過接口D、E、F、G與數(shù)據(jù)管理子系統(tǒng)進(jìn)行通信,從數(shù)據(jù)管理子系統(tǒng)中提取各個(gè)子系統(tǒng)操作所需數(shù)據(jù)。測(cè)試路徑生成子系統(tǒng)通過接口A獲取建模子系統(tǒng)的模型文件或更新的模型文件。通過接口B將生成的測(cè)試路徑發(fā)送給組合覆蓋子系統(tǒng),組合覆蓋子系統(tǒng)根據(jù)測(cè)試路徑和路徑的邊代表的測(cè)試場(chǎng)景集自動(dòng)生成測(cè)試用例。組合覆蓋子系統(tǒng)通過接口C向通信接口子系統(tǒng)發(fā)生測(cè)試用例生成結(jié)束信息,通信接口子系統(tǒng)對(duì)待測(cè)系統(tǒng)自動(dòng)測(cè)試。通信接口子系統(tǒng)通過接口H向測(cè)試結(jié)果分析子系統(tǒng)發(fā)送測(cè)試完成消息,測(cè)試結(jié)果分析子系統(tǒng)自動(dòng)分析測(cè)試用例的執(zhí)行情況。該系統(tǒng)的一般工作過程是。
建模子系統(tǒng)完成列車運(yùn)行控制系統(tǒng)安全關(guān)鍵軟件需求建模。首先根據(jù)《CTCS-3級(jí)列控系統(tǒng)系統(tǒng)需求規(guī)范(SRS)》和《CTCS-3級(jí)列控系統(tǒng)總體技術(shù)方案》等需求規(guī)范,利用建模子系統(tǒng)采用SCADE建立列車運(yùn)行控制系統(tǒng)基礎(chǔ)信號(hào)組件的基礎(chǔ)功能模型庫。然后,利用基礎(chǔ)功能模型庫中的模型組件針對(duì)具體的待測(cè)安全關(guān)鍵軟件的功能構(gòu)建軟件系統(tǒng)模型,利用SCADE提供的仿真器和模型檢測(cè)器保證模型的正確性,如圖2所示。當(dāng)建模子系統(tǒng)新建模型或者修改模型后,該子系統(tǒng)向測(cè)試路徑生成子系統(tǒng)發(fā)送模型更新信息,測(cè)試路徑生成子系統(tǒng)重新獲取模型。測(cè)試路徑生成子系統(tǒng)包括模型轉(zhuǎn)換模塊、算法選擇模塊以及路徑校驗(yàn)?zāi)K。測(cè)試路徑生成子系統(tǒng)從建模子系統(tǒng)接收待測(cè)對(duì)象的模型文件后,首先將經(jīng)過驗(yàn)證的模型文件存儲(chǔ)于數(shù)據(jù)管理子系統(tǒng);然后對(duì)XML格式的模型信息文件進(jìn)行解析。模型轉(zhuǎn)換模塊自動(dòng)對(duì)模型信息進(jìn)行篩選,提取保留模型信息包中符合圖論有向圖的信息,從而將SCADE模型轉(zhuǎn)換為有向圖模型。算法選擇器模塊通過界面配置圖覆蓋準(zhǔn)則以及相關(guān)算法參數(shù),系統(tǒng)根據(jù)配置從測(cè)試路徑生成算法庫中自動(dòng)匹配算法生成測(cè)試路徑。路徑校驗(yàn)?zāi)K考察測(cè)試路徑對(duì)圖模型覆蓋的完整度,當(dāng)覆蓋度滿足要求時(shí)將測(cè)試路徑轉(zhuǎn)化為XML文件并存儲(chǔ)于數(shù)據(jù)管理子系統(tǒng)并向組合覆蓋子系統(tǒng)發(fā)送消息通知其存在新的測(cè)試路徑需要處理,如圖3所示。
組合覆蓋子系統(tǒng)接收到測(cè)試路徑生成子系統(tǒng)生成的測(cè)試路徑后,組合覆蓋子系統(tǒng)從數(shù)據(jù)管理子系統(tǒng)獲取模型文件以及測(cè)試路徑生成子系統(tǒng)生成的測(cè)試路徑信息,分析每條路徑的邊上可能的安全關(guān)鍵軟件的測(cè)試場(chǎng)景,采用組合測(cè)試的方式,根據(jù)路徑中邊的順序關(guān)系對(duì)路徑上所有的邊的測(cè)試場(chǎng)景進(jìn)行組合覆蓋,得到測(cè)試用例,并將測(cè)試用例轉(zhuǎn)化為XML腳本,以文件形式存儲(chǔ)到文件管理子系統(tǒng),將測(cè)試數(shù)據(jù)以數(shù)據(jù)庫表結(jié)構(gòu)存儲(chǔ)于數(shù)據(jù)管理系統(tǒng)中,如圖4所示。該子系統(tǒng)可與通信接口子系統(tǒng)通信,向通信接口子系統(tǒng)發(fā)送測(cè)試用例生成消息。
通信接口子系統(tǒng)接收到測(cè)試用例生成消息后,從數(shù)據(jù)管理子系統(tǒng)獲取包含測(cè)試用例信息的XML腳本文件,將測(cè)試用例及必要的環(huán)境數(shù)據(jù)按照接口設(shè)備的規(guī)格要求發(fā)送給接口設(shè)備,接口設(shè)備驅(qū)動(dòng)被測(cè)對(duì)象測(cè)試,同時(shí)實(shí)時(shí)采集被測(cè)設(shè)備對(duì)測(cè)試用例的執(zhí)行結(jié)果。通信接口子系統(tǒng)將測(cè)試過程的狀態(tài)及測(cè)試結(jié)果等信息存儲(chǔ)于數(shù)據(jù)管理子系統(tǒng),并向結(jié)果分析子系統(tǒng)發(fā)送測(cè)試完成信息。
測(cè)試結(jié)果分析子系統(tǒng)接收到測(cè)試完成信息之后從數(shù)據(jù)管理子系統(tǒng)獲取測(cè)試過程數(shù)據(jù)及測(cè)試結(jié)果數(shù)據(jù),結(jié)合測(cè)試序列腳本XML文件核對(duì)每一個(gè)測(cè)試用例的執(zhí)行情況,自動(dòng)統(tǒng)計(jì)測(cè)試用例的類型、比例,統(tǒng)計(jì)每個(gè)需求的失敗用例并顯示,包括需求名稱、失敗的測(cè)試用例、用例類型以及該需求中的同類型的所有測(cè)試用例。對(duì)于失敗測(cè)試用例,系統(tǒng)進(jìn)行故障追蹤,將異常情況定位到具體模型測(cè)試路徑的邊場(chǎng)景中。最終根據(jù)測(cè)試分析結(jié)果生成測(cè)試報(bào)告,并以文本文件格式存儲(chǔ)于數(shù)據(jù)管理子系統(tǒng)中。