999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

IOTEST在某型模擬對抗終端嵌入式軟件測試中的應用

2017-12-14 05:43:15,,
計算機測量與控制 2017年9期
關鍵詞:嵌入式模型

, ,, ,

(中國人民解放軍總參謀部 第六十研究所,南京 210016)

IOTEST在某型模擬對抗終端嵌入式軟件測試中的應用

吳海東,陳哲,保亞運,吳波,王云飛

(中國人民解放軍總參謀部第六十研究所,南京210016)

由于嵌入式系統對功能和性能的高要求,對嵌入式軟件進行測試存在一定難度;嵌入式系統通過各種不同類型的接口與外界實現交互,故而對嵌入式系統的接口進行測試,是保證嵌入式軟件質量的重要途徑;以某型模擬對抗終端嵌入式軟件為例,根據該型終端的特點,對基于IOTEST實現嵌入式軟件測試的自動化進行研究;依照測試需求分析、測試環境搭建、測試建模、變量配置、測試腳本編寫、測試執行的測試步驟和方法,通過測試實現過程詳細說明了IOTEST在嵌入式軟件測試中的應用;測試結果表明,IOTEST能夠對嵌入式系統接口的正確性、實時性和可靠性進行有效地測試,該工具在測試過程中具備良好的實用性和通用性;在嵌入式軟件的測試過程中合理使用IOTEST,可以有效提高測試效率,保證軟件質量。

嵌入式軟件;軟件測試;IOTEST;測試用例

0 引言

隨著我國國防工業的快速發展以及對訓練管理重視程度的提高,軍事訓練裝備日益向復雜化、精細化、體系化和模塊化發展。嵌入式系統是各類訓練裝備的重要組成部分,承擔著各種計算、控制、通信等功能。相對于通用平臺軟件,對嵌入式軟件進行測試的困難之處主要體現在與硬件及相關應用的關聯性強、接口復雜、測試數據的獲取及注入手段有限、對軟件的實時性及可靠性要求嚴格等方面。[1]

針對嵌入式軟件的輸入輸出接口進行測試,是保證軟件實現滿足需求規格說明書要求的前提和基礎,亦是提高軟件質量、有效控制軟件開發和維護成本的重要途徑。保證對嵌入式軟件輸入輸出接口功能及性能測試的有效性,是對嵌入式軟件進行合格性測試及系統級測試的前提。

在當前條件下對相關嵌入式軟件產品進行合格性測試時,由于進度安排緊張、外場需求變更頻繁等原因,通常是依照軟件需求規格說明書進行黑盒測試。借助相關自動化測試工具,可提高測試腳本設計的規范性,有效提高軟件測試效率,增強測試用例及測試數據的復用性。[2]

1 嵌入式軟件測試

軟件測試是保證軟件可靠性的重要手段,嵌入式軟件的測試除需要運用傳統的測試技術外,還需要考慮與時間和硬件密切相關的測試技術的運用。

根據程序是否執行,針對嵌入式軟件的測試可劃分為靜態測試和動態測試兩種類型。[3]靜態測試主要包括代碼走查、代碼質量度量和代碼結構分析等類型,主要用于檢查算法邏輯正確性、參數合法性以及程序設計規范性等方面;動態測試需設計測試用例并運行軟件,可借助于執行測試腳本,分析待測對象執行情況,判斷預期結果與實際結果的一致性,包括功能測試、性能測試等類型。[4]

2 工具簡介

IOTEST是一種仿真測試環境,針對嵌入式軟件,其能夠對嵌入式系統進行半物理仿真測試。該工具能夠通過圖形化的方式,使用戶實現相關交聯設備仿真模型框架的自動生成,同時使得測試實現閉環、實時、非侵入式的目標,具有良好的通用性、實時性和可擴展性。

本次測試所使用的系統包括主機和實時處理機兩部分:以筆記本電腦作為測試主機,采用Windows操作系統,實現仿真模型構建、測試腳本開發、測試結果收集與分析、測試管理、腳本調試等功能;以工控機作為實時處理機,提供數據加載、測試腳本解釋器、測試顯示監控、仿真模型服務等功能,這些功能與服務和下層的實時事務處理、任務調度與管理、通信協議棧、內存管理通過API 函數進行接口,再下層是實時操作系統VxWorks 和硬件驅動程序,其中VxWorks 負責運行仿真模型和實時解釋。其體系架構如圖1所示。

