本發(fā)明屬于飛行控制系統(tǒng)軟件測(cè)試技術(shù),涉及一種對(duì)飛行控制系統(tǒng)軟件中的鎖存器測(cè)試方法。
背景技術(shù):
在飛行控制系統(tǒng)軟件的設(shè)計(jì)中,鎖存器占有很大比重,例如在飛行控制系統(tǒng)的BIT(機(jī)內(nèi)自檢測(cè))檢測(cè)中,應(yīng)用鎖存器對(duì)BIT測(cè)試結(jié)果進(jìn)行故障鎖存和故障復(fù)位。對(duì)鎖存器的測(cè)試一直是飛控軟件測(cè)試中的重點(diǎn)和難點(diǎn)。傳統(tǒng)的測(cè)試方法往往只關(guān)注鎖存器輸出的當(dāng)拍值,沒有將鎖存器放在應(yīng)用場(chǎng)景中連續(xù)多拍進(jìn)行測(cè)試驗(yàn)證;并且如果鎖存器使用了延遲模塊將輸出信號(hào)反饋給輸入信號(hào),由于傳統(tǒng)的測(cè)試方法不能將反饋信號(hào)單獨(dú)作為輸入賦值,因此無法測(cè)試該鎖存器的正確性。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是:提出一種靈活高效的能夠基于場(chǎng)景測(cè)試鎖存器的方法。
本發(fā)明的技術(shù)方案是:采用模型化的測(cè)試方法,使用場(chǎng)景的概念設(shè)計(jì)測(cè)試用例,根據(jù)鎖存器的概念,將輸入信號(hào)及執(zhí)行的拍數(shù)映射成為矩陣,每一個(gè)矩陣對(duì)應(yīng)一個(gè)場(chǎng)景,以時(shí)間節(jié)拍為序依次向被測(cè)程序輸入矩陣中的各列向量,從而進(jìn)行連續(xù)多拍的驗(yàn)證,并使用PASS/FAIL(通過/失敗)準(zhǔn)則的方式判定測(cè)試結(jié)果,通過腳本給出測(cè)試結(jié)果應(yīng)該滿足的條件,并獲取測(cè)試覆蓋率相關(guān)信息。
所述的基于場(chǎng)景的鎖存器測(cè)試的方法,其步驟如下:
步驟一:根據(jù)軟件需求識(shí)別出該鎖存器模型相關(guān)的所有輸入及輸出信號(hào);
步驟二:根據(jù)被測(cè)軟件的安全性等級(jí)確定測(cè)試所需達(dá)到的覆蓋率準(zhǔn)則;
步驟三:根據(jù)軟件需求描述的鎖存器應(yīng)用場(chǎng)景,結(jié)合2)中的覆蓋率準(zhǔn)則,為1)中的輸入信號(hào)設(shè)計(jì)用例矩陣;
步驟四:使用1)中的輸出信號(hào),構(gòu)建測(cè)試結(jié)果的PASS/FAIL(通過/失敗)判定準(zhǔn)則;
步驟五:執(zhí)行測(cè)試,得到測(cè)試PASS/FAIL結(jié)果及所需覆蓋率信息;所述的基于場(chǎng)景的鎖存器測(cè)試的方法的流程如圖1所示。
本發(fā)明具有的優(yōu)點(diǎn)和有益效果:本發(fā)明通過測(cè)試矩陣能夠連續(xù)多拍對(duì)鎖存器進(jìn)行測(cè)試,從而消除傳統(tǒng)單拍測(cè)試的測(cè)試充分性不足的問題,并結(jié)合應(yīng)用場(chǎng)景能夠?qū)в蟹答佇盘?hào)的鎖存器進(jìn)行測(cè)試,極大增強(qiáng)了測(cè)試的靈活性,提高了測(cè)試效率。
附圖說明
圖1是本發(fā)明所述一種基于場(chǎng)景的鎖存器測(cè)試方法的流程圖。
圖2是應(yīng)用本發(fā)明一種基于場(chǎng)景的鎖存器測(cè)試方法的被測(cè)軟件示意圖。
具體實(shí)施方式
下面結(jié)合圖2對(duì)本發(fā)明方法的具體實(shí)施步驟進(jìn)行詳細(xì)說明:
1.根據(jù)需求識(shí)別鎖存器的所有輸入輸出信號(hào),在圖2中輸入信號(hào)有:nvm_sync,flt_latch,flt_set_lcl,flt_set_ml,flt_set_mr,fcm_ml_vld,flt_set_mr,fcm_mr_vld,flt_in_nvm,init,rst_cmd;輸出信號(hào)有:flt_latch,flt_set。
2.由于被測(cè)軟件的軟件安全性等級(jí)為A級(jí),根據(jù)相關(guān)標(biāo)準(zhǔn),測(cè)試覆蓋率要達(dá)到MC/DC的100%覆蓋;
3.設(shè)計(jì)測(cè)試用例;圖2中存在輸出信號(hào)到輸入信號(hào)的延遲反饋,那么當(dāng)拍的輸出信號(hào)在下一拍才會(huì)反饋到數(shù)輸入端,另外考慮到RS鎖存器的特性,要滿足MC/DC的100%覆蓋,如果在輸入下一拍信號(hào)前RS鎖存器已經(jīng)被置位,就需要先輸入一拍復(fù)位信號(hào);因此設(shè)計(jì)出基于場(chǎng)景的用例矩陣如下:
4.利用腳本構(gòu)建測(cè)試結(jié)果的PASS/FAIL(通過/失敗)判定準(zhǔn)則;例如對(duì)輸出
信號(hào)flt_set的PASS/FAIL準(zhǔn)則可以通過if-then-else腳本判斷:
if (simpleDelay(flt_set_lcl,0)&nvm_sync)|flt_set_lcl;
then flt_set;
else ~flt_set;
以上腳本中的simpleDelay函數(shù)為已封裝的實(shí)現(xiàn)延時(shí)功能的腳本函數(shù)。
5.執(zhí)行腳本,獲取覆蓋率等相關(guān)信息。