李倩
摘要:互聯(lián)網(wǎng)技術(shù)的飛快發(fā)展,促使嵌入式軟件的應(yīng)用范圍越來越廣泛,能夠滿足各行各業(yè)的復(fù)雜應(yīng)用功能需求,逐漸成為日常工作生活中不可缺少的一部分。嵌入式軟件的結(jié)構(gòu)與一般的計(jì)算機(jī)具有明顯的區(qū)別,因此在對(duì)嵌入式軟件進(jìn)行功能測(cè)試的過程中,需要考慮到更多的因素。針對(duì)計(jì)算機(jī)中的嵌入式軟件類型及其測(cè)試技術(shù)進(jìn)行探索研究,以期提高嵌入式軟件運(yùn)行時(shí)的實(shí)際性能。
關(guān)鍵詞:計(jì)算機(jī);嵌入式軟件;測(cè)試技術(shù)研究
引言:
嵌入式軟件系統(tǒng)目前發(fā)展勢(shì)頭良好,已經(jīng)融入諸多電子產(chǎn)品之中,廣泛應(yīng)用于人們的日常工作和生活中。隨著嵌入式系統(tǒng)的普遍使用,其處理數(shù)據(jù)的性能和使用質(zhì)量面臨著巨大的挑戰(zhàn),因此對(duì)嵌入式軟件測(cè)試技術(shù)的研究至關(guān)重要。在社會(huì)日益復(fù)雜的現(xiàn)實(shí)需求下,嵌入式軟件必須具有更強(qiáng)大功能,才能應(yīng)對(duì)大環(huán)境下紛繁復(fù)雜的要求,對(duì)于嵌入式軟件的性能進(jìn)行測(cè)試,改進(jìn)其存在的不足確保實(shí)際運(yùn)行時(shí)嵌入式軟件具有較高的可靠性,以更好地適應(yīng)環(huán)境的要求是有必要的。
一、嵌入式計(jì)算機(jī)基本概念
嵌入式計(jì)算機(jī)是指根據(jù)用戶的具體需求,開發(fā)出來的專用于某項(xiàng)特定項(xiàng)目的具有針對(duì)性的功能的一種計(jì)算機(jī)類型,具有較強(qiáng)的適應(yīng)性,根據(jù)具體應(yīng)用環(huán)境開發(fā)相應(yīng)的硬件和軟件。嵌入式計(jì)算機(jī)的功能具有較復(fù)雜的特點(diǎn),在實(shí)際開發(fā)的過程中,需要開發(fā)人員嚴(yán)格控制成本,提高技術(shù)水準(zhǔn)保證其可靠性,根據(jù)實(shí)際運(yùn)用環(huán)境確定其體積大小,優(yōu)化一般的計(jì)算機(jī)系統(tǒng),使其在現(xiàn)實(shí)中的應(yīng)用更具有靈活性,有助于嵌入式計(jì)算機(jī)在人們生活和工業(yè)制造中發(fā)揮更好的作用,讓人們的生活和工作更方便高效,促進(jìn)國(guó)家工業(yè)朝著更好的方向發(fā)展。
二、嵌入式計(jì)算機(jī)軟件基本概念
在嵌入式計(jì)算機(jī)的開發(fā)中,離不開軟件系統(tǒng)的支持,這種類型的軟件屬于嵌入式計(jì)算機(jī)軟件,一般包括操作控制軟件整體功能的微處理器和控制器,用于時(shí)序計(jì)算的定時(shí)器,用于信號(hào)感知傳遞的傳感器,用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器等模塊。具有嵌入式軟件的計(jì)算機(jī)系統(tǒng),可以完成很多復(fù)雜的功能,比如監(jiān)控環(huán)境的變化情況,收集環(huán)境數(shù)據(jù)并做出分析處理等。嵌入式軟件是嵌入式計(jì)算機(jī)的重要功能實(shí)現(xiàn)模塊,使得電子設(shè)備的功能更加智能化,處理能力更加強(qiáng)大,比如處理速度較快,處理結(jié)果更加精準(zhǔn)。根據(jù)實(shí)際運(yùn)用的環(huán)境需求,嵌入式軟件的功能有簡(jiǎn)單和復(fù)雜之分,最簡(jiǎn)單的類似于單片機(jī)這種結(jié)構(gòu),其主要是對(duì)單一的工作進(jìn)行處理,復(fù)雜類型則功能較為全面,可以處理諸多類型的數(shù)據(jù)計(jì)算。
三、嵌入式計(jì)算機(jī)軟件測(cè)試的基本概念
為了保證嵌入式計(jì)算機(jī)軟件在運(yùn)行時(shí)對(duì)數(shù)據(jù)處理具有較高的正確性和可靠性,采用一定的測(cè)試方案對(duì)軟件進(jìn)行運(yùn)行模擬測(cè)試,對(duì)于嵌入式計(jì)算機(jī)軟件系統(tǒng)的高效運(yùn)行具有重要的現(xiàn)實(shí)意義。一般使用宿主機(jī)和目標(biāo)機(jī)的模式對(duì)嵌入式軟件進(jìn)行測(cè)試,宿主機(jī)即日常生活中使用的普遍的計(jì)算機(jī)類型,目標(biāo)機(jī)則是作為待測(cè)試的嵌入式軟件的載體,通過宿主機(jī)與目標(biāo)機(jī)的相互配合通信,對(duì)嵌入式軟件進(jìn)行測(cè)試。需要注意的是,嵌入式軟件的內(nèi)存空間應(yīng)該控制在合理的范圍內(nèi),且軟件開發(fā)中使用的各種功能的處理器與開發(fā)工具都有著較昂貴的價(jià)格,所以開發(fā)人員應(yīng)做好成本控制工作。在越來越復(fù)雜的實(shí)際運(yùn)行環(huán)境要求下,嵌入式軟件的功能日益復(fù)雜,測(cè)試難度也越來越大,測(cè)試技術(shù)朝著不斷創(chuàng)新的方向發(fā)展。
四、嵌入式計(jì)算機(jī)軟件測(cè)試關(guān)鍵技術(shù)探索
(一)宿主機(jī)的測(cè)試技術(shù)
宿主機(jī)的測(cè)試方式包括靜態(tài)測(cè)試技術(shù)和動(dòng)態(tài)測(cè)試技術(shù)。靜態(tài)測(cè)試技術(shù)將待測(cè)試的嵌入式軟件系統(tǒng)與各種類型的測(cè)試數(shù)據(jù)進(jìn)行連接,對(duì)系統(tǒng)的源代碼進(jìn)行復(fù)制,確定其程序代碼之后繪制出系統(tǒng)使用的程序邏輯結(jié)構(gòu)圖。靜態(tài)測(cè)試技術(shù)還可以在邏輯框架圖、程序邏輯圖和程序運(yùn)行流程圖之間實(shí)現(xiàn)相互轉(zhuǎn)換。較早的嵌入式軟件測(cè)試技術(shù)使用的是人工方式,測(cè)試人員在獲得程序的設(shè)計(jì)情況和使用的算法類型后,需要使用這些參數(shù)模擬其實(shí)際運(yùn)行時(shí)的情況,對(duì)所有功能項(xiàng)目進(jìn)行測(cè)試排查,當(dāng)出現(xiàn)錯(cuò)誤時(shí)對(duì)其進(jìn)行改正,以達(dá)到測(cè)試的目的,這種人工測(cè)試的方法較為復(fù)雜且施行過程需要耗費(fèi)大量的時(shí)間。如今嵌入式軟件的運(yùn)行環(huán)境日益復(fù)雜,軟件使用的設(shè)計(jì)程序數(shù)據(jù)較為分散,人工的檢測(cè)方式已經(jīng)滿足不了功能復(fù)雜的嵌入式軟件需求。現(xiàn)在測(cè)試人員在對(duì)嵌入式軟件進(jìn)行靜態(tài)測(cè)試時(shí),無須對(duì)所有的計(jì)算機(jī)設(shè)備進(jìn)行測(cè)試,只需要根據(jù)獲取的數(shù)據(jù)信息對(duì)軟件的邏輯和功能進(jìn)行全面的模擬運(yùn)行,自動(dòng)監(jiān)測(cè)過程中出錯(cuò)的信息,根據(jù)測(cè)試狀況進(jìn)行改進(jìn)優(yōu)化,這種方法耗時(shí)較低很是便捷且準(zhǔn)確性較高。
不同于靜態(tài)檢測(cè),動(dòng)態(tài)測(cè)試則是在待測(cè)試嵌入式軟件的實(shí)際運(yùn)行過程中,對(duì)運(yùn)行狀況進(jìn)行監(jiān)測(cè)分析,動(dòng)態(tài)測(cè)試通過記錄分析嵌入式軟件在實(shí)際運(yùn)行時(shí)的數(shù)據(jù)處理情況,與軟件在開發(fā)時(shí)確定的目標(biāo)功能進(jìn)行對(duì)比,分析兩者之間存在的差距,從而確定被測(cè)軟件系統(tǒng)的實(shí)際運(yùn)行中存在的問題,并對(duì)系統(tǒng)的性能進(jìn)行優(yōu)化提升。動(dòng)態(tài)測(cè)試的實(shí)行步驟較多,需要對(duì)嵌入式軟件的每個(gè)單元的數(shù)據(jù)處理性能,單元之間的集成合作性能,系統(tǒng)整體性能以及最后的驗(yàn)收情況進(jìn)行多維度的測(cè)試,各個(gè)類型的測(cè)試之間相互聯(lián)系并且層層遞進(jìn)。動(dòng)態(tài)測(cè)試主要是對(duì)嵌入式軟件的內(nèi)置程序代碼進(jìn)行運(yùn)行情況測(cè)試,通過對(duì)其實(shí)際運(yùn)行時(shí)的狀態(tài)進(jìn)行檢測(cè),記錄該軟件的基礎(chǔ)功能實(shí)現(xiàn)情況。動(dòng)態(tài)測(cè)試的結(jié)果覆蓋面較廣,既可以檢測(cè)軟件存在的功能漏洞,也可以檢測(cè)出相關(guān)參數(shù)的設(shè)置存在的問題。動(dòng)態(tài)測(cè)試還可以對(duì)嵌入式軟件的開發(fā)過程中的內(nèi)存配置以及功能完成情況進(jìn)行檢測(cè),并對(duì)存在的問題漏洞進(jìn)行修補(bǔ),有針對(duì)性地完善優(yōu)化軟件系統(tǒng)的功能。
(二)仿真機(jī)的測(cè)試技術(shù)
對(duì)于仿真機(jī)的測(cè)試也離不開對(duì)源程序代碼與實(shí)際參數(shù)數(shù)據(jù)的測(cè)試。源程序代碼在設(shè)計(jì)之初已經(jīng)有了記錄且不難獲取,不過源代碼的數(shù)量巨大,給測(cè)試帶來的較重的工作量的同時(shí)也增加了測(cè)試的難度,另外對(duì)于參數(shù)設(shè)置數(shù)據(jù)的獲取則比較復(fù)雜。一般通過對(duì)內(nèi)存指數(shù)直接讀取,或者使用高級(jí)開發(fā)工具對(duì)輸入輸出通道進(jìn)行模擬,以及使用目標(biāo)機(jī)和宿主機(jī)之間的物理通道通過專業(yè)的通訊軟件實(shí)現(xiàn)對(duì)數(shù)據(jù)的載入采集。仿真機(jī)測(cè)試可以對(duì)系統(tǒng)中龐大的數(shù)據(jù)群進(jìn)行處理,保證系統(tǒng)數(shù)據(jù)完整性的同時(shí),還可以根據(jù)仿真運(yùn)行實(shí)際情況對(duì)數(shù)據(jù)進(jìn)行相應(yīng)的修改優(yōu)化,測(cè)試結(jié)束后也可以對(duì)數(shù)據(jù)進(jìn)行提取。仿真機(jī)測(cè)試過程中,操作人員可以清楚地看到數(shù)據(jù)的運(yùn)行時(shí)使用情況,獲得集中管理的數(shù)據(jù)仿真和模擬的過程是透明的。嵌入式軟件在仿真過程中有著較為復(fù)雜的結(jié)構(gòu)類型,包括用來實(shí)時(shí)模擬的仿真開發(fā)工具,軟件的輸入輸出模塊,對(duì)軟件進(jìn)行測(cè)評(píng)控制的分析模塊,對(duì)測(cè)試結(jié)果作出整合的模塊,對(duì)總線的仿真和控制模塊,以及實(shí)時(shí)調(diào)度任務(wù)模塊。較為優(yōu)秀的仿真工具可以對(duì)現(xiàn)實(shí)中的實(shí)際運(yùn)行情況作出完美的模擬,并獲得較為客觀真實(shí)的數(shù)據(jù)。仿真測(cè)試技術(shù)可以對(duì)差異性較大的不同類型的數(shù)據(jù)進(jìn)行模擬,還可以對(duì)具有特定設(shè)置需求的數(shù)據(jù)進(jìn)行仿真設(shè)計(jì),仿真數(shù)據(jù)的現(xiàn)實(shí)多樣性使得仿真結(jié)果較為真實(shí)可靠,另外仿真數(shù)據(jù)具有實(shí)時(shí)性,且需要采取合適的控制技術(shù)保證仿真數(shù)據(jù)在模擬運(yùn)行過程中的穩(wěn)定性,從而避免運(yùn)行時(shí)出現(xiàn)故障錯(cuò)誤影響仿真結(jié)果。
(三)目標(biāo)機(jī)的測(cè)試技術(shù)
目標(biāo)機(jī)的測(cè)試技術(shù)主要有針對(duì)內(nèi)存的分析技術(shù),特定的故障注入技術(shù)和最終的整體性能分析技術(shù)。故障注入測(cè)試技術(shù)是指在對(duì)嵌入式軟件進(jìn)行功能測(cè)試之前,宿主機(jī)將數(shù)據(jù)傳送到目標(biāo)機(jī),目標(biāo)機(jī)使用已經(jīng)安裝的測(cè)試軟件迅速獲取軟件的功能模塊數(shù)據(jù)并進(jìn)行處理。內(nèi)存分析的過程是對(duì)系統(tǒng)內(nèi)存資源在運(yùn)行時(shí)的分配使用回收情況做出觀察和分析,并對(duì)其進(jìn)行相應(yīng)的優(yōu)化,提高軟件運(yùn)行時(shí)的流暢性和軟件實(shí)際運(yùn)行時(shí)的工作效率,節(jié)省軟件數(shù)據(jù)處理的時(shí)間和節(jié)約價(jià)格較為昂貴且容量有限的內(nèi)存資源。
具體來說,在故障注入檢測(cè)過程中,通過對(duì)目標(biāo)集中輸入預(yù)先準(zhǔn)備好的故障數(shù)據(jù),針對(duì)特定模塊進(jìn)行測(cè)試,觀察故障數(shù)據(jù)對(duì)軟件運(yùn)行時(shí)產(chǎn)生的影響,從而模擬現(xiàn)實(shí)中的實(shí)際運(yùn)行故障情況,提前做好故障處理措施,提高軟件在實(shí)際應(yīng)用時(shí)處理故障的能力,保證軟件的正確高效運(yùn)行。故障注入一般對(duì)軟件運(yùn)行前的數(shù)據(jù)參數(shù)進(jìn)行修改產(chǎn)生錯(cuò)誤的數(shù)據(jù)類型或者在運(yùn)行時(shí)對(duì)軟件的功能作出錯(cuò)誤的修改,所以對(duì)目標(biāo)機(jī)的要求較高。軟件的內(nèi)存出現(xiàn)故障的頻率相對(duì)較高且影響較大,對(duì)于內(nèi)存分析技術(shù),需要技術(shù)人員提高對(duì)存儲(chǔ)系統(tǒng)的重視度,并對(duì)硬件的運(yùn)行效果提出更好的優(yōu)化策略。技術(shù)人員需要嚴(yán)格把控內(nèi)存在軟件數(shù)據(jù)處理時(shí)的分配情況和數(shù)據(jù)處理完成之后系統(tǒng)對(duì)內(nèi)存空間的回收情況,保證內(nèi)存的合理使用,有利于軟件運(yùn)行時(shí)卡頓次數(shù)的減少,軟件的使用更加流暢。內(nèi)存分析師可以結(jié)合軟件分析和硬件分析的優(yōu)勢(shì),根據(jù)實(shí)際測(cè)試需求選擇合適的測(cè)試模式,降低測(cè)試成本節(jié)約測(cè)試時(shí)間并且提高測(cè)試數(shù)據(jù)的有效性。
以上步驟完成之后,需要對(duì)系統(tǒng)的整體性能進(jìn)行分析,這是嵌入式軟件測(cè)試中的最終環(huán)節(jié),保證嵌入式軟件整體系統(tǒng)在實(shí)際運(yùn)行中具有高效性,降低系統(tǒng)實(shí)際運(yùn)用時(shí)的出錯(cuò)率。評(píng)價(jià)系統(tǒng)的性能指標(biāo)包括嵌入式軟件數(shù)據(jù)處理的速度,運(yùn)行時(shí)卡頓情況以及遇到的錯(cuò)誤類型等等,用戶感受到的使用體驗(yàn)是這些指標(biāo)的客觀反映。為了更深層次地對(duì)系統(tǒng)性能進(jìn)行了解和優(yōu)化,性能分析過程中對(duì)相關(guān)指標(biāo)進(jìn)行記錄,及時(shí)發(fā)現(xiàn)嵌入式軟件存在的不足并提出有針對(duì)性的解決方案,以此提高軟件的數(shù)據(jù)處理效率,給用戶更好的使用體驗(yàn)。
五、結(jié)束語(yǔ)
互聯(lián)網(wǎng)技術(shù)的迅速發(fā)展,使得嵌入式軟件的發(fā)展迎來了技術(shù)的高速更新時(shí)代,并已經(jīng)廣泛地應(yīng)用于人們的生活和工作中,身邊充滿了嵌入式軟件計(jì)算機(jī)電子產(chǎn)品,嵌入式計(jì)算使得傳統(tǒng)的設(shè)備具有更靈活的智能化特點(diǎn),為人們的提供便捷高效的使用體驗(yàn)。在這樣的背景下,加強(qiáng)對(duì)嵌入式軟件的測(cè)試技術(shù)研究,改進(jìn)更新嵌入式軟件測(cè)試技術(shù)的實(shí)用性,對(duì)于提高與嵌入式軟件相關(guān)的計(jì)算機(jī)產(chǎn)品的使用效率,更新升級(jí)關(guān)鍵軟件開發(fā)和測(cè)試技術(shù),保證嵌入式計(jì)算機(jī)軟件未來的發(fā)展質(zhì)量有著至關(guān)重要的意義,
參考文獻(xiàn):
[1]林永峰,陳亮.面向安全性分析的嵌入式軟件測(cè)試方法研究[J].現(xiàn)代電子技術(shù),2016,39(13):80-83.
[2]陳效儒,何宇化.關(guān)鍵字驅(qū)動(dòng)的嵌入式實(shí)時(shí)軟件自動(dòng)化測(cè)試框架研究[J].工業(yè)控制計(jì)算機(jī),2018,27(2):46-47.
[3]雷何鑫,楊順昆,劉斌.基于FMEA/FTA的嵌入式軟件故障診斷模型與應(yīng)用[J]. 計(jì)算機(jī)測(cè)量與控制,2019,54(1):42-45.
[4]金維佳.嵌入式系統(tǒng)接口轉(zhuǎn)換計(jì)算機(jī)軟件測(cè)試平臺(tái)研制[J].數(shù)字技術(shù)與應(yīng)用,2018,(9):158-159.