圖1 IOTEST軟件體系架構

在對嵌入式軟件進行接口測試時,合理使用IOTEST,具有以下優點:

1) 支持DI/DO、AI/AO、RS-422、RS-232等多種形式的接口,并提供local形式的接口供測試人員自行定義。

2) IOTEST使建模效率得到極大提升,它支持模型代碼的自動生成與交叉編譯,并能夠對仿真模型和測試腳本進行調試。

3) 得益于IOTEST可有效提升測試環境的實時性能,測試效率可同步得到提升。IOTEST同時實現了測試腳本的實時解釋和編譯、執行。

4) IOTEST支持測試過程中多個面板的實時顯示控制,便于監控測試過程的執行狀況,加強了測試過程的管理,具有優良的人機交互設計。

5) IOTEST提供了圖形、列表等多種數據顯示方式,具備查詢、篩選等功能,由于其改進了數據收集融合算法,支持數據源模型,并支持大批量數據的實時加載與采集,故IOTEST可對測試數據進行更加精確的分析處理。

6) IOTEST實現了與MATLAB等相關軟件的集成,具有良好的可擴展性,可實現測試的分級管理。

3 被測對象分析

自2014年以來,全軍貫徹落實中央軍委《關于提高軍事訓練實戰化水平的意見》,先后組織多場實戰化演習,場次密集,規模空前。對抗演習作為軍事訓練的高級形式,已成為實戰化訓練的顯著標志。作為我軍研發的新一代實兵交戰系統,本激光模擬對抗訓練控制系統能夠模擬敵我雙方武器裝備的作戰性能,體現各種作戰行動和交戰關系,基于“直瞄打激光、間瞄打數據”的原理,實現對目標的點殺傷、面殺傷、軟殺傷和綜合毀傷,可直接反映出交戰紅藍雙方的戰損情況,使得實兵對抗更加貼近實戰。

嵌入式軟件作為某型牽引火炮終端的“核心”,需要實現仿真火力交戰、實時發送信息、授權干預控制等功能。其通過各種不同類型的接口,實現與主控軟件、態勢軟件、交戰雙方各種類型終端乃至調理員的通信,利用直瞄激光的發射和接收以及間瞄數據解析,可模擬武器殺傷及被命中目標戰損,通過戰場通信網絡向主控和態勢等導調軟件上傳本終端的定位數據、彈藥消耗、戰斗狀態等信息,并接收主控軟件所下發的演習預置、參數配置、導調裁決等指令。

只有經過充分的測試,才可保證在實兵對抗訓練時,該終端工作狀態的正常實現,而對其接口進行測試,是其他各項測試的基礎。要提高對該終端嵌入式軟件的測試效率,需借助自動化測試工具來實現測試用例及測試腳本的復用。

4 測試設計與實現

IOTEST采用“項目-工程-單元”三級管理機制,每個項目可包括多個工程,每個工程對應一個交聯環境模型,同時每個工程可包括多個測試單元,每個測試單元即為一次測試組織。利用IOTEST進行嵌入式系統接口測試的一般流程為:

1) 針對被測系統的需求規格說明書、軟件設計說明等相關文檔,進行測試需求分析;

2) 針對接口測試需求,進行詳細的測試設計,包括用例設計以及數據準備;

3) 根據嵌入式系統的接口要求,合理搭建軟硬件測試環境,并建立測試過程管理機制;

4) 設計和開發仿真模型,模型中的各I/O接口用于實現被測系統與實時處理機之間的數據通信,并對模型中各變量進行配置;

5) 對仿真模型代碼進行自動編譯,根據工具編譯結果運行該模型或定位模型代碼的錯誤并進行修正;

6) 編寫測試腳本,通過腳本實現測試用例的自動執行,并對編寫完畢的測試腳本進行屬性配置和編譯;

7) 執行測試腳本,并在顯控界面監測測試執行過程;

8) 收集測試結果,并對測試結果進行分析。

4.1 測試需求分析

結合實兵對抗系統的特點,本牽引火炮模擬終端的接口測試需求主要集中于終端上下行信息的正確性、實時性等方面,如以下幾點:

