• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于接口仿真的雷達(dá)軟件測試自動化技術(shù)研究與應(yīng)用

      2021-06-11 03:12:46宇,劉暢,吳輝,柳
      測試技術(shù)學(xué)報 2021年3期
      關(guān)鍵詞:嵌入式軟件測試數(shù)據(jù)軟件測試

      劉 宇,劉 暢,吳 輝,柳 溪

      (1. 中國電子科技集團(tuán)公司第十四研究所,江蘇 南京 210039;2. 北京航空航天大學(xué) 可靠性與系統(tǒng)工程學(xué)院,北京 100191)

      0 引 言

      近年來,雷達(dá)產(chǎn)品更新?lián)Q代日逐漸加快,在軟件定義裝備發(fā)展的大趨勢下,工業(yè)部門已開展多種軟件化雷達(dá)研究,軟件在雷達(dá)裝備中的比重日益增大,軟件質(zhì)量對雷達(dá)裝備質(zhì)量而言至關(guān)重要. 采用傳統(tǒng)的用戶界面動態(tài)測試手段難以實現(xiàn)充分的軟件測試,易造成缺陷遺漏. 由于接口原因直接或者間接導(dǎo)致軟件缺陷占整個雷達(dá)軟件系統(tǒng)缺陷的比重為20%到30%左右[1],而其中邊界和異常數(shù)據(jù)是引起軟件運行故障的最重要原因之一[2].

      從接口端對雷達(dá)軟件產(chǎn)品展開測試,模擬各種邊界/異常數(shù)據(jù)的收發(fā)測試場景,可以提升軟件測試的充分性,進(jìn)而提升雷達(dá)軟件的可靠性[3]. 而在雷達(dá)軟件接口測試工作中,由于雷達(dá)軟件接口形式多樣、 結(jié)構(gòu)復(fù)雜[4],雷達(dá)軟件接口測試工作量增長迅速,急需研究雷達(dá)軟件接口測試的自動化方法,用以提升測試執(zhí)行工作效率,從而更好地保障雷達(dá)軟件質(zhì)量[5].

      本文將接口仿真技術(shù)應(yīng)用于雷達(dá)軟件測試,從而使雷達(dá)軟件擺脫硬件環(huán)境的約束,滿足各正常和異常場景的測試需求. 此外,在接口仿真測試環(huán)境準(zhǔn)備階段中,紛繁復(fù)雜的數(shù)據(jù)結(jié)構(gòu)建立和生成工作目前尚由人工操作完成,為此本文提出了一種自動化的解決方法,在有效提升雷達(dá)軟件測試的覆蓋率及缺陷檢出率基礎(chǔ)上,進(jìn)一步提升了雷達(dá)軟件接口測試的自動化程度,有效保障了雷達(dá)軟件的質(zhì)量.

      1 相關(guān)工作

      目前,對測試自動化的相關(guān)研究非常多,王乾宇[6]提出了基于TestQuest測試工具的一套軟件測試自動化方法和測試流程,在“虛擬維修訓(xùn)練系統(tǒng)”展開實例驗證. 在武器裝備國產(chǎn)化道路上,國產(chǎn)操作系統(tǒng)是構(gòu)建自主可控的信息安全體系的關(guān)鍵,其本身的穩(wěn)定性、 可靠性和安全性至關(guān)重要[7]. 在操作系統(tǒng)研發(fā)過程中,全面嚴(yán)格的測試驗證成為必需,同時,為減少手工測試的勞動量和出錯率,按照預(yù)定計劃實現(xiàn)自動化測試,是操作系統(tǒng)研發(fā)測試驗證的必然趨勢和要求. 通過自主開發(fā)以及引入完善、 綜合應(yīng)用主流商用或開源軟件測試工具,研究構(gòu)建由測試管理、 自動化測試、 缺陷管理等子系統(tǒng)組成的國產(chǎn)操作系統(tǒng)測試體系,實現(xiàn)測試全過程管理統(tǒng)一高效的國產(chǎn)操作系統(tǒng)自動化測試平臺,保證國產(chǎn)操作系統(tǒng)研發(fā)和維護(hù)時的質(zhì)量可靠性,以滿足建立完整的國產(chǎn)操作系統(tǒng)生態(tài)鏈的需要.

      在雷達(dá)軟件測試領(lǐng)域,同樣對軟件的穩(wěn)定性、 可靠性和安全性有極高的要求,建立自動化測試平臺以保證雷達(dá)軟件質(zhì)量的可靠性十分必要.

      呂江濤等人[8]圍繞軟件可維護(hù)性設(shè)計的7項評價標(biāo)準(zhǔn),結(jié)合軟件生命周期的各個階段,系統(tǒng)全面地闡述了雷達(dá)軟件可維護(hù)性設(shè)計的若干技術(shù)措施,提出了綜合運用開放式軟件架構(gòu)、 軟件中間件技術(shù)等多種方法,從可理解性、 可修改性、 可移植性等角度全面提高雷達(dá)軟件的可維護(hù)性. 提升雷達(dá)軟件的可維護(hù)性更多的貢獻(xiàn)在于提升軟件研制效率,節(jié)約時間成本,而非減少軟件缺陷、 降低軟件故障發(fā)生率,雷達(dá)軟件的安全性和可靠性仍然缺少更有力的保障; 張其政等人[9]提出了以數(shù)據(jù)為驅(qū)動,對雷達(dá)產(chǎn)品軟件進(jìn)行定量度量的方法,并以雷達(dá)產(chǎn)品軟件質(zhì)量量化分析為基礎(chǔ)開展質(zhì)量管理. 雷達(dá)軟件質(zhì)量度量技術(shù)的作用在于客觀分析和評價雷達(dá)軟件的質(zhì)量,為軟件質(zhì)量管理提供依據(jù)和指導(dǎo),借助管理的手段提升雷達(dá)產(chǎn)品軟件質(zhì)量; 孫俊若等人[10]深入分析雷達(dá)系統(tǒng)軟件的缺陷分布規(guī)律,選擇與雷達(dá)系統(tǒng)軟件缺陷預(yù)測相關(guān)的度量元,通過對雷達(dá)軟件故障數(shù)據(jù)集和系統(tǒng)軟件失效模式進(jìn)行分析,構(gòu)建了雷達(dá)系統(tǒng)軟件缺陷預(yù)測模型,為預(yù)防雷達(dá)系統(tǒng)軟件缺陷打基礎(chǔ),但該研究尚處于初級階段,缺乏工程實踐應(yīng)用.

      以上方法緊密圍繞提升雷達(dá)軟件質(zhì)量為中心,從后期維護(hù)、 研發(fā)管理以及預(yù)測預(yù)防多個角度展開相關(guān)技術(shù)研究,可以減少雷達(dá)軟件缺陷的產(chǎn)生,但都無助于發(fā)現(xiàn)和修復(fù)軟件缺陷,無法解決直接影響雷達(dá)軟件質(zhì)量的根本問題. 即使采用上述方法將軟件缺陷降低到只有一個,而這一個缺陷若未被檢測出并進(jìn)行修復(fù),也同樣對雷達(dá)軟件質(zhì)量存在不可估量的影響.

      2 基于接口仿真的雷達(dá)軟件測試自動化框架技術(shù)

      嵌入式軟件封閉抽象、 動態(tài)可變、 軟硬件耦合性強,因此,嵌入式軟件在集成完成后到投入實際使用的兩個階段之間,缺乏一種有效的測試手段. 在嵌入式軟件集成階段,由于缺少交聯(lián)系統(tǒng),無法完全覆蓋嵌入式軟件的時序、 接口等測試,容易造成缺陷遺漏. 而在嵌入式軟件的實際使用階段進(jìn)行測試,面臨兩大問題的挑戰(zhàn): 一是系統(tǒng)硬件設(shè)備數(shù)量和性能有限,無法滿足大數(shù)據(jù)量等極限強度測試條件的需求; 二是如果嵌入式軟件在實際環(huán)境中出錯,存在損壞硬件、 影響整體系統(tǒng)運行甚至危害人身安全的風(fēng)險,差錯、 糾錯成本較高.

      軟件接口仿真測試環(huán)境旨在對嵌入式軟件提供實時的、 可閉環(huán)的、 非侵入式的測試,支持功能性測試、 邊界測試、 壓力測試等多種測試類型,能夠提供仿真模型建立、 I/O設(shè)備配置、 測試腳本及數(shù)據(jù)生成、 測試運行及狀態(tài)監(jiān)控、 測試結(jié)果實時顯示、 測試結(jié)果記錄、 測試結(jié)果分析、 測試回放及數(shù)據(jù)分析處理、 軟件可靠性評估等多種功能. 因此,通過基于接口仿真的方法對雷達(dá)軟件進(jìn)行測試,可以克服由于手工測試帶來的巨大的人力、 物力和財力的消耗,同時能夠提升雷達(dá)軟件測試的充分性.

      2.1 軟件接口仿真環(huán)境特性分析

      軍用雷達(dá)系統(tǒng)具備硬件組成類型多、 系統(tǒng)任務(wù)并行度高、 數(shù)據(jù)處理實時性強等特點,因此,用于雷達(dá)軟件測試的接口仿真環(huán)境應(yīng)具備以下特點[11]:

      1) 供實時多任務(wù)運行

      軟件接口仿真環(huán)境既具備實時系統(tǒng)的一般特性,能夠提供并支持測試激勵施加和測試結(jié)果收集、 模型處理數(shù)據(jù)與算法實現(xiàn)、 測試過程監(jiān)控界面等多項測試相關(guān)功能同時運行,同時為滿足嵌入式軟件測試的需要,又具備其獨有特性,例如高可靠性、 高實時性、 輸入輸出的確定性、 ISA和PCI設(shè)備動態(tài)可配置等.

      2) 測試環(huán)境仿真虛擬化

      軟件接口仿真環(huán)境以數(shù)字仿真的方法對被測嵌入式軟件的運行環(huán)境進(jìn)行仿真,模擬外部硬件系統(tǒng)或軟件系統(tǒng)與被測嵌入式軟件進(jìn)行通信交互,使得被測軟件可以在脫離特定硬件環(huán)境約束的條件下執(zhí)行測試,仿真環(huán)境相較于真實運行環(huán)境而言更易于測試人員操作、 控制,被測軟件的運行也更加便捷、 靈活.

      3) 仿真環(huán)境通用性強

      當(dāng)前雷達(dá)系統(tǒng)是由多個配置項軟件組成的,不同雷達(dá)系統(tǒng)的配置項組成與交互方式各不相同,且各配置項軟件所依賴的硬件平臺也不盡相同,因此軟件接口仿真環(huán)境要在多個層次提供通用性的解決方案,使用戶能夠通過靈活的環(huán)境設(shè)置,實現(xiàn)對不同系統(tǒng)的測試[12]. 在硬件通訊設(shè)備仿真層次,采用虛擬設(shè)備驅(qū)動(VDD)技術(shù),支持添加不同的I/O設(shè)備; 在網(wǎng)絡(luò)體系結(jié)構(gòu)層次,在基本的分布式體系結(jié)構(gòu)下,可以通過擴展節(jié)點,從而實現(xiàn)對復(fù)雜系統(tǒng)的測試; 在被測系統(tǒng)結(jié)構(gòu)仿真層次,可通過通訊協(xié)議設(shè)置、 接口格式定義等配置實現(xiàn)不同系統(tǒng)的構(gòu)型; 在測試環(huán)境開發(fā)層次,采用通用的測試用例及測試腳本開發(fā)環(huán)境(TCSIDE),提供統(tǒng)一的測試用例和測試腳本開發(fā)方法和語言,便于測試用戶使用和移植.

      2.2 基于接口仿真的雷達(dá)軟件測試流程

      基于接口仿真的雷達(dá)軟件接口測試,是以仿真的方式模擬外部系統(tǒng)與被測的雷達(dá)系統(tǒng)之間進(jìn)行信息交互,通過測試數(shù)據(jù)的收發(fā)以及對測試結(jié)果的分析,完成對被系統(tǒng)的測試,基于接口仿真的雷達(dá)軟件接口測試工作流程如圖1 所示.

      圖1 測試仿真環(huán)境工作流程圖

      基于接口仿真的雷達(dá)軟件接口測試主要通過以下步驟執(zhí)行:

      1) 測試環(huán)境仿真建模

      以軟件接口設(shè)計文檔為輸入,構(gòu)建各雷達(dá)分系統(tǒng)軟件關(guān)聯(lián)環(huán)境模型,定義輸入輸出屬性,正確反映出各分系統(tǒng)軟件的數(shù)據(jù)交互關(guān)系,同時要將各個分系統(tǒng)之間的通訊協(xié)議映射到仿真模型的連接屬性中,雷達(dá)軟件接口測試仿真模型如圖2 所示.

      圖2 雷達(dá)軟件接口測試仿真模型示例Fig.2 Example of radar software interface test simulation model

      2) 測試腳本編寫

      測試腳本是整個軟件測試正常運行的“劇本”,是驅(qū)動整個軟件測試正常運行的關(guān)鍵因素. 根據(jù)需要執(zhí)行的測試用例編寫相應(yīng)的測試執(zhí)行腳本,由實時調(diào)度程序驅(qū)動測試腳本解釋器對測試腳本進(jìn)行實時解釋,動態(tài)生成并分發(fā)測試數(shù)據(jù)到各仿真模型,同時通過解釋器、 各仿真模型與被測軟件之間的交互,對測試反饋進(jìn)行處理,從而達(dá)到測試的目的.

      3) 測試數(shù)據(jù)準(zhǔn)備

      雷達(dá)軟件接口測試過程中需發(fā)送大量的測試數(shù)據(jù),為提升測試執(zhí)行效率,可以將預(yù)進(jìn)行測試的數(shù)據(jù)全部存儲在數(shù)據(jù)源文件中,在測試執(zhí)行過程中通過載入數(shù)據(jù)源文件實現(xiàn)測試數(shù)據(jù)的讀取和發(fā)送,從而完成測試.

      4) 測試執(zhí)行

      通過模型和腳本的編譯構(gòu)建、 鏈接完成測試環(huán)境初始化并開始執(zhí)行測試,同時在測試執(zhí)行過程中實時監(jiān)控測試執(zhí)行狀態(tài)、 顯示測試結(jié)果.

      5) 測試結(jié)果分析與評估

      根據(jù)設(shè)置采集方案記錄相應(yīng)的返回數(shù)據(jù),測試人員可利用采集的數(shù)據(jù)進(jìn)行數(shù)據(jù)回放與分析,依據(jù)分析結(jié)果對軟件的可靠性進(jìn)行評估.

      3 測試數(shù)據(jù)結(jié)構(gòu)自動建立與生成技術(shù)研究

      在軟件接口仿真環(huán)境搭建與準(zhǔn)備接口測試數(shù)據(jù)環(huán)節(jié),仍需手工操作,由于雷達(dá)軟件測試項目的接口數(shù)量和規(guī)模都相對較大,手工操作存在數(shù)據(jù)多、 易出錯、 效率低等問題,為此,本文針對如何自動化解決這個問題展開研究.

      3.1 測試數(shù)據(jù)結(jié)構(gòu)自動建立

      當(dāng)前雷達(dá)裝備的大多數(shù)嵌入式軟件系統(tǒng)依托C/C++語言開發(fā),軟件通訊接口的定義是通過頭文件中的結(jié)構(gòu)體實現(xiàn)的,這為軟件編碼提供了方便,但是無法直接在接口仿真環(huán)境中導(dǎo)入作為通信報文結(jié)構(gòu)的定義. 為此,本文提出一種從頭文件到仿真環(huán)境通信協(xié)議自動化定制的方法,主要步驟如下:

      1) 解析接口定義頭文件

      在頭文件中,軟件接口是通過結(jié)構(gòu)體進(jìn)行定義的,設(shè)計師通常將多個軟件接口間復(fù)用性較高的數(shù)據(jù)字段定義為子結(jié)構(gòu)體,復(fù)雜的軟件接口往往涉及多層嵌套,因此,需要對數(shù)據(jù)結(jié)構(gòu)進(jìn)行迭代解析,逐層展開嵌套結(jié)構(gòu),最終獲得軟件接口的完整結(jié)構(gòu);

      2) 解析接口仿真環(huán)境配置文件

      接口仿真環(huán)境中的通訊接口定義是通過環(huán)境配置文件的定義實現(xiàn)的,一般的仿真環(huán)境配置文件以可擴展標(biāo)記語言編輯和存儲、 解析接口仿真環(huán)境配置文件的標(biāo)記結(jié)構(gòu)、 獲得仿真環(huán)境中通訊接口的分布情況;

      3) 通訊接口結(jié)構(gòu)導(dǎo)入

      將從頭文件中解析得到的軟件接口元素依次按照仿真環(huán)境模型配置文件的語句結(jié)構(gòu),寫入到相應(yīng)的通訊接口中,從而脫離手工操作,通過自動寫入底層配置文件,完成軟件接口數(shù)據(jù)的自動建立,有效提升接口測試的自動化程度,降低人為操作的錯誤率.

      3.2 測試數(shù)據(jù)自動生成

      在對雷達(dá)軟件接口進(jìn)行接口測試數(shù)據(jù)設(shè)計時,要針對該接口所處理的每一條報文的每一個元素進(jìn)行分析和設(shè)計,單一元素要進(jìn)行邊界值分析及異常值分析,測試數(shù)據(jù)設(shè)計工作量龐大,傳統(tǒng)人工分析的方式容易造成設(shè)計數(shù)據(jù)遺漏,手工生成測試數(shù)據(jù)的方式工作效率較低.

      通過總結(jié)歷史雷達(dá)軟件接口測試數(shù)據(jù)分布情況與設(shè)計方法,本文提煉了軟件接口測試數(shù)據(jù)設(shè)計規(guī)則:

      1) 有效數(shù)據(jù)

      依據(jù)接口元素的有效值定義,若為枚舉類型數(shù)據(jù),則該元素的有效值應(yīng)包含所有的枚舉值; 若為一定范圍內(nèi)的連續(xù)值,則任意取有效范圍內(nèi)(不含邊界)的任一值.

      2) 邊界數(shù)據(jù)

      依據(jù)接口元素的有效范圍,取有效范圍的邊界值以及上下邊界的越界值共6種數(shù)據(jù)作為該元素的邊界測試數(shù)據(jù),如若接口元素的有效范圍為[min,max],則邊界數(shù)據(jù)為min-1,min,min+1,max-1,max,max+1.

      3) 異常數(shù)據(jù)

      異常數(shù)據(jù)為接口元素有效值或有效范圍以外的值.

      4) 異常報文

      異常報文是指報文長度不符合接口定義的報文,主要包括以下兩種形式: 測試報文長度小于有效報文長度和測試報文長度大于有效報文長度.

      依據(jù)以上定義的數(shù)據(jù)生成規(guī)則,通過自動化解析軟件接口中各元素定義的有效值范圍,自動化的生成雷達(dá)軟件接口測試數(shù)據(jù)[13,14],具體步驟如下:

      1) 建立軟件接口數(shù)據(jù)定義模板文件

      以軟件接口定義頭文件為輸入,解析生成預(yù)定格式的接口數(shù)據(jù)定義模板文件(簡稱模板文件),模板文件中包含接口元素名稱、 元素數(shù)據(jù)類型、 元素枚舉值、 元素有效范圍等信息(如圖3 所示),各元素有效范圍按照數(shù)據(jù)類型的默認(rèn)范圍自動生成,模板文件支持人工編輯、 修改枚舉值、 有效范圍等信息.

      圖3 數(shù)據(jù)定義模板文件樣例

      2) 生成軟件接口測試數(shù)據(jù)

      以模板文件為輸入,逐行解析模板文件中的元素數(shù)據(jù)類型、 有效范圍等信息,按照以上描述的測試數(shù)據(jù)生成規(guī)則,自動生成雷達(dá)軟件接口測試數(shù)據(jù),并直接存儲到文本文件中,導(dǎo)入至軟件接口仿真環(huán)境中供測試執(zhí)行直接調(diào)用,數(shù)據(jù)定義模板文件如圖3 所示,數(shù)據(jù)自動生成方法流程如圖4 所示.

      圖4 測試數(shù)據(jù)自動生成方法Fig.4 Automatic generation of test data

      3.3 測試腳本編寫及執(zhí)行

      編寫雷達(dá)軟件接口測試腳本,用以在模擬仿真環(huán)境中使用測試數(shù)據(jù)對被測雷達(dá)軟件自動化執(zhí)行測試. 在軟件接口測試腳本中,結(jié)合被測雷達(dá)軟件數(shù)據(jù)率、 響應(yīng)時間等特點,依據(jù)測試用例定義相應(yīng)的數(shù)據(jù)發(fā)送時間、 數(shù)據(jù)發(fā)送量等信息,運行測試腳本則可按照預(yù)設(shè)的數(shù)據(jù)發(fā)送條件,向被測雷達(dá)軟件接口發(fā)送測試數(shù)據(jù). 同時為測試執(zhí)行設(shè)置返回數(shù)據(jù)采集方案,用以收集雷達(dá)軟件接收測試數(shù)據(jù)后的反饋數(shù)據(jù),測試人員通過對采集數(shù)據(jù)利用工具或人工進(jìn)行對比與分析,從而對雷達(dá)軟件的功能性、 可靠性等進(jìn)行評估.

      4 雷達(dá)產(chǎn)品實例研究

      4.1 基于GESTE平臺的雷達(dá)軟件接口測試

      GESTE(通用嵌入式軟件測試環(huán)境)是由北京航空航天大學(xué)自主研發(fā)的嵌入式軟件仿真測試系統(tǒng),為嵌入式軟件提供通用式的仿真測試環(huán)境,實現(xiàn)對嵌入式軟件進(jìn)行實時、 閉環(huán)、 非侵入式的系統(tǒng)測試. 在通用性的基礎(chǔ)上,支持并輔助二次開發(fā),從而滿足雷達(dá)軟件接口測試需求[15],因此,本文采用GESTE平臺實現(xiàn)基于接口仿真的雷達(dá)軟件測試技術(shù).

      4.2 雷達(dá)產(chǎn)品實例驗證

      為檢驗本文研究的基于接口仿真的雷達(dá)軟件測試自動化方法,以及本文提出的測試數(shù)據(jù)結(jié)構(gòu)自動建立與生成技術(shù)的有效性,以某型雷達(dá)裝備的數(shù)據(jù)處理軟件、 伺服控制軟件和電源監(jiān)控軟件為實驗對象,依據(jù)通訊報文的重要程度共選取30條報文展開應(yīng)用,30條報文分別編號為M1—M30,各報文所含數(shù)據(jù)元素數(shù)量如圖5 所示.

      圖5 實驗報文所含數(shù)據(jù)元素分布情況Fig.5 Distribution of message data elements

      在測試設(shè)計階段,分別采用傳統(tǒng)的通過人機界面進(jìn)行測試的方法(簡稱黑盒方法)以及接口測試的方法,分別對實驗對象進(jìn)行測試用例設(shè)計,統(tǒng)計測試用例設(shè)計情況,用以分析本文方法在提升測試充分性方面的有效性.

      在軟件接口仿真環(huán)境建立階段,首先依據(jù)頭文件、 軟件接口設(shè)計文檔等輸入,對實驗的30條報文分別采用手工方法和本文提出的測試數(shù)據(jù)結(jié)構(gòu)自動建立技術(shù)在仿真環(huán)境中建立通訊接口的方法,完成接口仿真環(huán)境建立; 然后分別采用手動方法和本文提出的測試數(shù)據(jù)自動生成技術(shù),生成測試數(shù)據(jù)文本文件. 記錄相應(yīng)的處理時間,用以分析本文方法在提升工作效率方面的有效性.

      在軟件測試執(zhí)行階段,首先對數(shù)據(jù)處理軟件、 伺服控制軟件和電源監(jiān)控3個配置項軟件采用傳統(tǒng)的通過人機界面進(jìn)行測試的方法(簡稱黑盒方法)執(zhí)行測試; 然后采用本文研究的基于接口仿真的方法對這3個配置項軟件進(jìn)行測試,并將檢出的軟件缺陷交由開發(fā)人員進(jìn)行修改和回歸; 最后將修改后的軟件交由第3方測試機構(gòu)對軟件進(jìn)行測試. 分別記錄各階段檢出的軟件缺陷數(shù)據(jù),用以分析本文方法在提升軟件缺陷檢出率方面的有效性.

      4.3 實例驗證結(jié)果分析

      1) 測試覆蓋率分析

      針對實驗所選擇的30條報文,在相同時間段內(nèi)僅針對報文數(shù)據(jù)的有效性、 無效性及數(shù)據(jù)邊界3個設(shè)計角度,分別以傳統(tǒng)黑盒方法以及本文研究的基于接口仿真的雷達(dá)軟件測試方法分別展開測試用例設(shè)計,形成的測試用例數(shù)量如圖6 所示.

      圖6 設(shè)計測試用例數(shù)量Fig.6 Number of designed test cases

      結(jié)合兩種方法所設(shè)計的測試用例集,對報文各字段的正常、 異常測試場景覆蓋情況進(jìn)行分析,通過黑盒方法和本文方法均能實現(xiàn)對正常測試場景的完全覆蓋,對異常測試場景的覆蓋率數(shù)據(jù)如圖7 所示.

      圖7 報文字段異常測試場景覆蓋率Fig.7 Proportion of abnormal test scenarios formassage elements

      進(jìn)行正常測試場景設(shè)計時,黑盒方法及本文的接口測試方法都能夠完全覆蓋所有正常測試場景,但是在進(jìn)行異常測試場景設(shè)計時,由于雷達(dá)的嵌入式軟件封閉化的特性,許多異常測試場景以黑盒測試的角度是無法實現(xiàn)的,由圖7 中數(shù)據(jù)也可以看出,由于受輸入方法的限制,黑盒方法對異常場景的覆蓋率是比較低的,通過采用本文的接口測試方法,可以實現(xiàn)對報文各字段的異常場景完全覆蓋,測試覆蓋率得到大幅提升,給予軟件質(zhì)量更為充分的保障.

      2) 雷達(dá)軟件接口測試仿真模型建立

      傳統(tǒng)手工方式在接口仿真平臺創(chuàng)建接口元素,需要新建變量、 輸入變量名、 選擇數(shù)據(jù)類型3個操作步驟. 采用手工方式建立接口元素,是以單個接口元素為單位,逐一建立,從而實現(xiàn)創(chuàng)建一條完成的接口報文. 影響仿真模型單個接口元素建立時長的因素主要是操作人員對接口元素的熟悉程度以及在GESTE人機界面進(jìn)行新建操作的熟練程度.

      采用本文提出的測試數(shù)據(jù)結(jié)構(gòu)自動建立技術(shù),在GESTE平臺創(chuàng)建接口元素,僅需人為操作選擇預(yù)處理的頭文件與仿真環(huán)境配置文件,接口元素創(chuàng)建與設(shè)置工作主要通過算法程序自動執(zhí)行完成,處理時間大幅縮短.

      分別采用手工方式和本文方法將實驗的30條報文分別創(chuàng)建到GESTE仿真模型中,記錄操作花費的時間,如圖8 所示.

      圖8 建立仿真模型時間Fig.8 Time of building simulation model

      針對實驗的30條報文計算手工方式和本文方法建立仿真模型的效率,效率提升情況如圖9 所示.

      圖9 建立仿真模型效率提升Fig.9 Efficiency promotion of building simulation model

      由圖9 中數(shù)據(jù)可以看出,采用本文方法較于手工方式工作效率大幅提升,接口元素越多,效率提升越顯著,采用本文方法自動建立仿真模型較手工方式效率平均提升11.27倍.

      3) 雷達(dá)軟件接口測試數(shù)據(jù)文件生成

      以軟件接口測試的角度,依據(jù)本文3.2節(jié)提出的軟件接口測試數(shù)據(jù)設(shè)計準(zhǔn)則,分別采用手工方式和本文提出的測試數(shù)據(jù)自動生成技術(shù),針對實驗的30條報文分別進(jìn)行測試數(shù)據(jù)設(shè)計,生成的測試數(shù)據(jù)量如圖10 所示.

      圖10 軟件接口測試數(shù)據(jù)量Fig.10 Number of software interface testing data

      在本文方法生成測試數(shù)據(jù)的規(guī)則設(shè)置時,邊界值分別取人工定義的物理意義有效范圍邊界值以及數(shù)據(jù)類型的有效范圍邊界值,當(dāng)這兩個范圍重疊時,會生成冗余的測試數(shù)據(jù),手動方式生成測試數(shù)據(jù)能夠避免出現(xiàn)冗余數(shù)據(jù),但是也容易產(chǎn)生數(shù)據(jù)遺漏.

      記錄兩種方式生成測試數(shù)據(jù)所花費的時間,如圖11 所示.

      圖11 測試數(shù)據(jù)生成時間Fig.11 Time of generating test data

      由圖11 可以看出,采用本文方法自動生成測試數(shù)據(jù)文件較手工方式效率提升50%以上,也可有效節(jié)約時間成本,提升工作效率.

      4) 缺陷檢出率分析

      雷達(dá)的嵌入式軟件由于缺少人機操作界面或部分界面進(jìn)行了輸入?yún)?shù)的限制,采用傳統(tǒng)黑盒測試方法,許多異常測試場景難以覆蓋,容易造成缺陷遺漏. 雷達(dá)軟件中由于接口原因直接或者間接導(dǎo)致的軟件缺陷占整個雷達(dá)軟件系統(tǒng)缺陷的比重為20%到30%左右[1],而其中邊界和異常數(shù)據(jù)是引起軟件運行故障的最重要原因之一[2]. 采用基于接口仿真的雷達(dá)軟件測試方法對雷達(dá)軟件執(zhí)行接口測試試驗,測試數(shù)據(jù)如表 1 所示.

      表 1 采用本文方法前后及遺漏缺陷數(shù)據(jù)對比Tab.1 Comparison of the defects before and after usingproposed method and the missing defects

      從表 1 中數(shù)據(jù)可以看出,采用基于接口仿真的雷達(dá)軟件測試方法對雷達(dá)軟件進(jìn)行測試后,發(fā)現(xiàn)問題數(shù)量明顯上升,檢出缺陷數(shù)量平均提升一倍,軟件缺陷檢出能力得到顯著提升; 經(jīng)過采用本文方法測試后的雷達(dá)軟件交予第三方機構(gòu)進(jìn)行測評,檢出缺陷數(shù)量顯著收斂,雷達(dá)軟件質(zhì)量情況得到明顯改善,體現(xiàn)了軟件接口自動化測試對裝備質(zhì)量提升的促進(jìn)作用.

      對軟件缺陷數(shù)據(jù)集進(jìn)行分析發(fā)現(xiàn),未采用本文方法,即使用傳統(tǒng)的手工黑盒方法執(zhí)行測試時,因部分參數(shù)由于界面輸入保護(hù)無法執(zhí)行異常數(shù)據(jù)測試,因此遺漏了許多異常數(shù)據(jù)測試場景; 而采用本文方法可直接從接口端模擬異常數(shù)據(jù)測試場景,更深入地檢測了軟件內(nèi)部的異常保護(hù)情況,因此檢測出了更多的軟件異常保護(hù)不足的軟件缺陷,相對于傳統(tǒng)手工黑盒方式,軟件缺陷檢出率更高,從而更能保障軟件的安全性和可靠性.

      5 結(jié)束語

      在信息化戰(zhàn)爭和軍事智能化的發(fā)展趨勢下,軟件在裝備的功能實現(xiàn)方面日漸占據(jù)主導(dǎo)地位,軟件的質(zhì)量狀況也逐漸成為影響軍事裝備綜合效能發(fā)揮的關(guān)鍵因素. 軟件接口測試是雷達(dá)軟件質(zhì)量保障的重要手段之一,然而由于雷達(dá)軟件接口紛繁復(fù)雜,使得接口測試工作開展困難. 本文首先針對基于接口仿真的雷達(dá)軟件測試自動化框架技術(shù)展開研究,并應(yīng)用于雷達(dá)軟件的測試工作中,有效提升了雷達(dá)軟件測試的覆蓋率及缺陷檢出率; 然后針對基于接口的雷達(dá)軟件測試方法中測試數(shù)據(jù)的結(jié)構(gòu)建立和生成工作,深入研究自動化的處理方法,大幅提升雷達(dá)軟件接口測試自動化程度,使得針對接口測試這一項繁瑣的工作可以快速執(zhí)行. 但是由于頭文件類型的接口定義文件不能給出接口元素的有效范圍定義,在生成測試數(shù)據(jù)的過程中,需人工對接口模板文件進(jìn)行編輯補充相應(yīng)信息,下一步工作將繼續(xù)針對如何能夠自動化提取接口元素的有效范圍定義等信息展開研究,從而進(jìn)一步提升雷達(dá)軟件接口測試的自動化程度.

      猜你喜歡
      嵌入式軟件測試數(shù)據(jù)軟件測試
      基于OBE的軟件測試課程教學(xué)改革探索
      計算機教育(2020年5期)2020-07-24 08:53:20
      測試數(shù)據(jù)管理系統(tǒng)設(shè)計與實現(xiàn)
      EXCEL和VBA實現(xiàn)軟件測試記錄管理
      電子制作(2018年16期)2018-09-26 03:27:18
      實時嵌入式軟件的測試技術(shù)
      電子測試(2018年10期)2018-06-26 05:54:08
      關(guān)于軟件測試技術(shù)應(yīng)用與發(fā)展趨勢研究
      電子測試(2017年15期)2017-12-18 07:19:20
      全景相機遙控器嵌入式軟件V1.0 相關(guān)操作分析
      電子制作(2017年17期)2017-12-18 06:40:56
      基于自適應(yīng)粒子群優(yōu)化算法的測試數(shù)據(jù)擴增方法
      軟件測試工程化模型及應(yīng)用研究
      空間co-location挖掘模式在學(xué)生體能測試數(shù)據(jù)中的應(yīng)用
      體育科技(2016年2期)2016-02-28 17:06:21
      基于Eclipse的航天嵌入式軟件集成開發(fā)環(huán)境設(shè)計與實現(xiàn)
      隆安县| 遂溪县| 安西县| 故城县| 浙江省| 丹巴县| 东兴市| 蚌埠市| 延安市| 乌鲁木齐县| 枞阳县| 舞钢市| 昌宁县| 南充市| 新津县| 临泽县| 辰溪县| 屯昌县| 姚安县| 林周县| 三穗县| 迭部县| 射洪县| 进贤县| 镇平县| 利川市| 义马市| 青神县| 左云县| 贵定县| 正安县| 安福县| 芦溪县| 石河子市| 凤山县| 南平市| 和林格尔县| 沙湾县| 通道| 万安县| 襄城县|