(中國(guó)西南電子技術(shù)研究所,成都 610036)
隨著技術(shù)的發(fā)展,航空電子系統(tǒng)(以下簡(jiǎn)稱航電系統(tǒng))從實(shí)現(xiàn)方式上必然向著綜合化、通用化、模塊化方向發(fā)展[1],同時(shí)適航性、安全性要求也越來(lái)越高,更加注重系統(tǒng)的設(shè)計(jì)測(cè)試驗(yàn)證過(guò)程。此外,航電系統(tǒng)的開(kāi)發(fā)幾乎都是采用“自頂向下”的設(shè)計(jì)過(guò)程,其開(kāi)發(fā)過(guò)程一般包括系統(tǒng)定義、系統(tǒng)設(shè)計(jì)、軟硬件開(kāi)發(fā)、系統(tǒng)綜合、系統(tǒng)驗(yàn)證、系統(tǒng)認(rèn)證、用戶確認(rèn)等過(guò)程,其中系統(tǒng)驗(yàn)證則是保證系統(tǒng)滿足設(shè)計(jì)要求的必須手段,也是系統(tǒng)認(rèn)證、用戶確認(rèn)的基礎(chǔ)。驗(yàn)證、認(rèn)證和確認(rèn)有觀察(Inspection)、分析(Analysis)、示范(Demonstration)和測(cè)試(Test)等4種方法,其中觀察、分析和示范是對(duì)不可測(cè)試需求項(xiàng)的特殊驗(yàn)證分析過(guò)程,而測(cè)試則是對(duì)可量化、可監(jiān)控的過(guò)程或數(shù)據(jù)進(jìn)行測(cè)量比對(duì)的驗(yàn)證方法。
近幾年來(lái),自動(dòng)化測(cè)試工具得到了廣泛的應(yīng)用,基于性能和過(guò)程的自動(dòng)測(cè)試已經(jīng)有很多探討,但從系統(tǒng)需求出發(fā),驗(yàn)證系統(tǒng)設(shè)計(jì)的自動(dòng)測(cè)試方法探討并不多。為此,本文提出了一種基于航空電子系統(tǒng)設(shè)計(jì)需求的自動(dòng)測(cè)試方法。
航空電子系統(tǒng)需求是描述客戶或使用者期望達(dá)到的目標(biāo)和要求。從需求的階段不同,可分為用戶需求和系統(tǒng)需求。
用戶需求是用戶期望最終系統(tǒng)達(dá)到的各種功能、性能要求,但是往往在確定用戶需求不能夠詳細(xì)界定系統(tǒng)的各種輸入、輸出條件,故不能直接用于指導(dǎo)系統(tǒng)設(shè)計(jì)。在論證或前期系統(tǒng)定義階段,系統(tǒng)設(shè)計(jì)者的主要目標(biāo)是深度挖掘用戶需求,盡可能的使用戶將需求描述正確、完整、一致、精確和簡(jiǎn)明[2]。
系統(tǒng)需求是用專業(yè)、系統(tǒng)的語(yǔ)言全面描述用戶或上一級(jí)系統(tǒng)的直接需求和隱含的需求。系統(tǒng)需求還需注意可實(shí)現(xiàn)性、可驗(yàn)證性和可追溯性。通過(guò)系統(tǒng)需求分析應(yīng)能將所有需求區(qū)分為可測(cè)試需求和不可測(cè)試需求。對(duì)于不可測(cè)試的需求應(yīng)能通過(guò)觀察、分析、示范等方法進(jìn)行驗(yàn)證,對(duì)于可測(cè)試的需求在系統(tǒng)設(shè)計(jì)階段應(yīng)設(shè)計(jì)測(cè)試用例和測(cè)試方法。
在航空電子系統(tǒng)設(shè)計(jì)階段將依據(jù)系統(tǒng)需求進(jìn)行系統(tǒng)段的詳細(xì)設(shè)計(jì)(SSDD),制定詳細(xì)設(shè)計(jì)文檔(DD)、接口控制文檔(ICD)以及對(duì)系統(tǒng)部件的詳細(xì)設(shè)計(jì)要求文檔。
系統(tǒng)測(cè)試是在各部件分別完成了各自部件級(jí)功能性能測(cè)試的基礎(chǔ)上,基于系統(tǒng)需求依據(jù)系統(tǒng)詳細(xì)設(shè)計(jì)文檔和接口控制文檔開(kāi)展的。主要目的是用于驗(yàn)證系統(tǒng)設(shè)計(jì)的正確性和各部件在系統(tǒng)流程中工作的正確性。
隨著航空電子系統(tǒng)計(jì)算機(jī)應(yīng)用程度的不斷提高,為保證測(cè)試的覆蓋性和真實(shí)性,系統(tǒng)測(cè)試更加強(qiáng)調(diào)動(dòng)態(tài)、模擬、綜合,自動(dòng)測(cè)試的優(yōu)勢(shì)就能夠在系統(tǒng)測(cè)試中很好地發(fā)揮作用[3]。
圖1給出了基于需求的自動(dòng)測(cè)試流程,整個(gè)流程包含4個(gè)關(guān)鍵環(huán)節(jié),下面就針對(duì)這4個(gè)環(huán)節(jié)中涉及到的執(zhí)行者和執(zhí)行產(chǎn)品進(jìn)行闡述。
圖1 測(cè)試流程圖
行業(yè)專家挖掘系統(tǒng)需求進(jìn)行詳細(xì)設(shè)計(jì)后,制定出詳細(xì)設(shè)計(jì)文檔(DD)和接口控制文檔(ICD)。其中DD文檔詳細(xì)準(zhǔn)確、全面定義了系統(tǒng)在各種輸入條件下的響應(yīng)過(guò)程及輸出結(jié)果,ICD文檔定義系統(tǒng)內(nèi)外各部件的接口格式和協(xié)議。這兩份文件就是自動(dòng)測(cè)試系統(tǒng)的需求文件。
行業(yè)專家和測(cè)試專家根據(jù)ICD和DD借助工具軟件編輯生成格式化的接口定義文件、格式化的測(cè)試用例文件和測(cè)試通路圖,即測(cè)試策略。
(1)格式化的接口定義文件是ICD的格式化描述,它不僅包含了接口定義,而且還對(duì)其中數(shù)據(jù)元素的模型進(jìn)行規(guī)定,為后期根據(jù)該數(shù)據(jù)模型生成測(cè)試數(shù)據(jù);
(2)格式化的測(cè)試用例文件是測(cè)試用例的格式化描述,描述了測(cè)試用例如何使用相關(guān)的數(shù)據(jù)塊按照哪種時(shí)序輸入被測(cè)系統(tǒng),和對(duì)被測(cè)系統(tǒng)輸出的那些數(shù)據(jù)塊如何進(jìn)行檢測(cè),同時(shí)對(duì)檢測(cè)結(jié)果行業(yè)專家給出專家性建議;
(3)測(cè)試通路圖是測(cè)試用例執(zhí)行的關(guān)系圖,它的每條通路就是一個(gè)測(cè)試流程,自動(dòng)測(cè)試系統(tǒng)將按照這個(gè)流程按照一定策略來(lái)執(zhí)行,給出故障診斷書(shū)。因此要求不同通路間應(yīng)該是正交的。
預(yù)處理模塊將根據(jù)格式化的接口定義文件和測(cè)試用例文件中的描述生成待測(cè)試的數(shù)據(jù)。如“高度”這個(gè)數(shù)據(jù)在某系統(tǒng)中的模型為線性的,那么它將產(chǎn)生邊界值和中間值的測(cè)試數(shù)據(jù)。同時(shí),預(yù)處理模塊也將根據(jù)測(cè)試用例文件生成驗(yàn)證腳本和專家建議書(shū)。
自動(dòng)測(cè)試模塊是系統(tǒng)自動(dòng)測(cè)試的總控單元,自動(dòng)調(diào)動(dòng)測(cè)試環(huán)境各單元工作在相應(yīng)的測(cè)試狀態(tài),按照測(cè)試策略規(guī)定的順序執(zhí)行測(cè)試,并自動(dòng)檢查記錄測(cè)試結(jié)果,生成測(cè)試報(bào)告。
自動(dòng)測(cè)試模塊以測(cè)試通路圖為序,按照下面的算法執(zhí)行并形成分析故障樹(shù):
(1)讀取一條通路,形成測(cè)試用例集X={x1,x2,x3,…,xi,…,xn};
(2)順序讀取xi│i∈(1,2,3,…,n),進(jìn)行測(cè)試;
(3)如果xi測(cè)試通過(guò),那么i=i+1,如果i>n,終止算法,否則重復(fù)步驟2;
(4)如果xi測(cè)試未通過(guò),姑且認(rèn)為xi有問(wèn)題,那么從待測(cè)集合中去掉xi形成新的測(cè)試用例集X={x1,x2,x3,…,xi-1,xi+1,…,xn},i=1,如果i>n,終止算法,否則重復(fù)步驟2;
(5)如果xi測(cè)試未通過(guò),若測(cè)試用例是前后相關(guān)的,也有可能是xi-1引起的,那么從待側(cè)集合中去掉xi-1形成新的測(cè)試用例集X={x1,x2,x3,…,xi-2,xi+1,…,xn},i=1,如果i>n,終止算法,否則重復(fù)步驟2。
測(cè)試策略圖是整個(gè)系統(tǒng)測(cè)試的過(guò)程描述,如圖2所示,它由若干個(gè)測(cè)試通路組成。由于上面算法的復(fù)雜度為nlgn,相對(duì)比較耗時(shí),為了加速測(cè)試的進(jìn)行,可以在保證不同測(cè)試通路間正交的前提下,盡可能地縮短每條測(cè)試通路的長(zhǎng)度,以達(dá)到加速測(cè)試速度。
自動(dòng)測(cè)試模塊可根據(jù)測(cè)試任務(wù)的需要既可選擇全部測(cè)試通路進(jìn)行全部測(cè)試項(xiàng)目的測(cè)試,也可選擇需要測(cè)試通路進(jìn)行部分測(cè)試項(xiàng)目的測(cè)試。
不同測(cè)試通路因?yàn)槭钦坏?,所以測(cè)試通路間的測(cè)試用例是不相互影響的。在自動(dòng)測(cè)試模塊的控制下,當(dāng)上一測(cè)試通道完成后,根據(jù)測(cè)試策略自動(dòng)進(jìn)入下一測(cè)試通道的測(cè)試,直到測(cè)試策略中的所有通道測(cè)試完成。
圖2 測(cè)試通路執(zhí)行過(guò)程
在某航電子系統(tǒng)測(cè)試系統(tǒng)設(shè)計(jì)過(guò)程中,采用了上述方法進(jìn)行設(shè)計(jì)。首先進(jìn)行了測(cè)試系統(tǒng)網(wǎng)絡(luò)優(yōu)化設(shè)計(jì),即將目標(biāo)測(cè)試系統(tǒng)復(fù)雜拓?fù)浣Y(jié)構(gòu)優(yōu)化為總線結(jié)構(gòu),如圖3所示??偩€上產(chǎn)生各類激勵(lì)數(shù)據(jù),在測(cè)試系統(tǒng)中各單元直接可見(jiàn),并能根據(jù)需要選擇使用自身所需要的數(shù)據(jù),接受系統(tǒng)控制實(shí)現(xiàn)自動(dòng)測(cè)試。
自動(dòng)測(cè)試系統(tǒng)主要由分布式計(jì)算機(jī)控制處理系統(tǒng)和激勵(lì)系統(tǒng)組成。其中,分布式計(jì)算機(jī)控制處理系統(tǒng)完成模擬、仿真、動(dòng)態(tài)數(shù)據(jù)產(chǎn)生、測(cè)試控制等功能,與機(jī)載系統(tǒng)及激勵(lì)系統(tǒng)接口;激勵(lì)系統(tǒng)在系統(tǒng)集中控制下產(chǎn)生需要的各種射頻及數(shù)據(jù)激勵(lì)信號(hào),并能進(jìn)行量化測(cè)試。
圖3 對(duì)目標(biāo)系統(tǒng)的改造示意圖
被測(cè)系統(tǒng)即為機(jī)載航空電子系統(tǒng),其相互間的物理及邏輯關(guān)系與真實(shí)裝機(jī)情況一致。
該系統(tǒng)網(wǎng)絡(luò)是總線結(jié)構(gòu),自動(dòng)測(cè)試軟件可以分布在網(wǎng)絡(luò)中任意節(jié)點(diǎn),仿真目標(biāo)系統(tǒng)中需要的輸入數(shù)據(jù),并根據(jù)需求自動(dòng)采集目標(biāo)系統(tǒng)的響應(yīng),根據(jù)需求形成測(cè)試結(jié)果,系統(tǒng)總體構(gòu)架如圖4所示。
圖4 航電子系統(tǒng)自動(dòng)測(cè)試系統(tǒng)總體架構(gòu)
測(cè)試腳本是測(cè)試過(guò)程的格式化描述,它是由一系列測(cè)試用例組成,能夠引用格式化的接口控制文件,能夠被預(yù)處理模塊和自動(dòng)測(cè)試模塊程序解釋執(zhí)行。格式化的規(guī)則可根據(jù)具體使用的工具和需要進(jìn)行統(tǒng)一嚴(yán)格的規(guī)定。下面是本測(cè)試系統(tǒng)設(shè)計(jì)的一個(gè)測(cè)試用例示意:
{
/*這是第一個(gè)測(cè)試用例*/
[1001]
[
驗(yàn)證飛行啟動(dòng)過(guò)程,導(dǎo)航設(shè)備解算航參情況
]
[
/*說(shuō)明段*/
‘d1cn01.xml’
‘cnd101.xml’
時(shí)間間隔 1ms
時(shí)間抖動(dòng) 1ms
D1CN01-05-init:D1CN01 (邏輯塊號(hào)=5,物理塊號(hào)=1,狀態(tài)=初始態(tài))
D1CN01-05-start:D1CN01 (邏輯塊號(hào)=5,物理塊號(hào)=1, 狀態(tài)=開(kāi)始)
CND102-03:CND101 (邏輯塊號(hào)=3,物理塊號(hào)=2)
]
[
/*時(shí)序段*/
D1CN01-05-init ->
waitfor 50
D1CN01-05-start -> CND102-03
]
[
/*驗(yàn)證段*/
D1CN01-05-start: 空速 = 1000
Note: 空速不是1000說(shuō)明,系統(tǒng)啟動(dòng)過(guò)慢,或者溫度低于臨界值,或者系統(tǒng)故障。
FuncCmp(D1CN01-05-start:經(jīng)度,D1CN01-05-start:維度,D1CN01-05-start:高度,CND102-03:方位,CND102-03:距離,CND102-03:俯仰)
Note: 系統(tǒng)解算出現(xiàn)異常。
]
}
本測(cè)試系統(tǒng)測(cè)試腳本主要的語(yǔ)法規(guī)則如下:
(1)測(cè)試腳本由一個(gè)或多個(gè)用例組成;
(2)每個(gè)測(cè)試用例均以“{”和“}”包含,用例中包含編號(hào)段、說(shuō)明段、時(shí)序段和驗(yàn)證段,每個(gè)段采用“[”和“]”包含;
(3)編號(hào)段,編號(hào)是一個(gè)測(cè)試用例的唯一表示,它是由十進(jìn)制數(shù)字組成的在測(cè)試策略圖中一個(gè)測(cè)試用例的唯一標(biāo)識(shí);
(4)說(shuō)明段聲明了時(shí)序段和驗(yàn)證段所使用的資源,如所使用的ICD文件和變量的定義,后面方便時(shí)序段引用;同時(shí)說(shuō)明段也定義了本測(cè)試用例的時(shí)間間隔和時(shí)間抖動(dòng)值(即時(shí)間精度要求);例子中‘d1cn01.xml’和‘cnd101.xml’ 是后面引用的格式化接口控制文件的聲明;“D1CN01-05-init : D1CN01 (邏輯塊號(hào)=5, 物理塊號(hào)=1,狀態(tài)=初始態(tài))”則定義了“D1CN01-05-init”這個(gè)變量;時(shí)間間隔和時(shí)間抖動(dòng)均為1 ms;
(5)時(shí)序段定義了測(cè)試的激勵(lì)數(shù)據(jù)和輸出數(shù)據(jù)及其時(shí)序,測(cè)試系統(tǒng)按照給定的時(shí)序給被測(cè)系統(tǒng)輸入一系列數(shù)據(jù),同時(shí)檢測(cè)系統(tǒng)對(duì)其的響應(yīng)。例子中,“D1CN01-05-start -> CND102-03”左側(cè)的‘D1CN01-05-start’表示輸入塊而右側(cè)的‘CND102-03’表示系統(tǒng)對(duì)‘D1CN01-05-start’塊的響應(yīng)輸出;而‘waitfor’則表示等待時(shí)間,合在一起就是按照一定的時(shí)序給被測(cè)系統(tǒng)輸入一系列數(shù)據(jù),檢測(cè)系統(tǒng)對(duì)其的響應(yīng);
(6)驗(yàn)證段定義了該次測(cè)試的驗(yàn)證方式和失敗原因/建議。對(duì)系統(tǒng)的響應(yīng)進(jìn)行運(yùn)算判斷系統(tǒng)的響應(yīng)是否符合系統(tǒng)的設(shè)計(jì),為了更方便進(jìn)行計(jì)算驗(yàn)證的方式是使用Lua腳本;
(7)注釋,在腳本中任意位置需要進(jìn)行注釋說(shuō)明的地方可以進(jìn)行注釋,每個(gè)注釋采用“/*”和“*/”包含,解析軟件不對(duì)其進(jìn)行處理。
自動(dòng)測(cè)試系統(tǒng)的最終輸出將包含測(cè)試日志、測(cè)試故障分析和測(cè)試報(bào)告3份報(bào)告。
(1)測(cè)試日志:是測(cè)試過(guò)程的客觀描述,它詳細(xì)記錄整個(gè)測(cè)試過(guò)程;
(2)測(cè)試故障分析:根據(jù)重新分析整理測(cè)試過(guò)程,形成故障分析樹(shù),并以圖形化的方式直觀的顯示;
(3)測(cè)試報(bào)告:統(tǒng)計(jì)測(cè)試過(guò)程中的各類數(shù)據(jù),同時(shí)匯總綜合專家?guī)熘械慕ㄗh和故障分析樹(shù)中的推測(cè),形成要求格式的測(cè)試報(bào)告。
本文論述了應(yīng)用于航空電子系統(tǒng)驗(yàn)證的基于需求自動(dòng)測(cè)試分析系統(tǒng)的原理和流程,可以看出自動(dòng)測(cè)試有3個(gè)關(guān)鍵方面:
(1)形式化描述測(cè)試接口和過(guò)程:系統(tǒng)設(shè)計(jì)文件(DD、ICD等)往往是采用航空電子系統(tǒng)專用語(yǔ)言,而非格式化語(yǔ)言進(jìn)行描述。格式化是自動(dòng)分析測(cè)試的前提,需要收集大量行業(yè)信息素材,分類歸納最后給出準(zhǔn)確的格式化描述;
(2)測(cè)試策略設(shè)計(jì):測(cè)試策略設(shè)計(jì)中應(yīng)以系統(tǒng)故障模式及影響分析確定的故障樹(shù)模型和系統(tǒng)設(shè)計(jì)流程進(jìn)行設(shè)計(jì)。為了加速測(cè)試過(guò)程,讓結(jié)果更具時(shí)效性,需要對(duì)生成故障樹(shù)的過(guò)程進(jìn)行簡(jiǎn)化,目前一些可用的方式有基于Petri網(wǎng)(知識(shí)-對(duì)象-推理)的方法和基于BP神經(jīng)網(wǎng)絡(luò)(學(xué)習(xí)期-工作期)等多種方式[4];
(3)對(duì)數(shù)據(jù)的有效處理:測(cè)試完成會(huì)留下大量的數(shù)據(jù),這將為我們分析目標(biāo)系統(tǒng)中存在和潛在的問(wèn)題提供支撐??梢岳萌缯辉囼?yàn)(DOE)等來(lái)解決主要影響因素的選取和輸出特性目標(biāo)的確定[5]。
如果說(shuō)測(cè)試是科學(xué)的基礎(chǔ),那么自動(dòng)分析測(cè)試就是科學(xué)技術(shù)的提速機(jī),為科學(xué)技術(shù)的發(fā)展提供充足的動(dòng)力。
參考文獻(xiàn):
[1] 姚拱元,吳建明,陳若玉.航空電子系統(tǒng)綜合技術(shù)的發(fā)展與模塊化趨勢(shì)[J].航空電子技術(shù),2002,33(1):1-10,44.
YAO Gong-yuan,WU Jian-ming,CHEN Ruo-yu.The Growth of Avionics Integration Technologies and Trends of The Modularization[J]. Avionics Technology, 2002,33(1):1-10,44.(in Chinese)
[2] 盧梅,李明樹(shù).軟件需求工程-工具及方法評(píng)述[J].計(jì)算機(jī)研究與發(fā)展,1999,36(11):1289-1300.
LU Mei,LI Ming-shu.Review of Methods and Tools of Software Requirements Engineering[J]. Journal of Computer Research & Development,1999,36(11):1289-1300.(in Chinese)
[3] 史彥斌.航空電子綜合測(cè)試系統(tǒng)的發(fā)展現(xiàn)狀及趨勢(shì)[J].計(jì)測(cè)技術(shù),2005,25(4):1,31.
SHI Yan-bin.The Development Actuality and Tendency of Aviation Electronic Equipment Integrated Detection System[J].Aviation Metrology & Measurement Technology, 2005,25(4):1,31.(in Chinese)
[4] 馬敏.并行多任務(wù)自動(dòng)測(cè)試系統(tǒng)分層化建模及其關(guān)鍵技術(shù)研究[D].成都:電子科技大學(xué), 2009.
MA Min.Study on Hierarchical Modeling Method and Key Technologies of Parallel Multi-task Automatic Test System[D].Chengdu:University of Electronic Science and Technology of China,2009. (in Chinese)
[5] 于秀山.正交試驗(yàn)設(shè)計(jì)方法在測(cè)試用例設(shè)計(jì)中的應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,2004,20(18):62-63.
YU Xiu-shan.The Application of Orthogonal Testing Method in Test Case Design[J].Computer Engineering and Applications, 2004,20(18):62-63.(in Chinese)