国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

嵌入式軟件仿真測試平臺構(gòu)件化技術(shù)研究

2012-09-05 10:35:56倩,常
關(guān)鍵詞:嵌入式軟件軟件測試腳本

于 倩,常 江

(北京控制工程研究所,北京100190)

嵌入式軟件仿真測試平臺構(gòu)件化技術(shù)研究

于 倩,常 江

(北京控制工程研究所,北京100190)

軟件測試在航天嵌入式軟件研制過程中占有極為重要的地位,使用全數(shù)字仿真測試平臺進行軟件測試是行之有效的方法.對仿真測試平臺進行層次化構(gòu)件分解和構(gòu)件設(shè)計,研究航天軟件仿真測試平臺構(gòu)件化開發(fā)方法,并給出應(yīng)用實例,證明了該方法可大幅提高平臺開發(fā)效率.

軟件構(gòu)件;仿真測試平臺;軟件測試

航天軟件為嵌入式軟件,進行測試一般可采用以下2種方式:一是將嵌入式軟件代碼剝離出來,用全數(shù)字仿真測試平臺進行測試;二是直接將整個系統(tǒng)(包括硬件和嵌入式軟件)和其交聯(lián)的物理設(shè)備真實搭建進行測試.方法二具有測試費用高、可靠性測試難于實現(xiàn)等不可克服的缺點.

使用全數(shù)字仿真測試平臺對嵌入式軟件進行測試,是目前國內(nèi)外公認(rèn)的、行之有效的、具有廣泛應(yīng)用前景的方法[1].全數(shù)字仿真測試平臺(簡稱仿真測試平臺),是指使用計算機仿真的方式構(gòu)建嵌入式軟件運行所需的硬件環(huán)境(處理器、接口芯片)以及運行時所需要的外部接口數(shù)據(jù)源[2],在此基礎(chǔ)上通過施加各種測試激勵(包括故障激勵),實現(xiàn)對軟件的功能、性能、可靠性、安全性以及強度等各項測試評估驗證工作.

航天嵌入式軟件有其自身的行業(yè)特點:軟件主要功能相對固定、軟件繼承性強、復(fù)用性強、研發(fā)工作量巨大且時間緊迫.傳統(tǒng)的仿真測試平臺隨著被測系統(tǒng)的種類、通信接口等發(fā)生變化,需要重新投入大量時間、人力、物力構(gòu)建新的測試平臺,已經(jīng)不能滿足當(dāng)前航天嵌入式軟件測試的需要,基于構(gòu)件的仿真測試平臺可有效增強平臺復(fù)用性,避免測試平臺搭建時間長、工作重復(fù)的問題,提高平臺搭建效率.

1 軟件構(gòu)件化

1.1 軟件構(gòu)件定義

軟件構(gòu)件是軟件復(fù)用的核心實體,是一組封裝的、規(guī)范的、可替換的、可重用的系統(tǒng)組成部分,它能在定義完善的體系結(jié)構(gòu)環(huán)境中實現(xiàn)某一清晰的功能,是一個與語境無關(guān)的組合單元,它的思想來自于工業(yè)產(chǎn)品部件.軟件構(gòu)件技術(shù)是一種類似于“零部件組裝”的集成組裝式軟件生產(chǎn)方式,它把零件、生產(chǎn)線和裝配運行的概念運用在軟件產(chǎn)業(yè)中,徹底打破了手工作坊式的軟件開發(fā)模式.

1.2 層次化構(gòu)件

復(fù)合構(gòu)件是可以被逐層分解的,一個復(fù)合構(gòu)件經(jīng)過從頂層到底層的層層分解后呈現(xiàn)為樹結(jié)構(gòu)[3],最終分解為原子構(gòu)件,如圖1所示.

圖1 軟件系統(tǒng)構(gòu)件分解圖Fig.1 Component decomposition of the software system

復(fù)合構(gòu)件的規(guī)約中,構(gòu)件對外提供的功能和要求的外部功能分別被映射到成員構(gòu)件相應(yīng)的功能上,這就意味著,可以把復(fù)合構(gòu)件之間的連接信息逐層進行消解,最終歸結(jié)到原子構(gòu)件之間的連接.然后把原子構(gòu)件的接口處的連接映射為構(gòu)件在實現(xiàn)體中的連接,不應(yīng)對原子構(gòu)件本身對應(yīng)的實現(xiàn)體做任何改動.最終生成的軟件系統(tǒng)可看作一個多對象原子構(gòu)件.

2 仿真測試平臺的構(gòu)件化開發(fā)方法

2.1 構(gòu)件分解

采用結(jié)構(gòu)分析的方法,依據(jù)嵌入式仿真測試平臺的系統(tǒng)構(gòu)成進行構(gòu)件分解,共分為5個頂層構(gòu)件,測試平臺系統(tǒng)的構(gòu)件分解圖如圖2所示.