1)終端對主控軟件下行指令的正確響應及信息回傳,實現演習指揮人員的授權干預控制,保證對演習進程的實時把控;

2)終端狀態信息和事件信息的實時發送,實現主控軟件與態勢軟件中戰場信息的實時顯示,正確展示交戰雙方的交火及戰損情況;

3)終端對系統內其他終端或輔助設備消息的響應(如布障、打擊、物資補給與收集等),實現系統內受權終端的仿真火力交戰、二次毀傷及支援等,提高實兵對抗的真實性;

4)終端對無效信息是否正確舍棄,減輕戰場通信網絡負載,保證有效信息的高效傳送。

本次合格性測試試圖通過對上述相關重點需求的測試,借助IOTEST實現存在缺陷的輸入輸出接口的快速定位、對軟件接口的有效性和正確性進行驗證。

4.2 測試環境搭建

被測終端的嵌入式軟件采用C語言編寫,其硬件環境具備RS232等多種形式的對外接口,并借助ZigBee、藍牙、紅外等不同形式的傳輸機制實現信息的轉發。將待測終端作為目標機,以IOTEST作為模擬系統內的主控軟件、導調設備、交戰終端等。在進行測試設計時,在測試模型中建立不同形式的接口連接,通過IOTEST向終端發送模擬下行數據,包括有效數據和錯誤或無效數據,檢驗終端上行數據的正確性和實時性,并對終端的容錯能力進行驗證。

4.3 建立測試模型

本次測試實例的目的為對終端上行響應數據及接收下行指令功能進行驗證,故在本次所建立測試模型中設計3個模型,其中model_2代表實際終端電路板軟件,model_1和model_3為仿真模型,model_1模擬主控軟件,model_3中用于存放主控下行指令數據,所建立交聯環境圖如圖2所示。被測終端的接口類型為RS-232串口,所以model_1和model_2間連線方式選擇RS-232;通過修改model_3中數據可實現主控所下發指令的修改,用于仿真模型間數據的傳輸,故model_3向model_1的連線方式設為Local。本模型的建立,實現了對嵌入式系統所關聯的外部設備的仿真,并模擬了嵌入式系統與外部設備間的通信。

圖2 交聯環境圖

4.4 變量配置

雙擊模型間總線,可根據接口協議進行相關配置,為其添加變量,并選擇變量發送或接收所須配置的端口號、波特率以及校驗方式。在本次測試中,我們共為Local總線設置5個異步型變量,其中變量count為UChar型,local_30、local_21、error_30和error_21均為block型;為兩條RS-232類型總線分別設置2個block型變量(recv_21、recv_30)和1個變量(send),配置各變量中元素后式其分別表示終端所上傳數據包數據以及主控向終端所下傳指令數據。

變量類型周期(ms)傳輸類型local_30Block0UPElocal_21Block0UPEerror_30Block0UPEerror_21Block0UPEcountUChar0UPE

4.5 編寫測試腳本

腳本由測試人員設計,以文本形式保存,用于描述測試意圖,具有正規語法的數據和指令。在測試執行過程中,IOTEST可通過讀取測試腳本來完成相應功能的實現。一個測試腳本可實現一個或多個測試用例的操作,測試所需的輸入及預期輸出可包含在腳本中,也可為腳本外的文件或數據庫。

在本次測試中,我們以終端初始化功能為例,在需求規格說明書中,主控軟件向終端下發終端初始化參數設置指令,可用于對終端多個參數進行初始化設置,包括狀態信息上傳時間間隔、演習區域參數、違規干預方式等。

測試腳本封裝的任務類型主要有“周期任務”、“定時任務”和“文本方式”等,在此次測試中我們選擇新建“周期任務”。為實現對終端初始化參數設置功能的自動化測試,我們分別編寫兩個測試腳本,分別對應模擬實現主控下發指令的定時任務Task1以及接收并判斷終端所上傳數據的周期任務Task2。

定時任務Task1的代碼為:

{

model_1.send.a_1 = 0xC1;

model_1.send.a_2 = 0xFC;

……

model_1.send.a_24 = 0x27;

setBlockData( model_1.send );

model_1.count = 0x01;

}

周期任務Task2的代碼為:

