張海軍
摘 要:測(cè)試數(shù)據(jù)輸入和獲取是嵌入式軟件測(cè)試的關(guān)鍵技術(shù)。首先分析了在進(jìn)行嵌入式軟件測(cè)試時(shí),導(dǎo)致數(shù)據(jù)輸入和獲取困難的幾點(diǎn)原因,然后根據(jù)多年的測(cè)試經(jīng)驗(yàn),對(duì)嵌入式軟件測(cè)試數(shù)據(jù)輸入和獲取的多種手段和方式進(jìn)行了介紹,最后說(shuō)明了在進(jìn)行嵌入式軟件測(cè)試數(shù)據(jù)輸入和獲取時(shí)的注意事項(xiàng)。
關(guān)鍵詞:嵌入式軟件測(cè)試;數(shù)據(jù)輸入;數(shù)據(jù)獲取
在進(jìn)行嵌入式軟件測(cè)試時(shí),會(huì)遇到多種困難,其中之一便是如何輸入和獲取數(shù)據(jù)。在最終使用環(huán)境中進(jìn)行測(cè)試時(shí),嵌入式系統(tǒng)通常沒有或只有簡(jiǎn)單的顯示設(shè)備,也沒有存儲(chǔ)設(shè)備,不能保存計(jì)算結(jié)果,只有在線實(shí)時(shí)觀測(cè)或是將數(shù)據(jù)傳輸?shù)剿拗鳈C(jī)上才能進(jìn)行結(jié)果分析,這樣一來(lái),如何建立宿主機(jī)與目標(biāo)機(jī)之間的物理邏輯連接,以便能注入測(cè)試數(shù)據(jù),并能在正確的時(shí)間采集到正確的結(jié)果數(shù)據(jù)以恰當(dāng)?shù)匕l(fā)現(xiàn)問題,就成為了主要挑戰(zhàn)。
一、嵌入式軟件測(cè)試數(shù)據(jù)輸入和獲取困難的原因
(一)硬件嵌入性
嵌入式軟件一般運(yùn)行在各種嵌入式系統(tǒng)中,而這些系統(tǒng)通常僅能完成特殊的任務(wù),系統(tǒng)硬件專門設(shè)計(jì),嵌入式軟件離開了這些硬件就無(wú)法運(yùn)行。另外,嵌入式系統(tǒng)在運(yùn)行過(guò)程中往往需要與多個(gè)交聯(lián)設(shè)備進(jìn)行數(shù)據(jù)交互。因此,嵌入式軟件只有在最終實(shí)際運(yùn)行環(huán)境中,才能完整、深入考核其各項(xiàng)功能和性能指標(biāo)。
(二)數(shù)據(jù)缺乏“可視性”
嵌入式系統(tǒng)往往不像商業(yè)計(jì)算機(jī)那樣具有鍵盤、顯示屏、磁盤機(jī)和其他各種有效的用戶界面和存儲(chǔ)設(shè)備。由于嵌入式系統(tǒng)通常是面向某個(gè)特定應(yīng)用的,所以嵌入式系統(tǒng)的硬件和軟件在設(shè)計(jì)時(shí),要充分考慮系統(tǒng)的尺寸、功耗等要求,因此往往會(huì)省略掉顯示屏、接口等不必要的設(shè)備。
(三)實(shí)時(shí)性
嵌入式系統(tǒng)廣泛應(yīng)用于生產(chǎn)過(guò)程控制、數(shù)據(jù)采集、傳輸通信等場(chǎng)合,實(shí)時(shí)性是對(duì)嵌入式系統(tǒng)的普遍要求,是設(shè)計(jì)者和用戶重點(diǎn)考慮的一個(gè)重要指標(biāo)。而實(shí)時(shí)性強(qiáng),軟件運(yùn)行會(huì)產(chǎn)生大量數(shù)據(jù),這給其測(cè)試帶來(lái)了很大的困難。
二、嵌入式軟件測(cè)試數(shù)據(jù)輸入和獲取的主要手段
嵌入式軟件測(cè)試數(shù)據(jù)輸入和獲取的手段包括:外接鍵盤顯示器、在線輔助設(shè)備、I/O接口、邊界掃描、總線監(jiān)聽、在線仿真器ICE等。
(1)外接鍵盤顯示器:嵌入式Linux、VxWorks等嵌入式平臺(tái)下的軟件,通常系統(tǒng)硬件留有接口,可以直接外接鍵盤、顯示器等,這樣在特定的調(diào)試狀態(tài)下,就可以直接輸入數(shù)據(jù)和獲取到軟件運(yùn)行過(guò)程中產(chǎn)生的狀態(tài)和數(shù)據(jù)。
(2)在線輔助設(shè)備:通過(guò)嵌入式系統(tǒng)的其他在線輔助設(shè)備,比如:數(shù)碼管、指示燈以及交聯(lián)設(shè)備的顯示裝置等,也可以間接獲取嵌入式軟件的運(yùn)行狀態(tài)和數(shù)據(jù)。
(3)I/O接口:通過(guò)直接連接標(biāo)準(zhǔn)的網(wǎng)口、串口等I/O接口,配合相應(yīng)的軟件工具,比如:EtherpeekNX、串口調(diào)試助手等,可以實(shí)現(xiàn)輸入數(shù)據(jù)和獲取結(jié)果。
(4)邊界掃描:邊界掃描測(cè)試是通過(guò)在芯片的每個(gè)I/O腳附加一個(gè)邊界掃描單元以及一些附加的測(cè)試控制邏輯實(shí)現(xiàn)的。現(xiàn)在,所有復(fù)雜的IC芯片(比如:DSP、FPGA等)幾乎都具有邊界掃描端口(即JTAG控制接口)。邊界掃描測(cè)試有兩大優(yōu)點(diǎn):一個(gè)是方便芯片的故障定位,另一個(gè)是通過(guò)邊界掃描通道來(lái)使芯片處于某個(gè)特定的功能模式。測(cè)試時(shí),工具軟件通常是各個(gè)處理器的開發(fā)環(huán)境,通過(guò)JTAG仿真器連接至嵌入式硬件,可以實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)的輸入及獲取。
(5)總線監(jiān)聽:是一種監(jiān)測(cè)被測(cè)系統(tǒng)總線數(shù)據(jù)流的手段,具有實(shí)時(shí)性強(qiáng)、支持多通道、顯示方式多樣等特點(diǎn)。CodeTEST、RTInsight、ADS2等測(cè)試工具以及邏輯分析儀、示波器等硬件工具都能實(shí)現(xiàn)總線監(jiān)聽??偩€監(jiān)聽的連線方式,分為標(biāo)準(zhǔn)探頭和飛線兩種。
(6)在線仿真器ICE:用來(lái)模擬嵌入式系統(tǒng)中的中央處理器,它通過(guò)一個(gè)插頭插在一個(gè)與CPU一樣的底座上。在線仿真器提供了一面通向嵌入式系統(tǒng)內(nèi)部的窗戶,程序員用在線仿真器將程序下載到系統(tǒng)運(yùn)行后,可以對(duì)程序進(jìn)行逐步跟蹤并察看數(shù)據(jù)的變化。
三、嵌入式軟件測(cè)試數(shù)據(jù)輸入和獲取的注意事項(xiàng)
在進(jìn)行嵌入式軟件測(cè)試數(shù)據(jù)輸入和獲取時(shí)需要注意以下幾個(gè)方面:
(1)在進(jìn)行硬件連接時(shí),不能影響到嵌入式軟件的運(yùn)行狀態(tài),有必要時(shí)要進(jìn)行檢查和確認(rèn),否則可能會(huì)使軟件運(yùn)行不穩(wěn)定甚至改變軟件運(yùn)行狀態(tài)。
(2)對(duì)于實(shí)時(shí)性非常強(qiáng)、數(shù)據(jù)量大的嵌入式軟件,在選擇數(shù)據(jù)獲取的方式時(shí),必須要檢查數(shù)據(jù)的完整性和正確性。否則,有可能出現(xiàn)獲取到的數(shù)據(jù)不完整甚至是錯(cuò)誤的,影響軟件測(cè)試的質(zhì)量。
(3)在選擇工具軟件和硬件時(shí),要考慮其可靠性和正確性,盡量選取公開發(fā)行的穩(wěn)定版。
(4)嵌入式系統(tǒng)一般比較復(fù)雜,采取的任何數(shù)據(jù)輸入和獲取方式,一定要實(shí)現(xiàn)研制方或開發(fā)方進(jìn)行交流和確認(rèn),避免由于自身不熟悉和疏忽導(dǎo)致測(cè)試中出現(xiàn)問題。
四、結(jié)語(yǔ)
嵌入式軟件測(cè)試數(shù)據(jù)輸入和獲取是嵌入式軟件測(cè)試的關(guān)鍵技術(shù),其準(zhǔn)確性、實(shí)時(shí)性和可靠性對(duì)測(cè)試質(zhì)量有決定性影響。由于嵌入式系統(tǒng)平臺(tái)的多樣性和復(fù)雜性,因此在進(jìn)行嵌入式軟件測(cè)試時(shí),需要根據(jù)被測(cè)軟件的特點(diǎn)和測(cè)試要求,對(duì)數(shù)據(jù)輸入和獲取方法進(jìn)行定制設(shè)計(jì),靈活采用多種方式,可以極大提高測(cè)試質(zhì)量和效率。
參考文獻(xiàn):
[1]葛德明.實(shí)時(shí)嵌入式軟件的測(cè)試技術(shù)[J].電子測(cè)試,2018(10).
[2]孫昌愛,靳若明,劉超,金茂忠.實(shí)時(shí)嵌入式軟件的測(cè)試技術(shù)[J].小型微型計(jì)算機(jī)系統(tǒng),2000(09).
[3]鄭人杰.計(jì)算機(jī)軟件測(cè)試技術(shù)[M].清華大學(xué)出版社,1992.