圖2 測試平臺系統(tǒng)構(gòu)件分解圖Fig.2 Component decomposition of the simulation testing platform

(1)內(nèi)核模擬器構(gòu)件

內(nèi)核模擬器負(fù)責(zé)模擬軟件運行環(huán)境的處理器,包括寄存器、指令系統(tǒng)及存儲器的仿真,以實現(xiàn)被測軟件的正確執(zhí)行.空間飛行器軟件檢測站自主研發(fā)的Vtest就是一個內(nèi)核模擬器構(gòu)件,支持8086、695等航天常用芯片,另外也可直接使用商用內(nèi)核模擬器,如KeilμVision2為51系列單片機的內(nèi)核模擬器.

(2)交聯(lián)系統(tǒng)仿真構(gòu)件

交聯(lián)系統(tǒng)仿真構(gòu)件是對被測軟件外圍環(huán)境的計算機仿真,它負(fù)責(zé)模擬軟件接口設(shè)備發(fā)送測試數(shù)據(jù),驅(qū)動被測軟件運行.交聯(lián)系統(tǒng)仿真構(gòu)件是仿真測試平臺最重要最復(fù)雜的組成部分.由于每個軟件的運行環(huán)境、系統(tǒng)構(gòu)成均不相同,為增強軟件復(fù)用性,需要對交聯(lián)系統(tǒng)仿真構(gòu)件進行進一步分解.

根據(jù)航天軟件交聯(lián)系統(tǒng)常見硬件接口類型進行分解,可將交聯(lián)系統(tǒng)仿真構(gòu)件分解為通信接口構(gòu)件、采集接口構(gòu)件、輸出接口構(gòu)件、看門狗構(gòu)件等,該層構(gòu)件的復(fù)用性主要體現(xiàn)為:支持?jǐn)U充及重用,建立標(biāo)準(zhǔn)的層接口實現(xiàn)上下兩層之間及同層之間的交互.

對各接口類型根據(jù)常用芯片進行分解,將各芯片仿真模型構(gòu)件作為原子構(gòu)件,例如通信接口常用芯片有CAN總線、1553B總線、RS422串口等.該層構(gòu)件的復(fù)用性主要體現(xiàn)為:仿真模型的封裝性及通用性,仿真模型從結(jié)構(gòu)上都包括內(nèi)特性和外特性兩部分,建立仿真模型時,內(nèi)特性應(yīng)按真實系統(tǒng)仿真并封裝,外特性可以通過配置文件進行配置.

圖3 交聯(lián)系統(tǒng)仿真構(gòu)件分解圖Fig.3 Decomposition of the conjunctive-system simulating component

圖3為交聯(lián)系統(tǒng)仿真構(gòu)件的構(gòu)件分解圖.

(3)測試腳本解釋構(gòu)件

測試腳本解釋構(gòu)件負(fù)責(zé)將測試腳本解釋執(zhí)行,驅(qū)動模型運行,產(chǎn)生激勵信號,使得被測軟件按測試用例指定的方式運行,實現(xiàn)軟件測試.測試腳本解釋構(gòu)件可分解為腳本翻譯構(gòu)件及腳本驅(qū)動構(gòu)件,腳本翻譯構(gòu)件將固定格式的腳本文件翻譯為機器語言,腳本格式為[時間令];#腳本名稱,參數(shù)1,參數(shù) 2……;腳本名稱及參數(shù)范圍可通過配置文件進行設(shè)置.腳本驅(qū)動構(gòu)件依據(jù)翻譯得到機器語言產(chǎn)生仿真輸入信號及數(shù)據(jù),腳本驅(qū)動構(gòu)件需針對不同軟件不同測試方法定制.圖4為測試腳本解釋構(gòu)件的構(gòu)件分解圖.

圖4 測試腳本解釋構(gòu)件分解圖Fig.4 Decomposition of the testing script interpretive component

(4)測試結(jié)果分析構(gòu)件

測試結(jié)果分析構(gòu)件負(fù)責(zé)收集記錄測試結(jié)果,并對收集到的測試數(shù)據(jù)進行分析和自動比對,確定是否有軟件錯誤,從而實現(xiàn)自動化測試.測試結(jié)果分析構(gòu)件可分解為數(shù)據(jù)記錄構(gòu)件及自動比對構(gòu)件,數(shù)據(jù)記錄構(gòu)件收集測試數(shù)據(jù)(包括輸入數(shù)據(jù)和輸出數(shù)據(jù))形成記錄文件;自動比對構(gòu)件根據(jù)比對數(shù)據(jù)處理方式進行分解,并且可針對不同軟件進行擴展.圖5為測試結(jié)果分析構(gòu)件的構(gòu)件分解圖.