{

if( model_1.count == 0x01 )

{

model_1.error_30.error = 0;

if( model_1.recv_30.a_1 != model_1.local_30.a_1 )

{ model_1.error_30.error.error_1 = 1; }

……

if( model_1.recv_30.a_30 != model_1.local_30.a_30 )

{ model_1.error_30.error.error_30 = 1; }

if( model_1.error_30.error != 0 )

{

model_1.error_30.a_1 = model_1.recv_30.a_1;

……

model_1.error_30.a_30 = model_1.recv_30.a_30;

setBlockData( model_1.error_30 );

}

else

{

model_1.error_30.a_1 = 0;

……

model_1.error_30.a_30 = 0;

setBlockData( model_1.error_30 );

}

}

}

上述代碼中,Task1中的Block型變量send中各元素設為主控所下發指令中各字段,本用例中通過其向model_2中發送終端初始化參數設置指令。在Task2中,變量recv_30中UChar類型元素a_1~a_30分別用于存儲終端所上傳事件數據中的各字段,而另一Block類型元素error用于通過其各元素表示終端所上傳事件數據的各字段是否與預期值一致。

4.6 測試執行

模型搭建且相應變量配置完成后,點擊工具欄G按鈕,即可自動生成模型代碼。然后對模型代碼進行編譯,編譯通過后,需下載該模型至目標機中。完成上述工作后,即完成了主機上代碼的編譯及鏈接,得到目標機上能夠正常運行的可執行文件。

在用戶圖形化生成測試腳本的基礎上,還需要對文本形式的測試腳本進行語法檢查和調試。完成腳本的正確編寫后,即可執行本腳本所設計用例的測試,IOTEST動態生成并分發測試數據到各仿真模型,同時對測試反饋進行處理,并在測試顯控工具中實時顯示測試結果,從而達到測試的目的。

4.7 測試結果

通過運行所編寫的腳本,本次測試所收集終端上傳事件數據如圖3所示,經測試,該終端的參數初始化設置指令響應功能實現正常,且滿足需求規格說明書中所要求的時間特性,測試結果被自動保存在MySQL數據庫中。

圖3 數據收集結果

在未采用IOTEST之前,針對該系統終端嵌入式軟件的測試工作主要借助于網絡調試助手等工具,測試人員通過抓取相關數據包,逐字節解析其正確性,不便于測試數據的記錄、篩選與分析,測試過程不具備可擴展性和可復用性。IOTEST以測試結果數據文件為輸入,提供了對測試結果數據的事后分析處理功能,可按照用戶要求以多種方式顯示測試數據并對測試結果數據進行比較分析。

在測試面板中,通過添加相關顯示控件,并對這些控件進行設置,使其能夠分別接收并解析終端所上傳數據包中的相應字節,實現了接口數據解析與顯示的模塊化與直觀化,如圖4所示。

借助該工具,實現了嵌入式系統測試工作的自動化,大幅提高了測試效率,在對軟件功能進行測試之余,也實現了對系統的時間特性等性能方面的測試和分析。

圖4 測試數據顯示

圖5 接口測試詳細結果顯示

5 結論

與桌面軟件相比,嵌入式軟件具有更大的測試難度。通過合理使用IOTEST等嵌入式軟件接口測試工具,能夠顯著提高測試效率,增強測試用例和測試腳本的可復用性,同時人工和工具的有機結合,可加強測試人員的測試技術,有效縮短項目開發周期,對軟件質量和可靠性的提升大有裨益。

[1] 徐丙鳳,胡 軍,曹 東,等. 構件化嵌入式軟件設計模型非功能性質驗證的工具實現[J]. 計算機科學,2010,37(8):156-163.

[2] 郭 瑩,劉紀元,康 智. Testbed套件在航天嵌入式軟件中的應用[J]. 火控雷達技術,2010,39(1):20-23.

[3] 蘇青琴. 基于抽象解釋的嵌入式程序不變量靜態測試研究與實現[D]. 南京:南京航空航天大學,2012.

[4] 楊 潔. 嵌入式軟件測試的實踐與研究[D]. 上海:華東師范大學,2009.

ApplicationofIOTESTtoEmbeddedSoftwareTestingofCertainSimulativeBattleDevice

Wu Haidong, Chen Zhe, Bao Yayun, Wu Bo, Wang Yunfei

