雷鳴
(中國人民解放軍92941部隊93分隊,遼寧 葫蘆島 125000)
含軟件測試的可靠性試驗方法探討
雷鳴
(中國人民解放軍92941部隊93分隊,遼寧 葫蘆島 125000)
根據(jù)可靠性試驗中對軟件可靠性驗證的需要,提出了軟件測試用例設(shè)計方法、可靠性指標(biāo)分配方法;完成了系統(tǒng)可靠性試驗方案的設(shè)計;最后,給出了一個運用該方法進(jìn)行可靠性試驗方案設(shè)計的用例。
可靠性;軟件測試;試驗方案;任務(wù)可靠度
武器裝備定型試驗中的可靠性試驗主要是依據(jù)GJB 899A-2009《可靠性鑒定和驗收試驗》中規(guī)定的方法進(jìn)行的,將出現(xiàn)的軟硬件故障等同對待,進(jìn)行可靠性試驗信息的收集與評價[1]。該標(biāo)準(zhǔn)中規(guī)定的試驗環(huán)境和條件主要是針對硬件系統(tǒng),而對系統(tǒng)軟件的運行要求則沒有作出具體的規(guī)定。因此,在可靠性試驗的過程中,一般沒有針對軟件的可靠性設(shè)計測試用例,軟件的運行過程簡單、重復(fù)。
武器裝備的可靠性由硬件系統(tǒng)的可靠性和軟件系統(tǒng)的可靠性串聯(lián)組成。軟件失效的原因與硬件性失效的原因不同,硬件失效一般是由元器件的老化引起的,因而其可靠性測試強調(diào)隨機選取多個相同的產(chǎn)品,統(tǒng)計它們的正常運行時間,正常運行的平均時間越長,則硬件的可靠性就越高;軟件失效是由設(shè)計缺陷造成的,通常通過軟件的輸入來檢測軟件內(nèi)部存在的故障,因此,使用同樣一組輸入反復(fù)地測試軟件并記錄其失效數(shù)據(jù)是沒有意義的,這樣并不能估計出軟件的可靠性。按照目前的可靠性試驗方法,系統(tǒng)硬件的可靠性能夠得到比較充分的驗證,但軟件的可靠性卻難以得到充分的驗證。為此,筆者對含軟件測試的可靠性試驗方法進(jìn)行了探討,建議在武器裝備的可靠性試驗的過程中,按照軟件的可靠性試驗標(biāo)準(zhǔn),針對軟件的運行環(huán)境設(shè)計測試用例和試驗方案,在軟硬件的可靠性均得到較為充分考核的基礎(chǔ)上,對武器裝備系統(tǒng)的可靠性進(jìn)行驗證[2]。
只有在按運行剖面隨機輸入的條件下,軟件的故障率才能正確地反映出軟件的可靠性,因此,只有在以下2種情況下獲得的軟件的故障率才能正確地反映出軟件的可靠性。即:1)軟件在實際運行時統(tǒng)計得到的故障率;2)軟件在模擬實際運行條件下的隨機輸入測試下統(tǒng)計得到的故障率。軟件測試用例設(shè)計,就是模擬軟件實際的運行條件,用大量的隨機輸入點作測試用例來考核軟件,統(tǒng)計其故障率,并以此作為評估其可靠性的基本數(shù)據(jù)[3]。模擬軟件實際的運行條件,首先需要對系統(tǒng)軟件運行的輸入條件進(jìn)行分析,然后在此基礎(chǔ)上隨機設(shè)計輸入條件 (含超邊界條件),設(shè)計測試用例。
例如:某導(dǎo)彈武器系統(tǒng)的輸入?yún)?shù)包括目標(biāo)距離、方位、俯仰、速度、機動過載、航路捷徑、載艦航向、航速、縱搖角、橫搖角、環(huán)境風(fēng)速和溫度,以及海況等。按照這些參數(shù)的實際取值范圍,在將邊界條件擴(kuò)大不小于10%的基礎(chǔ)上,確定這些參數(shù)的取值范圍,隨機取值生成測試用例,具體的方法如下所述。
每次產(chǎn)生13個 [0,1]區(qū)間內(nèi)均勻分布的隨機數(shù)x1,x2,…,x13,各參數(shù)的取值按下式計算:
yi=yimin+ (yimax-yimin) *xi(1)式 (1)中:yimax——第i個參數(shù)取值的最大值;
yimin——第i個參數(shù)取值的最小值。
按照這些輸入?yún)?shù)設(shè)計測試用例,如果生成所有的設(shè)計用例后,輸入?yún)?shù)的邊界條件沒有被包含在其中,則可人為調(diào)整參數(shù),將接近邊界條件的參數(shù)調(diào)整為超邊界參數(shù)。
設(shè)計軟件可靠性試驗方案時,必須要有軟件的可靠性指標(biāo)作為設(shè)計依據(jù)。武器裝備的可靠性由硬件的可靠性和軟件的可靠性串聯(lián)組成,從目前的研究結(jié)果來看,硬件和軟件的壽命均服從指數(shù)分布,因此可通過系統(tǒng)可靠性模型,對軟件的可靠性指標(biāo)進(jìn)行分配,或利用軟件的可靠性增長試驗數(shù)據(jù)和可靠性評估模型對軟件的可靠性進(jìn)行預(yù)計。
2.1 根據(jù)可靠性模型的分配方法
武器裝備的可靠性由硬件系統(tǒng)的可靠性和軟件系統(tǒng)的可靠性串聯(lián)組成,可由下式表達(dá):
在已知了系統(tǒng)的可靠度R的情況下,可通過下列幾種方法對軟、硬件的可靠度進(jìn)行分配。
a)等比分配法
系統(tǒng)由i個分系統(tǒng)組成,系統(tǒng)的可靠度為R,各分系統(tǒng)的可靠度大致相同,則各分系統(tǒng)的可靠度Ri為:
b)比例分配法
系統(tǒng)由i個分系統(tǒng)組成,系統(tǒng)的可靠度為R,各分系統(tǒng)的故障率預(yù)計為λ^i(i=1,2…,n),則每個分系統(tǒng)的比例因子ki為:
c)專家打分分配法
系統(tǒng)由i個分系統(tǒng)組成,系統(tǒng)的可靠度為R,根據(jù)各分系統(tǒng)組成的復(fù)雜程度以及對相似設(shè)備故障率的統(tǒng)計情況,由專家系統(tǒng)給各分系統(tǒng)打分,然后對分系統(tǒng)的得分情況進(jìn)行歸一化處理,則各分系統(tǒng)的可靠度Ri為:
各分系統(tǒng)的可靠性指標(biāo)Ri為:
式 (6)中:Ci——第i個分系統(tǒng)的評分系數(shù);
xi——第i個分系統(tǒng)的得分。
2.2 軟件可靠性模型評估法
武器裝備在進(jìn)行定型試驗前,已經(jīng)完成了系統(tǒng)軟件測試或可靠性鑒定試驗,因而可利用測試數(shù)據(jù)和可靠性評估模型對軟件的可靠性進(jìn)行預(yù)估。常用的軟件可靠性模型有時間域模型和數(shù)據(jù)域模型,數(shù)據(jù)域模型又分為缺陷植入模型和輸入域模型。Nelson模型是輸入域模型的代表,該模型對軟件做如下假設(shè)[4。
a)程序被認(rèn)為是E上的一個可計算函數(shù)F的一個規(guī)范,用下式表示用于執(zhí)行程序的所有輸入數(shù)據(jù)的集合,一個輸入數(shù)據(jù)對應(yīng)一個程序執(zhí)行回合:
E=(Ei;i=1,…,N)
b)對于每個輸入Ei,程序執(zhí)行產(chǎn)生輸出F(Ei)。
c)由于程序包含缺陷,程序?qū)嶋H確定的函數(shù)為F′,該函數(shù)不同于希望函數(shù)F。
d)對于某些Ei,程序?qū)嶋H輸出F′(Ei)在希望輸出F(Ei)的容許范圍之內(nèi),即:
|F′(Ei)-F(Ei)|≤Δi
但是對于另一些Ej,程序?qū)嶋H輸出F′(Ej)超出容許范圍,即:
|F′(Ej)-F(Ej)|≥Δj(7)
此時,認(rèn)為程序發(fā)生一次失效;
e)測試過程中不剔除程序缺陷。
根據(jù)區(qū)域Rf上的概率分布在Rj中隨機選取nj個回合 (輸入點),程序在執(zhí)行這nj個回合的過程中產(chǎn)生fj個失敗,那么R的估計值R^為:
其中,對軟件的可靠性數(shù)據(jù)有如下要求:1)Rj域中的數(shù)據(jù)被選取的概率為PRj;2)Rj域中被選取的數(shù)據(jù)的個數(shù)為nj;3)Rj域中nj個被選取的數(shù)據(jù)導(dǎo)致程序失效的個數(shù)為fj。
按照Nelson模型的假設(shè),必須知道每一測試用例是單元測試、集成測試、還是系統(tǒng)測試用例的概率。假設(shè)在執(zhí)行軟件測試時,每一種測試用例被選中的概率均相等,則有:
此時,
可靠性試驗方案設(shè)計有兩種方法。
a)根據(jù)分配的指標(biāo)單獨地設(shè)計軟、硬件可靠性的考核方案與評估方法。若軟、硬件的可靠性指標(biāo)均合格,則系統(tǒng)的可靠性指標(biāo)合格。此方法的好處是對系統(tǒng)的軟、硬件的可靠性的考核是相對獨立的,如果一旦出現(xiàn)問題,就可以看出具體是在哪個方面出現(xiàn)了問題,然后進(jìn)行相應(yīng)的改進(jìn)。存在的問題是軟、硬件指標(biāo)分配的合理性顯得特別重要,另外,采用此方法時還會出現(xiàn)軟、硬件的可靠性中只要有一個不合格,即便另一個的可靠性再高,系統(tǒng)的可靠性仍然不合格的情況。
b)按照GJB 899A-2009《可靠性鑒定和驗收試驗》設(shè)計可靠性試驗方案,按照軟件驗收試驗方法設(shè)計測試用例和樣本量,在可靠性試驗的過程中,完成對所有測試用例的測試。將試驗中出現(xiàn)的軟、硬件故障等同對待,進(jìn)行可靠性試驗信息的收集與評價。此方法模糊了軟、硬件故障的分類,只是將軟件的可靠性指標(biāo)作為樣本量計算的一個依據(jù),最終考核的還是系統(tǒng)的可靠性指標(biāo)。
根據(jù)現(xiàn)有的實際情況來看,第二種方案比較可行。軟件可靠性試驗可采用無故障考核時定量指標(biāo)的驗證方法進(jìn)行,其經(jīng)典方法為:
設(shè)給定的置信水平為γ,累計無故障工作時間為T*,則λ的單側(cè)經(jīng)典置信上限為:
λu對應(yīng)的MTBF下限為:θrl=1/λu=-T*/ln(1-γ) (11)
式 (11)表示在置信水平為γ的條件下,若軟件無故障運行T*時間,則可以認(rèn)為軟件的MTBF為θrl。
令不同的置信水平下,軟件的MTBF與無故障考核時間T*的比值為c,則c=-θrl/T*,置信水平γ和C的對照表如表1所示。
表1置信水平與MTBF與C的對照表
假設(shè)某系統(tǒng)的可靠性指標(biāo)為θ0=200 h,θ1=100 h,任務(wù)時間為2 h。按照GJB 899A-2009《可靠性鑒定和驗收試驗》,其方案可選高風(fēng)險定時截尾方案,接收判據(jù)為試驗時間T=3.7θ1=3.7*100=370 h,故障數(shù)≤2[5]。
美國國際標(biāo)準(zhǔn)ANSI/AIAAR-103-1992(推薦的軟件可靠性實踐)的4.2.2中指出:軟件最合理的失效率大約在10-3/h和10-4/h左右。因此,目前普遍認(rèn)為武器裝備的MTBF大約在1 000~10 000 h之間。根據(jù)軟件的可靠性水平、系統(tǒng)可靠性指標(biāo)以及相同產(chǎn)品的可靠性情況,通過專家打分法對軟件的可靠性指標(biāo)進(jìn)行分配,軟件可靠性專家打分系數(shù)Cr=0.25,則:
根據(jù)表1可得,當(dāng)置信水平為0.8時,軟件的MTBF與無故障考核時間的比值為0.621,則此時軟件的無故障考核的時間 (單位:次)為200/ 0.621=322(次)。
根據(jù)測試用例的設(shè)計原則,設(shè)計出322個測試用例,然后將這些測試用例比較均勻地分配在長達(dá)370個小時的可靠性試驗中運行即可。如果在可靠性試驗的過程中已經(jīng)運行了n次任務(wù)流程,則可減少n個測試用例的執(zhí)行。
可靠性試驗是一個比較復(fù)雜的任務(wù),特別是其要求試驗環(huán)境條件貼近產(chǎn)品真實的使用環(huán)境條件,實施難度較大,需要在現(xiàn)有的基礎(chǔ)上開展一些探索性的工作。武器裝備的可靠性由硬件系統(tǒng)的可靠性和軟件系統(tǒng)的可靠性串聯(lián)組成。但是,現(xiàn)有的武器裝備的可靠性驗證大多只是對武器裝備的硬件系統(tǒng)的可靠性進(jìn)行驗證,而軟件系統(tǒng)的可靠性卻沒有得到充分的驗證。因此,筆者對含軟件測試的可靠性試驗進(jìn)行了探討,在軟、硬件系統(tǒng)的可靠性均得到充分驗證的基礎(chǔ)上,對武器裝備的整體可靠性進(jìn)行了驗證,為今后武器裝備的可靠性的驗證提供了一個借鑒。
[1]曲寶忠,孫曉峰.海軍戰(zhàn)術(shù)導(dǎo)彈試驗與鑒定 [M].北京:國防工業(yè)出版,2005.
[2]何國偉.軟件可靠性 [M].北京:國防工業(yè)出版社,2003.
[3]朱少民.軟件測試方法和技術(shù) [M].北京:清華大學(xué)出版社,2005.
[4]王江元,張虹,王在文.利用軟件測試數(shù)據(jù)和Nelson模型評估軟件可靠性 [J].戰(zhàn)術(shù)導(dǎo)彈技術(shù),2007(6):91-92.
[5]GJB 899A-2009,可靠性鑒定和驗收試驗 [S].
中國科大研制成功高維固態(tài)量子存儲器
中國科學(xué)技術(shù)大學(xué)中科院量子信息重點實驗室李傳鋒研究組在固態(tài)系統(tǒng)中首次實現(xiàn)對三維量子糾纏態(tài)的量子存儲,保真度高達(dá)99.1%,存儲帶寬達(dá)1 GHz,存儲效率為20%,而且該存儲器具有對高達(dá)51維的量子態(tài)的存儲能力。該成果發(fā)表于《物理評論快報》。
遠(yuǎn)程量子糾纏是實現(xiàn)長程量子通信、分布式量子計算及量子精密計量等的核心資源。但是,由于光子在光纖中隨距離呈指數(shù)損耗,量子糾纏分配的距離被限制在百公里量級。受限于光源、存儲器及探測器的效率等因素,量子網(wǎng)絡(luò)的預(yù)期傳輸速率非常低。提升傳輸速率的重要手段有兩種,即對量子態(tài)進(jìn)行高維編碼,或者使用多模式量子存儲器,但研究進(jìn)展并不如意。
在前期研究的基礎(chǔ)上,李傳鋒等人利用光的軌道角動量進(jìn)行編碼,首次研制出窄帶高維糾纏光源,然后將此糾纏源存入固態(tài)量子存儲器中,結(jié)果顯示三維糾纏態(tài)的存儲保真度達(dá)到99.1%。
研究組進(jìn)一步地分析了該量子存儲的高維特性,結(jié)果表明該存儲器可對高達(dá)51維的量子態(tài)進(jìn)行有效的存儲。
李傳鋒表示,高維軌道角動量存儲技術(shù)可用于存儲器的多模式存儲,以提升量子網(wǎng)絡(luò)的傳輸速率及未來量子U盤的存儲容量。利用多模式存儲,這種新穎的量子存儲器的存儲容量有望超過100萬量子比特。本成果為固態(tài)量子存儲器的集成化、規(guī)?;瘧?yīng)用打下重要的基礎(chǔ)。
(摘自騰訊科技)
Discussion on the Reliability Test M ethod w ith Software Test
LEIMing
(Unit93 Troop 92941 PLA,Huludao 125000,China)
Aiming at the need of the software reliability demonstration test in reliability test,the design m ethod of software test case and the allocation methods of reliability indexs of software are presented.And then,a reliability test program is designed.Finally,a case in which the proposed method is adopted to design the reliability test program of software is showed.
:reliability;software test;test program;mission reliability
TP 311.55;TB 114.37
:A
:1672-5468(2015)05-0032-04
10.3969/j.issn.1672-5468.2015.05.008
2015-04-13
2015-09-14
雷鳴 (1966-),男,湖北赤壁人,中國人民解放軍92941部隊93分隊高級工程師,從事導(dǎo)彈武器系統(tǒng)試驗總體研究工作。