圖5 測試結(jié)果分析構(gòu)件分解圖Fig.5 Decomposition of the testing results analysis component

(5)性能及覆蓋率統(tǒng)計構(gòu)件

性能統(tǒng)計及覆蓋率構(gòu)件負(fù)責(zé)實時測試結(jié)束后統(tǒng)計軟件運行過程中性能指標(biāo),以及被測軟件的測試語句覆蓋率、分支覆蓋率.性能統(tǒng)計構(gòu)件包括時間性能及RAM使用量統(tǒng)計等,可通過配置文件設(shè)置起始時刻及位置;覆蓋率統(tǒng)計構(gòu)件采用空間飛行器軟件檢測站自主研發(fā)的通用覆蓋率統(tǒng)計工具UCA和Coverager,該工具用于統(tǒng)計基于目標(biāo)碼的語句覆蓋率和分支覆蓋率,并對已執(zhí)行/未執(zhí)行的語句和分支進行記錄和顯示.

2.2 構(gòu)件設(shè)計

按照I cube理論,構(gòu)件可以被描述為三層結(jié)構(gòu)[4]:第一層是接口層,聲明為其他構(gòu)件提供的接口;第二層是調(diào)用層,確定需要其他構(gòu)件提供的接口;第三層是實現(xiàn)層,描述該構(gòu)件的具體行為.為提高構(gòu)件的通用性和復(fù)用性,并結(jié)合測試平臺的特性,本文在設(shè)計構(gòu)件模型時增加用戶配置層.因此仿真測試平臺構(gòu)件采用調(diào)用層、實現(xiàn)層、接口層、用戶配置層的四層設(shè)計.

下面以CAN總線仿真構(gòu)件為例,對構(gòu)件設(shè)計及具體實現(xiàn)進行說明.

(1)調(diào)用層

調(diào)用層在CAN總線仿真構(gòu)件中與內(nèi)核模擬器關(guān)系最大,調(diào)用層的功能就是為了屏蔽不同的內(nèi)核模擬器,提供一個與處理器無關(guān)的統(tǒng)一接口.調(diào)用層要對內(nèi)核模擬器中內(nèi)存及I/O口讀寫、時間管理以及消息輸出的函數(shù)等進行統(tǒng)一封裝,方便構(gòu)件中的一致調(diào)用.調(diào)用層設(shè)計如表1所示.

表1 調(diào)用層設(shè)計表Tab.1 Design of the call level

(2)實現(xiàn)層

實現(xiàn)層是構(gòu)件的主體.CAN總線仿真構(gòu)件的實現(xiàn)層完成對CAN總線內(nèi)部特性的計算機仿真,共包含4個C文件,CAN.c、CANBasic.c、CANPeli.c、CANComm.c.CAN.c主要完成對CAN總線的初始設(shè)置,CANComm.c為輔助函數(shù),CANBasic.c及CANPeli.c為實現(xiàn)層的核心,分別對CAN總線BasicCAN和PeliCAN兩種形式進行仿真,包括CAN總線數(shù)據(jù)接收、CAN總線數(shù)據(jù)發(fā)送以及CAN總線故障模型的仿真實現(xiàn).

(3)接口層

接口層是仿真測試平臺不同組成部分銜接的約定.CAN總線仿真構(gòu)件的接口層由CAN.h頭文件完成,其中定義了供其他構(gòu)件使用的數(shù)據(jù)結(jié)構(gòu)及函數(shù).接口層部分內(nèi)容如表2所示.

表2 接口層設(shè)計表Tab.2 Design of the interface level

(4)用戶配置層

用戶配置層是增強構(gòu)件復(fù)用性的重要環(huán)節(jié). CAN總線仿真構(gòu)件的用戶配置層由CAN.ini、DATA.ini兩個配置文件完成,其中CAN.ini用于配置CAN總線外部特性,包括總線基地址、掛接引腳、晶體頻率、通信波特率等;DATA.ini用于配置總線數(shù)據(jù),包括正常數(shù)據(jù)和非法數(shù)據(jù).

3 仿真測試平臺構(gòu)件化應(yīng)用實例

下面給出一個應(yīng)用構(gòu)件搭建的某星載軟件的仿真測試平臺實例.

被測軟件(SDIU)為某型號星載接口軟件,處理器為80C32,編程語言為 C語言,主要功能為通過1553B總線與CTU進行連接,通過RS422串口為CFI設(shè)備連接,完成數(shù)據(jù)采集轉(zhuǎn)發(fā)及指令處理等功能.