(60th Research Institute of General Staff Dept of P.L.A,Nanjing 210016,China)

According to the high requirement for the function and performance of the embedded systems, it’s hard to test the embedded software. The embedded systems communicate with external devices by different kinds of interface, therefore, to test such interfaces is an important way to guarantee the quality of the embedded systems. By means of the embedded software of certain simulative battle device as the sample and according to their specialties, a method for the application of the automatic embedded software testing based on IOTEST was established. Through the procedures that included requirements analysis、environment constitution、modeling、variables configuration、scripts compiling and testing execution, the way to apply IOTEST was illustrated in detail through the testing process. According to the testing result, IOTEST can test the correctness 、real-time performance and reliability availably and have well practicability and versatility. Using IOTEST reasonably can improve the efficiency of embedded software testing greatly, and ensure the quality of the software as well.

embedded software;software testing;IOTEST;test cases

2017-02-22;

2017-04-12。

吳海東(1976-),男,江蘇南通人,高級工程師,主要從事軟件工程、軟件開發與測試方向的研究。

陳 哲(1989-),男,河南漯河人,助理工程師,主要從事軟件測試方向的研究。

1671-4598(2017)09-0106-04

10.16526/j.cnki.11-4762/tp.2017.09.028

TP273

A

猜你喜歡
嵌入式模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
TS系列紅外傳感器在嵌入式控制系統中的應用
電子制作(2019年7期)2019-04-25 13:17:14
嵌入式系統通信技術的應用
電子制作(2018年18期)2018-11-14 01:48:16
搭建基于Qt的嵌入式開發平臺
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
3D打印中的模型分割與打包
FLUKA幾何模型到CAD幾何模型轉換方法初步研究
Altera加入嵌入式視覺聯盟
主站蜘蛛池模板: 97超碰精品成人国产| 国产精品爽爽va在线无码观看| 风韵丰满熟妇啪啪区老熟熟女| 黄色在线不卡| 久久久波多野结衣av一区二区| 欧美激情视频一区二区三区免费| 午夜福利在线观看成人| 亚洲国模精品一区| 九九免费观看全部免费视频| 99re在线观看视频| 高清国产在线| 色爽网免费视频| 欧美中文字幕在线播放| 国产又黄又硬又粗| a亚洲视频| 国产欧美日韩精品第二区| 亚洲三级a| 日韩欧美国产综合| 成年女人a毛片免费视频| 狠狠亚洲五月天| 国产视频一二三区| 91免费在线看| 99精品国产高清一区二区| 中文字幕永久在线观看| 一级看片免费视频| 8090午夜无码专区| 亚洲综合香蕉| 欧美人与牲动交a欧美精品| 亚洲人成色在线观看| 97亚洲色综久久精品| 欧美福利在线| 国产精品综合久久久| 99在线观看免费视频| 91免费国产在线观看尤物| 成年人午夜免费视频| 久久99蜜桃精品久久久久小说| 国产成+人+综合+亚洲欧美| 无码中文字幕乱码免费2| 国产哺乳奶水91在线播放| 亚洲国产成人精品无码区性色| 国产不卡网| 成·人免费午夜无码视频在线观看| 久久综合色视频| 丁香六月综合网| 精品国产网| 国产人前露出系列视频| 成年人免费国产视频| 国产精品自拍合集| 又黄又爽视频好爽视频| 香蕉网久久| 国产精品一线天| 亚洲精品麻豆| 欧美在线一二区| 国产精品流白浆在线观看| 欧美色视频日本| 国产乱子伦视频在线播放| 国产精品xxx| 欧美一道本| 亚洲第一区在线| 色综合激情网| 亚洲91精品视频| 热九九精品| 久久精品电影| 亚洲国产精品一区二区第一页免 | 欧洲成人免费视频| 日韩精品久久久久久久电影蜜臀| 国产精品久久久久婷婷五月| 欧美激情综合| 亚洲男人天堂久久| 91青青视频| 国产成年女人特黄特色大片免费| 国产精品嫩草影院av| 操国产美女| 国产精品妖精视频| 亚洲成A人V欧美综合| 亚洲无码电影| 国产xx在线观看| 亚洲美女久久| 久久人人爽人人爽人人片aV东京热| 精品久久久久无码| 香蕉综合在线视频91| 亚洲一区免费看|