穆建成,辛 未,馬連川,3,曹 源,3
(1.國(guó)家鐵路局 科技與法制司,北京 100891;2.北京交通大學(xué) 電子信息工程學(xué)院,北京 100044;3.北京交通大學(xué) 軌道交通運(yùn)行控制系統(tǒng)國(guó)家工程研究中心,北京 100044)
對(duì)列控系統(tǒng)進(jìn)行測(cè)試是檢驗(yàn)其是否符合功能需求的必要過程,而測(cè)試案例是這一過程的基礎(chǔ)和標(biāo)準(zhǔn)[1],并且測(cè)試案例的完備性是測(cè)試過程能夠充分驗(yàn)證系統(tǒng)是否滿足列控系統(tǒng)要求的關(guān)鍵。CTCS-3級(jí)列控系統(tǒng)的測(cè)試案例采用基于功能特征的方法生成[1-2],對(duì)設(shè)計(jì)人員要求較高,如果對(duì)系統(tǒng)功能需求的理解不夠深入,則可能導(dǎo)致測(cè)試案例設(shè)計(jì)錯(cuò)誤或遺漏[3]。為確保測(cè)試能夠覆蓋全部系統(tǒng)需求規(guī)范,需要驗(yàn)證測(cè)試案例的完備性。
對(duì)CTCS-3級(jí)列控系統(tǒng)測(cè)試案例進(jìn)行完備性驗(yàn)證,就是考察其對(duì)于《CTCS-3級(jí)列控系統(tǒng)需求規(guī)范(SRS)》[4]的覆蓋程度。目前,針對(duì)測(cè)試案例的完備性驗(yàn)證主要采用靜態(tài)或動(dòng)態(tài)需求跟蹤方法,通過建立需求跟蹤關(guān)系確定[5]。
靜態(tài)需求跟蹤方法主要是利用需求跟蹤矩陣[5]、需求管理工具(DOORS[6]和Rational Requistepro[7])等由人工手動(dòng)建立需求跟蹤關(guān)系。例如文獻(xiàn)[1]利用DOORS人工關(guān)聯(lián)SRS與測(cè)試案例,形成鏈接關(guān)系并輸出需求跟蹤報(bào)表,最終通過人工審核,驗(yàn)證CTCS-3級(jí)列控系統(tǒng)測(cè)試案例的完備性。但由于該方法對(duì)人工依賴程度較高,如果驗(yàn)證人員對(duì)SRS和測(cè)試案例的理解有偏差,則可能導(dǎo)致驗(yàn)證結(jié)果并不能說明測(cè)試案例的完備性。特別是對(duì)于規(guī)模較大的系統(tǒng),應(yīng)用靜態(tài)需求跟蹤方法存在著需求跟蹤關(guān)系創(chuàng)建困難并且容易出錯(cuò)等問題[8-9]。
動(dòng)態(tài)需求跟蹤方法則主要是利用信息檢索技術(shù)[10]、動(dòng)態(tài)跟蹤工具RETRO[11]等自動(dòng)生成需求跟蹤關(guān)系。但目前應(yīng)用動(dòng)態(tài)需求跟蹤方法生成的需求跟蹤關(guān)系一般會(huì)存在錯(cuò)誤,并可能漏掉部分正確關(guān)系,導(dǎo)致驗(yàn)證過程存在精度問題,難以滿足對(duì)安全性要求較高項(xiàng)目的驗(yàn)證需要。
此外,CTCS-3級(jí)列控系統(tǒng)的SRS和測(cè)試案例均用自然語(yǔ)言描述。由于自然語(yǔ)言本身具有的矛盾、二義性等問題[12],造成SRS和測(cè)試案例間存在表述不一致、對(duì)應(yīng)關(guān)系不明確的問題,不能滿足準(zhǔn)確驗(yàn)證測(cè)試案例完備性的要求。
針對(duì)列控系統(tǒng)測(cè)試案例完備性驗(yàn)證方法目前存在的問題,本文基于因果圖法提出CTCS-3級(jí)列控系統(tǒng)測(cè)試案例完備性驗(yàn)證的新方法;并以CTCS-3級(jí)列控系統(tǒng)車載設(shè)備待機(jī)模式下的模式轉(zhuǎn)換功能測(cè)試案例為例,通過對(duì)該案例完備性的驗(yàn)證,證明本文方法的有效性。
對(duì)CTCS-3級(jí)列控系統(tǒng)測(cè)試案例進(jìn)行完備性驗(yàn)證,需要解決以下3個(gè)主要問題。
(1)SRS與測(cè)試案例間的對(duì)應(yīng)關(guān)系不明確、描述內(nèi)容不統(tǒng)一;
(2)SRS和測(cè)試案例均采用自然語(yǔ)言描述,無法進(jìn)行自動(dòng)驗(yàn)證;
(3)缺少有效衡量測(cè)試案例完備性的依據(jù)。
因果圖法[13-16]是一種通過描述系統(tǒng)的邏輯條件和相應(yīng)動(dòng)作,從而生成測(cè)試案例的方法。使用因果圖可以形式化描述結(jié)構(gòu)復(fù)雜、接口眾多、安全苛求系統(tǒng)的SRS,確定復(fù)雜系統(tǒng)狀態(tài)和外部輸入信息間的依賴關(guān)系,然后利用回溯算法生成判定表,最終基于判定表設(shè)計(jì)測(cè)試案例。由于判定表能夠強(qiáng)化系統(tǒng)邏輯描述的嚴(yán)密性,因而基于判定表生成的測(cè)試案例是全部功能測(cè)試方法中最嚴(yán)格的[17]。因此,本文基于因果圖法研究能夠解決以上3個(gè)主要問題的CTCS-3級(jí)列控系統(tǒng)測(cè)試案例完備性的驗(yàn)證方法。
本文方法的主要流程如圖1所示。首先建立SRS因果圖,然后使用改進(jìn)的遍歷式回溯算法生成SRS判定表;利用SRS判定表內(nèi)的事件建立測(cè)試案例因果圖,進(jìn)而生成測(cè)試案例判定表;根據(jù)設(shè)計(jì)的測(cè)試充分性準(zhǔn)則,通過SRS判定表導(dǎo)出測(cè)試覆蓋域,確定完備性的衡量依據(jù);最終,對(duì)測(cè)試覆蓋域和測(cè)試案例判定表進(jìn)行對(duì)比,從而驗(yàn)證CTCS-3級(jí)列控系統(tǒng)測(cè)試案例的完備性。
圖1 基于因果圖的測(cè)試案例完備性驗(yàn)證流程
1)建立SRS因果圖
基于《CTCS-3級(jí)列控系統(tǒng)需求規(guī)范(SRS)》和《CTCS-3級(jí)列控功能需求規(guī)范(FRS)》[18]的條文和說明,參照文獻(xiàn)[15]建立CTCS-3級(jí)列控系統(tǒng)的SRS因果圖。為了降低建立SRS因果圖的復(fù)雜程度,可針對(duì)CTCS-3級(jí)列控系統(tǒng)的不同功能分別建立系統(tǒng)各功能的SRS因果圖。在建模過程中,需要根據(jù)需求規(guī)范所描述的系統(tǒng)狀態(tài)或外部輸入信息的性質(zhì)(原因或結(jié)果),確定該系統(tǒng)狀態(tài)或外部輸入信息為原因事件或結(jié)果事件,并為每個(gè)事件定義唯一的標(biāo)識(shí)。需要注意的是,某些結(jié)果事件同時(shí)又構(gòu)成了其他系統(tǒng)功能需求的原因事件,在建模過程中需要對(duì)此類事件所具有的邏輯關(guān)系進(jìn)行完整的描述[15]。此外,由于CTCS-3級(jí)列控系統(tǒng)的系統(tǒng)狀態(tài)和外部輸入信息間具有復(fù)雜的相關(guān)性,因此在建模過程中需要相應(yīng)地利用約束關(guān)系[15]對(duì)相關(guān)性進(jìn)行描述,以保證SRS因果圖的正確性。
2)生成SRS判定表
建立SRS因果圖后,再根據(jù)SRS因果圖并應(yīng)用啟發(fā)式或遍歷式回溯算法生成SRS判定表,從而將SRS中描述的系統(tǒng)功能需求轉(zhuǎn)化為判定表內(nèi)的事件組合,表中的每行,即每組事件組合描述1項(xiàng)系統(tǒng)功能需求。但是,在利用啟發(fā)式回溯算法[15]生成SRS判定表的過程中可能會(huì)遺漏部分系統(tǒng)功能需求,從而無法滿足完備描述SRS的要求;而用傳統(tǒng)的遍歷式回溯算法[13,15]生成SRS判定表,雖然可以保證對(duì)SRS描述的完備性,但在回溯完與當(dāng)前結(jié)果事件存在依賴或約束關(guān)系的事件后,會(huì)對(duì)其他與當(dāng)前結(jié)果事件不存在依賴和約束關(guān)系的事件進(jìn)行統(tǒng)一的置值處理,從而導(dǎo)致對(duì)SRS的描述存在偏差,這不利于后續(xù)驗(yàn)證。因此,為了完備且準(zhǔn)確地描述SRS,本文通過引入“未明確規(guī)定”概念,對(duì)遍歷式回溯算法進(jìn)行改進(jìn)。
對(duì)于1個(gè)包含m個(gè)結(jié)果事件的因果圖G0,定義:i為結(jié)果事件索引,且i=1,2,…,m;ei為索引i下的結(jié)果事件;Ri是與ei存在依賴關(guān)系的原因事件的集合;Si是與ei和Ri中事件存在約束關(guān)系的事件的集合;Pi是可以使ei發(fā)生的事件組合集合;pik∈Pi是導(dǎo)致ei發(fā)生的事件組合,其中k=1,2,…;Vi是其他與ei不存在依賴和約束關(guān)系的事件的集合。改進(jìn)后的遍歷式回溯算法步驟如下。
(1)初始化各變量,置i,k=1,構(gòu)造空的SRS判定表D0;
(2)選定未被回溯的結(jié)果事件ei,將其狀態(tài)設(shè)置為“真”,根據(jù)G0描述的依賴和約束關(guān)系,確定Ri和Si中各事件的狀態(tài),從而確定導(dǎo)致ei發(fā)生的全部事件組合,得到Pi;
(3)對(duì)Pi中的事件組合進(jìn)行處理,選定未被處理的事件組合pik,將Vi中的全部事件視作SRS“未明確規(guī)定”,用“-”表示,并添加入pik中,然后再將pik補(bǔ)充到SRS判定表D0內(nèi)的后序行中;
(4)執(zhí)行k=k+1,循環(huán)執(zhí)行步驟(3),直至Pi中的全部事件組合均被加入D0內(nèi);
(5)執(zhí)行i=i+1,循環(huán)執(zhí)行步驟(2)、步驟(3)和步驟(4),直至i>m;
(6)回溯完全部結(jié)果事件后算法結(jié)束,即可得到采用改進(jìn)遍歷式回溯算法生成的SRS判定表D0。
由《CTCS-3級(jí)列控測(cè)試案例》[19]可知,用自然語(yǔ)言描述的測(cè)試案例主要由5個(gè)部分構(gòu)成,即測(cè)試的系統(tǒng)內(nèi)部初始狀態(tài)SC、接口初始狀態(tài)SA、測(cè)試步驟Ts、系統(tǒng)內(nèi)部結(jié)束狀態(tài)EC和接口結(jié)束狀態(tài)EA。其中,SC和EC分別描述了測(cè)試的初始和結(jié)束狀態(tài)下系統(tǒng)的運(yùn)行等級(jí)、運(yùn)行模式、行車許可等內(nèi)部狀態(tài);SA和EA分別描述了初始和結(jié)束狀態(tài)下無線鏈接、人機(jī)交互界面等系統(tǒng)接口的具體狀態(tài);TS描述了測(cè)試過程中外部輸入信息的具體內(nèi)容,包括接收信息、接收?qǐng)?bào)告、列車的位置變化以及司機(jī)的確認(rèn)操作等。
由于上述5個(gè)部分表示的系統(tǒng)狀態(tài)及外部輸入信息均在SRS中有對(duì)應(yīng)的描述。因此,可基于SRS判定表內(nèi)的全部事件并參照文獻(xiàn)[15]的方法建立測(cè)試案例因果圖,并利用改進(jìn)的遍歷式回溯算法生成與SRS判定表對(duì)應(yīng)的基于相同事件的測(cè)試案例判定表,從而統(tǒng)一SRS和測(cè)試案例的描述方式,以保證兩者具有明確的對(duì)應(yīng)關(guān)系。
在測(cè)試案例因果圖中,原因事件應(yīng)包括SC,SA和TS所描述的系統(tǒng)內(nèi)部狀態(tài)、接口狀態(tài)以及外部輸入信息;結(jié)果事件應(yīng)包括EC和EA所描述的系統(tǒng)內(nèi)部狀態(tài)及接口狀態(tài)。
對(duì)于給定的測(cè)試案例T0,定義:C和E分別為該測(cè)試案例的原因事件集合和結(jié)果事件集合,在初始狀態(tài)下,上述兩集合均為空集;CS為由SRS判定表D0內(nèi)全部事件構(gòu)成的集合。利用CS內(nèi)的事件建立測(cè)試案例因果圖的過程如下。
(1)構(gòu)造初始測(cè)試案例的事件集合C和E;
(2)從測(cè)試案例T0中選定1個(gè)要描述的系統(tǒng)內(nèi)部狀態(tài)、接口狀態(tài)或外部輸入信息,進(jìn)而從CS中查找與其對(duì)應(yīng)的事件;
(3)根據(jù)該系統(tǒng)內(nèi)部狀態(tài)、接口狀態(tài)或外部輸入信息所對(duì)應(yīng)事件的性質(zhì)(原因事件或結(jié)果事件),將其補(bǔ)充至C或E內(nèi);
反應(yīng)堆壓力容器算例模型如圖5所示,因壓力容器是對(duì)稱的,取其1/4模型來分析法蘭與壓力容器之間的接觸,該模型僅受螺栓預(yù)緊力的作用。材料參數(shù)為:彈性模量為200 GPa、泊松比為0.3。
(4)循環(huán)執(zhí)行步驟(2)和步驟(3),直至處理完測(cè)試案例T0中描述的全部系統(tǒng)內(nèi)部狀態(tài)、接口狀態(tài)及外部輸入信息。
(5)根據(jù)C和E內(nèi)的事件以及測(cè)試案例描述的事件間依賴和約束關(guān)系,建立測(cè)試案例因果圖。
根據(jù)完成的測(cè)試案例因果圖,同樣應(yīng)用改進(jìn)的遍歷式回溯算法,即可得到測(cè)試案例判定表。
衡量測(cè)試案例完備性的依據(jù)是,基于對(duì)應(yīng)測(cè)試目的的測(cè)試充分性準(zhǔn)則及測(cè)試覆蓋域[15]。根據(jù)列控系統(tǒng)的測(cè)試目的,設(shè)計(jì)測(cè)試充分性準(zhǔn)則為:測(cè)試案例應(yīng)覆蓋SRS判定表內(nèi)的全部事件組合。
基于測(cè)試充分性準(zhǔn)則,利用SRS判定表導(dǎo)出測(cè)試覆蓋域。在設(shè)計(jì)測(cè)試案例時(shí),設(shè)計(jì)人員需要對(duì)某些系統(tǒng)功能需求進(jìn)行延伸理解,以設(shè)計(jì)多種測(cè)試場(chǎng)景進(jìn)行測(cè)試;但該延伸理解的差異性可能會(huì)導(dǎo)致在某些測(cè)試案例的描述中存在著與其對(duì)應(yīng)的SRS判定表中未包含的其他SRS事件。因此,在利用SRS判定表導(dǎo)出測(cè)試覆蓋域時(shí),需先將SRS判定表中未包含的其他SRS事件全部補(bǔ)充至該SRS判定表內(nèi),并將其他SRS事件的狀態(tài)視為“未明確規(guī)定”,在SRS判定表內(nèi)用“-”表示。之后將SRS判定表內(nèi)的每一行作為測(cè)試覆蓋域中的1個(gè)元素,由此得出測(cè)試覆蓋域。
在確定測(cè)試覆蓋域后,根據(jù)測(cè)試案例對(duì)測(cè)試覆蓋域中所有元素的覆蓋情況,可以得到測(cè)試案例完備性的驗(yàn)證結(jié)果。當(dāng)測(cè)試覆蓋域中的所有元素全部被覆蓋,則可判定測(cè)試案例的設(shè)計(jì)滿足測(cè)試充分性準(zhǔn)則的要求,即測(cè)試案例是完備的。測(cè)試案例與測(cè)試覆蓋域的對(duì)比驗(yàn)證流程如圖2所示。
由圖2可知,首先要根據(jù)列控系統(tǒng)的特點(diǎn),將事件按重要程度分為關(guān)鍵事件、測(cè)試條件事件以及其他事件3個(gè)部分。然后,依次選定測(cè)試覆蓋域中的元素,并與測(cè)試案例進(jìn)行逐個(gè)事件的對(duì)比。當(dāng)發(fā)現(xiàn)某關(guān)鍵事件錯(cuò)誤時(shí),則表示測(cè)試案例未能覆蓋SRS規(guī)定的某項(xiàng)系統(tǒng)功能需求,應(yīng)針對(duì)該功能需求補(bǔ)充設(shè)計(jì)測(cè)試案例。當(dāng)發(fā)現(xiàn)某測(cè)試條件事件錯(cuò)誤時(shí),則表示該事件描述的測(cè)試條件與SRS的規(guī)定不相符,說明雖然測(cè)試案例覆蓋了關(guān)鍵事件所對(duì)應(yīng)的功能需求,但其測(cè)試條件的設(shè)計(jì),例如接口所處狀態(tài)、外部輸入信息的內(nèi)容等存在不足,應(yīng)進(jìn)行修改或完善。當(dāng)發(fā)現(xiàn)其他事件不符時(shí),表示測(cè)試案例包含了SRS中“未明確規(guī)定”的事件,其主要原因是設(shè)計(jì)人員對(duì)SRS中的規(guī)定進(jìn)行了延伸理解,可利用文獻(xiàn)[4,18]判定該延伸理解是否正確,根據(jù)判定結(jié)果對(duì)測(cè)試案例或SRS中的不明確內(nèi)容進(jìn)行修改或說明。
圖2 測(cè)試案例與測(cè)試覆蓋域的對(duì)比驗(yàn)證流程
以CTCS-3級(jí)列控系統(tǒng)車載設(shè)備在待機(jī)模式(SB)下的模式轉(zhuǎn)換功能為例,應(yīng)用本文方法對(duì)其測(cè)試案例的完備性進(jìn)行驗(yàn)證。
為了下面闡述的方便,首先定義事件的標(biāo)識(shí)及其所描述的內(nèi)容,見表1。
表1 SB模式下模式轉(zhuǎn)換功能的事件內(nèi)容
本文所使用因果圖中的基本關(guān)系[15]包括蘊(yùn)含關(guān)系、非關(guān)系、與關(guān)系和要求約束關(guān)系,如圖3所示。其中,ca,cb,cc表示原因事件,ea表示結(jié)果事件。在因果圖中,蘊(yùn)含關(guān)系表示當(dāng)ca為真時(shí),則其對(duì)應(yīng)的結(jié)果事件ea也為真;非關(guān)系表示當(dāng)ca為真時(shí),則其對(duì)應(yīng)的結(jié)果事件ea為假;與關(guān)系表示當(dāng)ca,cb和cc同時(shí)為真時(shí),則其對(duì)應(yīng)的結(jié)果事件ea為真,并用“∧”標(biāo)識(shí);另外當(dāng)與關(guān)系中存在3個(gè)或3個(gè)以上的原因事件時(shí),則在結(jié)果事件端再加入弧線表示,否則可不再加弧線;要求約束關(guān)系表示當(dāng)ca為真時(shí),則cb必為真,并且僅可將要求約束關(guān)系用于描述二元約束關(guān)系。
圖3 本文因果圖中使用的基本關(guān)系
根據(jù)《CTCS-3級(jí)列控系統(tǒng)需求規(guī)范(SRS)》和《CTCS-3級(jí)列控功能需求規(guī)范(FRS)》中給出的SB模式下模式轉(zhuǎn)換功能需求規(guī)范,建立該功能的SRS因果圖。其中,對(duì)SB轉(zhuǎn)換為IS,SB轉(zhuǎn)換為CO以及SB轉(zhuǎn)換至SH和SL的轉(zhuǎn)換優(yōu)先級(jí)建立的SRS因果圖如圖4所示。
在圖4中,利用因果關(guān)系描述了列控系統(tǒng)車載設(shè)備由SB模式轉(zhuǎn)換至其他工作模式時(shí)的轉(zhuǎn)換條件,并利用約束關(guān)系描述了不同轉(zhuǎn)換條件間具有的屏蔽和依賴關(guān)系。圖中的m1—m6是為了便于建模而建立的中間結(jié)點(diǎn),無實(shí)際含義。
圖4 SB模式下模式轉(zhuǎn)換功能的SRS因果圖(部分)
根據(jù)得到的SB模式下各模式轉(zhuǎn)換功能的SRS因果圖,應(yīng)用改進(jìn)的遍歷式回溯算法生成對(duì)應(yīng)各模式轉(zhuǎn)換功能的SRS判定表,并對(duì)所得到的全部SB模式下各模式轉(zhuǎn)換功能SRS判定表進(jìn)行整合,得到SB模式下模式轉(zhuǎn)換功能的SRS判定表,見表2。在該表中,用“1”和“0”分別表示相應(yīng)的事件為真和假,用“-”表示該事件在SRS中“未明確規(guī)定”。
表2 SB模式下模式轉(zhuǎn)換功能的SRS判定表
基于SRS判定表內(nèi)的全部事件和《CTCS-3級(jí)列控測(cè)試案例》[19],建立SB模式下模式轉(zhuǎn)換功能的測(cè)試案例因果圖。其中,對(duì)CTCS-3級(jí)列控系統(tǒng)功能特征549的測(cè)試案例1以及功能特征558的測(cè)試案例1建立的因果圖如圖5所示。在圖5中,m7—m10同樣為中間結(jié)點(diǎn)。
對(duì)SB模式下模式轉(zhuǎn)換功能的測(cè)試案例因果圖進(jìn)行回溯,并整合后得到其測(cè)試案例判定表,見表3。其中,事件c17,c18,c19,c20,c21和e8為不包含在SB模式下模式轉(zhuǎn)換功能SRS判定表中的其他SRS事件。
圖5 SB模式下模式轉(zhuǎn)換功能的測(cè)試案例因果圖(部分)
表3 SB模式下模式轉(zhuǎn)換功能的測(cè)試案例判定表
根據(jù)測(cè)試充分性準(zhǔn)則,利用SB模式下模式轉(zhuǎn)換功能的SRS判定表確定其測(cè)試覆蓋域。將SRS判定表內(nèi)每一行,即每一組事件組合確定為測(cè)試覆蓋域的1個(gè)元素,而將該SRS判定表內(nèi)未涉及的全部其他SRS事件表示為“-”,得到SB模式下模式轉(zhuǎn)換功能所包含19個(gè)元素的測(cè)試覆蓋域,見表4。由于篇幅所限,在表4中僅列出了與本實(shí)例相關(guān)的事件狀態(tài)。
表4 SB模式下模式轉(zhuǎn)換功能的測(cè)試覆蓋域
選定運(yùn)行模式,即c1和e1—e7為關(guān)鍵事件,c2—c16為測(cè)試條件事件,其余SRS事件(包括c17—c21和e8)全部為其他事件。利用作者編制的自動(dòng)驗(yàn)證工具對(duì)測(cè)試覆蓋域和測(cè)試案例判定表進(jìn)行對(duì)比,輸出驗(yàn)證結(jié)果見表5。
表5 SB模式下模式轉(zhuǎn)換功能測(cè)試案例完備性驗(yàn)證結(jié)果
根據(jù)驗(yàn)證結(jié)果,對(duì)文獻(xiàn)[4]和文獻(xiàn)[19]中的相關(guān)內(nèi)容進(jìn)行對(duì)比分析,可以發(fā)現(xiàn):
(1)未對(duì)SB模式轉(zhuǎn)入TR模式設(shè)計(jì)相應(yīng)的測(cè)試案例;
(2)未針對(duì)SB模式轉(zhuǎn)入其他工作模式時(shí)的模式轉(zhuǎn)換優(yōu)先級(jí)功能設(shè)計(jì)測(cè)試案例;
(3)在SB模式轉(zhuǎn)入SH模式和SL模式的測(cè)試案例中,存在著SRS中“未明確規(guī)定”的其他事件。利用文獻(xiàn)[4,18]進(jìn)行核對(duì),該事件屬于正確的人為擴(kuò)充,應(yīng)在測(cè)試案例中給出說明。
本文針對(duì)既有列控系統(tǒng)測(cè)試案例完備性驗(yàn)證方法存在的問題,基于因果圖法設(shè)計(jì)了CTCS-3級(jí)列控系統(tǒng)測(cè)試案例完備性驗(yàn)證方法。為了確保SRS和測(cè)試案例兩者描述方式統(tǒng)一、對(duì)應(yīng)關(guān)系明確,并且便于自動(dòng)驗(yàn)證的實(shí)現(xiàn),本文通過引入“未明確規(guī)定”的概念對(duì)現(xiàn)有的遍歷式回溯算法進(jìn)行了改進(jìn),使其可以生成滿足驗(yàn)證需求的判定表,并提出利用SRS判定表內(nèi)的事件建立測(cè)試案例因果圖;另外,為了明確測(cè)試案例完備性的衡量依據(jù),還設(shè)計(jì)了基于SRS判定表的測(cè)試充分性準(zhǔn)則,并據(jù)此提出了基于SRS判定表確定測(cè)試覆蓋域。
以CTCS-3級(jí)列控系統(tǒng)車載設(shè)備在SB模式下的模式轉(zhuǎn)換功能為例,對(duì)本文方法的有效性進(jìn)行了檢驗(yàn)。結(jié)果表明,現(xiàn)有測(cè)試案例基本實(shí)現(xiàn)了對(duì)SRS的覆蓋,能夠較好地驗(yàn)證系統(tǒng)的功能,但也發(fā)現(xiàn)一些缺失和不足,需要進(jìn)行補(bǔ)充和改善;本文方法可以有效地對(duì)現(xiàn)有測(cè)試案例進(jìn)行完備性驗(yàn)證,為進(jìn)一步完善CTCS-3級(jí)列控系統(tǒng)測(cè)試案例、確保測(cè)試過程覆蓋全部SRS提供了新的方法。
[1]季學(xué)勝,李開成,張勇,等.CTCS-3級(jí)列控系統(tǒng)測(cè)試案例生成方法的研究[J].鐵道通信信號(hào),2009,45(10):1-5.
(JI Xuesheng,LI Kaicheng,ZHANG Yong,et al.Test Case Producing Manner of CTCS Level 3 Train Control System[J]. Railway Signaling & Communication,2009,45(10):1-5.in Chinese)
[2]張勇,王超琦.CTCS-3級(jí)列控系統(tǒng)車載設(shè)備測(cè)試序列優(yōu)化生成方法[J].中國(guó)鐵道科學(xué),2011,32(3):100-106.
(ZHANG Yong, WANG Chaoqi.The Method for the Optimal Generation of Test Sequence for CTCS-3 On-Board Equipment[J].China Railway Science,2011,32(3):100-106.in Chinese)
[3]談敏.CTCS-3級(jí)車載設(shè)備測(cè)試平臺(tái)研究[D].北京:北京交通大學(xué),2008.
(TAN Min.Research on the Test Platform of CTCS-3 Onboard Equipment[D].Beijing:Beijing Jiaotong University, 2008.in Chinese)
[4]中華人民共和國(guó)鐵道部. 科技運(yùn)[2008]127號(hào) CTCS-3級(jí)列控系統(tǒng)需求規(guī)范(SRS)[S].北京:中國(guó)鐵道出版社,2008.
[5]李引,李娟,李明樹. 動(dòng)態(tài)需求跟蹤方法及跟蹤精度問題研究[J]. 軟件學(xué)報(bào),2009,20(2):177-192.
(LI Yin,LI Juan,LI Mingshu.Research on Dynamic Requirement Traceability Method and Traces Precision[J]. Journal of Software,2009,20(2):177-192.in Chinese)
[6]IBM.DOORS(Dynamic Object Oriented Requirements System) [DB/OL]. [2015-03-21]http://www.telelogic.com/index/cfm.
[7]IBM.Rational RequisitePro[DB/OL].[2015-03-21]http://www.306.ibm.com/software/awdtools/reqpro.
[8]HAYES J H, DEKHTYAR A, SUNDARAM S K,et al. Helping Analysts Trace Requirements:an Objective Look[C]//Proceedings of the 12thInternational Requirements Engineering Conference. Washington: IEEE Computer Society,2004:249-259.
[9]HAYES J H, DEKHTYAR A, SUNDARAM S K. Advancing Candidate Link Generation for Requirements Tracing: the Study of Methods[J]. IEEE Transaction on Software Engineering, 2006,32(1):4-19.
[10]ANTONIOL G,CANFORA G,CASAZZA G,et al. Recovering Traceability Links between Code and Documentation [J].IEEE Transaction on Software Engineering,2002,28(10): 970-983.
[11]HAYES J H,DEKHTYAR A,SUNDARAM S K,et al.Requirement Tracing on Target(RETRO): Improving Software Maintenance through Traceability Recovery [J]. Innovations System Software Engineering,2007,3(3):193-202.
[12]古天龍.軟件開發(fā)的形式化方法[M].北京:高等教育出版社,2005.
[13]胡巍巍.CBTC車載系統(tǒng)測(cè)試案例設(shè)計(jì)及優(yōu)化方法研究[D].北京:北京交通大學(xué),2010.
(HU Weiwei.Research on the Method of Test Cases Generation and Optimization for CBTC Onboard System[D].Beijing:Beijing Jiaotong University,2010.in Chinese)
[14]劉暢,王軼辰,劉斌,等.軟件邊界組合測(cè)試的典型案例分析[J].計(jì)算機(jī)工程與應(yīng)用,2009,20(2):74-77.
(LIU Chang,WANG Yichen,LIU Bin,et al.Analysis of Representative Case in Software Boundary Combination Testing[J]. Computer Engineering and Applications, 2009,20(2):74-77.in Chinese)
[15]MATHUR A P.Foundations of Software Testing[M]. New Jersey:Addison-Wesley Professional,2008.
[16]李文波,楊穎. 因果圖測(cè)試法在地鐵網(wǎng)絡(luò)應(yīng)用軟件合格性測(cè)試中的應(yīng)用[J].機(jī)車電傳動(dòng),2013 (3): 43-45,48.
(LI Wenbo,YANG Ying.Application of Causality Diagram Test Method for Metro Network Application Software Approval Test[J].Electric Drive for Locomotive,2013 (3): 43-45,48.in Chinese)
[17]JORGENSEN P C.Software Testing:A Craftsman’s Approach[M].Boca Raton:CRC Press,2001.
[18]中華人民共和國(guó)鐵道部.科技運(yùn)[2008]113號(hào) CTCS-3級(jí)列控功能需求規(guī)范(FRS)[S].北京:中國(guó)鐵道出版社,2008.
[19]中華人民共和國(guó)鐵道部.科技運(yùn)[2009]59號(hào) CTCS-3級(jí)列控測(cè)試案例[S].北京:中國(guó)鐵道出版社,2009.