將該軟件測試平臺進行層次化構(gòu)件分解,并對復(fù)用性進行分析:內(nèi)核模擬器使用商用模擬器Keil μVision2;交聯(lián)系統(tǒng)仿真構(gòu)件中1553B總線、RS422串口、AD采集均使用常用芯片,端口地址輸出為常見操作,對應(yīng)構(gòu)件可復(fù)用,看門狗接口使用硬件電路設(shè)計,未采用常見芯片,因此看門狗接口構(gòu)件需新研;測試腳本解釋構(gòu)件中腳本翻譯構(gòu)件為通用構(gòu)件,測試驅(qū)動構(gòu)件需考慮軟件輸入和測試方法新研;測試結(jié)果分析構(gòu)件中數(shù)據(jù)收集構(gòu)件、文件記錄構(gòu)件均為通用構(gòu)件,通過1553B總線及RS422串口收集的數(shù)據(jù)均為直通型數(shù)據(jù),可復(fù)用直通型數(shù)據(jù)比對構(gòu)件,通過端口地址收集的離散指令格式特殊,需新研離散指令比對構(gòu)件;性能及覆蓋率統(tǒng)計構(gòu)件為通用構(gòu)件,可復(fù)用.該軟件測試平臺構(gòu)件組成如圖6所示.

該仿真測試平臺復(fù)用構(gòu)件代碼量占總代碼量的90%以上,平臺搭建時間縮短85%.

4 結(jié)束語

本文研究了航天軟件仿真測試平臺構(gòu)件化開發(fā)方法,對仿真測試平臺進行構(gòu)件化分解,舉例說明了構(gòu)件的設(shè)計方法,并經(jīng)過實例證明仿真測試平臺構(gòu)件化開發(fā)方法可加強平臺復(fù)用性,大幅提高平臺開發(fā)效率.

圖6 接口軟件測試平臺構(gòu)件組成圖Fig.6 Architecture of the SDIU-testing-platform component

[1] 劉斌,高小鵬,陸民燕,等.嵌入式軟件可靠性仿真測試系統(tǒng)研究[J].北京航空航天大學(xué)學(xué)報,2000,26 (4):490-493 Liu B,Gao X P,Lu M Y,et al.Study on reliablility simulation testing system for embedded software[J].Journal of Beijing University of Aeronautics and Astronautics,2000,26(4):490-493

[2] 賀紅衛(wèi).全數(shù)字仿真環(huán)境技術(shù)及其在航天軟件測試中的應(yīng)用[C].軟件測試學(xué)術(shù)交流會,黃山,2005 He H W.All-digital simulation environment technology and its application in aerospace software testing[C]. Software Testing Symposium,Huangshan,2005

[3] 張世琨,張文娟,常欣,等.基于軟件體系結(jié)構(gòu)的可復(fù)用構(gòu)件制作和組裝[J].軟件學(xué)報,2001,12(9):1351-1359 Zhang SK,Zhang W J,Chang X,et al.Building and assembling reusable components based on software architecture[J].Journal of Software,2001,12(9):1351-1359

[4] Chang C K,Kim S.A petri-net based specification method for architectural components[C].The 23rdAnnual International Computer Software and Application Conference,Phoenix USA,1999

Com ponent Technology for Em bedded Software Sim ulation Testing Platform

YU Qian,CHANG Jiang
(Beijing Institute of Control Engineering,Beijing 100190,China)

Software testing occupies a very important position in space embedded software development process,and the all-digital simulation testing platform is considered as an effective method for software testing.This paper studies hiberarchy component decomposition and design for simulation testing p latform,and component-based developmentmethod for space software simulation testing platform.Finally,an app lication example is given to verify these methods.

software component;simulation testing platform;software test

TP311

A

1674-1579(2012)05-0038-04

10.3969/j.issn.1674-1579.2012.05.007

于 倩(1982—),女,工程師,研究方向為軟件測試;常 江(1979—),男,工程師,研究方向為軟件測試.

2012-03-14

猜你喜歡
嵌入式軟件軟件測試腳本
酒駕
安奇奇與小cool 龍(第二回)
基于OBE的軟件測試課程教學(xué)改革探索
計算機教育(2020年5期)2020-07-24 08:53:20
數(shù)據(jù)庫系統(tǒng)shell腳本應(yīng)用
電子測試(2018年14期)2018-09-26 06:04:24
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)用研究
阳信县| 青岛市| 长岭县| 和林格尔县| 黄陵县| 洛川县| 蓬溪县| 丰台区| 水富县| 汝城县| 高台县| 明星| 巨野县| 华池县| 婺源县| 麻栗坡县| 景谷| 武义县| 安庆市| 隆子县| 富民县| 东安县| 宜城市| 虞城县| 安庆市| 五台县| 自贡市| 蒙城县| 城固县| 鄂尔多斯市| 家居| 南丹县| 尚义县| 封丘县| 保山市| 扬中市| 都匀市| 富川| 东丽区| 镇宁| 伊宁市|