賀穎 劉亭利
關(guān)鍵詞:嵌入式;計(jì)算機(jī);軟件測(cè)試
中圖法分類號(hào):TP312 文獻(xiàn)標(biāo)識(shí)碼:A
嵌入式計(jì)算機(jī)主要是指針對(duì)某個(gè)項(xiàng)目或者某個(gè)行業(yè)開(kāi)發(fā)的專業(yè)計(jì)算機(jī),其不僅可以滿足需求開(kāi)發(fā)功能,也能在極大程度上提升工作效率。嵌入式軟件為計(jì)算機(jī)中需要進(jìn)行安裝的軟件,需結(jié)合需求體現(xiàn)功能性,因此軟件需具備良好的穩(wěn)定性。測(cè)試嵌入式計(jì)算機(jī)中使用的軟件,可以使軟件正常運(yùn)行。
1嵌入式計(jì)算機(jī)軟件
嵌入式計(jì)算軟件為嵌入式計(jì)算機(jī)需要使用的軟件,其可以展開(kāi)獨(dú)立功能操作。軟件主要為傳感器、微笑處理器、定時(shí)器、控制器等,利用電子器件或者是電子芯片將軟件安裝在嵌入式計(jì)算機(jī)中,使計(jì)算機(jī)具備常規(guī)計(jì)算機(jī)并不具備的功能,如設(shè)備管理、實(shí)時(shí)監(jiān)控、移動(dòng)計(jì)算、數(shù)據(jù)處理等,促進(jìn)了現(xiàn)代化電子處理,這是實(shí)現(xiàn)智能化、自動(dòng)化社會(huì)的有效途徑。就嵌入式計(jì)算機(jī)來(lái)講,軟件為自動(dòng)化組成核心。對(duì)軟件進(jìn)行分類時(shí),可以將其分為簡(jiǎn)單系統(tǒng)和復(fù)雜系統(tǒng)兩種。簡(jiǎn)單系統(tǒng)僅能完成一項(xiàng)功能,典型性嵌入系統(tǒng)為單機(jī)片,借助ROM技術(shù)使用系統(tǒng),進(jìn)而實(shí)現(xiàn)對(duì)程序的有效控制;復(fù)雜系統(tǒng)在功能上和普通計(jì)算機(jī)區(qū)別不大,只是復(fù)雜系統(tǒng)中安裝了微型嵌入式系統(tǒng)和嵌入式軟件,可以使計(jì)算機(jī)獲得更為完善的功能。
2軟件測(cè)試
進(jìn)行軟件測(cè)試時(shí),需將指定功能程度,并將系統(tǒng)失效的可能性暴露出來(lái)。在測(cè)試時(shí),首先需體現(xiàn)出有限性,也就是執(zhí)行測(cè)試次數(shù)需為有限,并且保證測(cè)試過(guò)程具備可管理性,即有限資源和無(wú)限、潛在測(cè)試需求達(dá)到平衡,而測(cè)試時(shí)需制定合理判定準(zhǔn)則;其次,在測(cè)試中關(guān)鍵要選擇有限測(cè)試用例,在選擇不同測(cè)試用例的情況下,獲得的結(jié)果往往會(huì)有所不同;最后,預(yù)測(cè)性——針對(duì)程序執(zhí)行以后結(jié)果是否具備可接受性進(jìn)行判定。
3嵌入式計(jì)算機(jī)軟件測(cè)試
嵌入式計(jì)算機(jī)會(huì)將目標(biāo)計(jì)算機(jī)和宿主計(jì)算機(jī)進(jìn)行連接。宿主計(jì)算機(jī)為通用平臺(tái),而目標(biāo)計(jì)算機(jī)可以為嵌入式計(jì)算機(jī)提供運(yùn)行平臺(tái),保證系統(tǒng)處于平穩(wěn)運(yùn)行狀態(tài)。工作基礎(chǔ)是通過(guò)計(jì)算機(jī)展開(kāi)軟件編譯與軟件處理;目標(biāo)下載編譯好的軟件——充分發(fā)揮軟件的運(yùn)行、數(shù)據(jù)傳輸?shù)然竟δ?。嵌入式?jì)算機(jī)在使用時(shí),為保證應(yīng)用質(zhì)量與可靠性,往往需要針對(duì)軟件展開(kāi)多次測(cè)試,基于多次測(cè)試及時(shí)發(fā)現(xiàn)錯(cuò)誤。嵌入式軟件具有一定的獨(dú)特性和專業(yè)性,運(yùn)作時(shí)需處于特定平臺(tái),并且運(yùn)行環(huán)境、開(kāi)發(fā)環(huán)境也均具備各自的特點(diǎn),需基于宿主機(jī)展開(kāi)編譯與編輯。嵌入式計(jì)算機(jī)應(yīng)在重量、體積、形狀等多個(gè)方面適應(yīng)宿主的基本要求。
在嵌入式計(jì)算機(jī)軟件實(shí)際適用范圍不斷擴(kuò)展的背景下,軟件的復(fù)雜性也需相應(yīng)有所提升。因此,軟件測(cè)試的整體難度有所增加。實(shí)際測(cè)試時(shí),需不斷對(duì)目標(biāo)機(jī)和宿主機(jī)進(jìn)行切換,進(jìn)而保證測(cè)試效果。
4嵌入式計(jì)算機(jī)軟件測(cè)試技術(shù)
4.1宿主機(jī)測(cè)試
4.1.1動(dòng)態(tài)測(cè)試
運(yùn)用動(dòng)態(tài)測(cè)試技術(shù)的必要條件是軟件處于運(yùn)行狀態(tài),和靜態(tài)測(cè)試技術(shù)之間存在較大區(qū)別。其原理在于軟件運(yùn)行過(guò)程中,將預(yù)期目標(biāo)和實(shí)際目標(biāo)展開(kāi)對(duì)比,了解二者存在的差距,并對(duì)差異進(jìn)行分析,進(jìn)而對(duì)受檢測(cè)對(duì)象的運(yùn)行效果、質(zhì)量等進(jìn)行有效分析,為實(shí)現(xiàn)性能提升提供合理參考。運(yùn)用動(dòng)態(tài)測(cè)試技術(shù)時(shí)需獲得集成測(cè)試、單元測(cè)試、驗(yàn)收測(cè)試、系統(tǒng)測(cè)試等的支撐,這些測(cè)試彼此之間的聯(lián)系密切。運(yùn)用動(dòng)態(tài)測(cè)試技術(shù)展開(kāi)檢測(cè)時(shí),主要對(duì)象為軟件代碼———測(cè)試軟件代碼的性能,了解軟件代碼的實(shí)際執(zhí)行能力。同時(shí),動(dòng)態(tài)測(cè)試技術(shù)能夠?qū)浖O(shè)置情況進(jìn)行分析,檢測(cè)軟件存在的缺陷,對(duì)于嵌入式計(jì)算機(jī)的優(yōu)化有較大促進(jìn)作用。
4.1.2靜態(tài)測(cè)試
靜態(tài)測(cè)試技術(shù)能夠進(jìn)行自動(dòng)檢測(cè),捕捉錯(cuò)誤信息,且編譯標(biāo)準(zhǔn)比較嚴(yán)格,具有嚴(yán)密的邏輯性,可以避免人工檢測(cè)中出現(xiàn)的弊端。在靜態(tài)測(cè)試技術(shù)展開(kāi)軟件測(cè)試時(shí),可以實(shí)現(xiàn)數(shù)據(jù)分析,并且對(duì)數(shù)據(jù)分析的最終結(jié)果進(jìn)行總結(jié),從而自動(dòng)對(duì)源代碼進(jìn)行追蹤,然后將源代碼作為依據(jù)繪制程序邏輯圖和系統(tǒng)程序結(jié)構(gòu)。靜態(tài)測(cè)試技術(shù)的正確率明顯比人工檢測(cè)更高,原因在于此技術(shù)可以進(jìn)行圖形轉(zhuǎn)換。同時(shí),在運(yùn)用靜態(tài)測(cè)試技術(shù)時(shí),需要將數(shù)據(jù)作為基礎(chǔ),而不需要檢測(cè)機(jī)器,極大縮短了檢測(cè)時(shí)間,進(jìn)而充分滿足軟件測(cè)試中存在的不同需求。
4.2仿真機(jī)測(cè)試
4.2.1數(shù)據(jù)獲取
嵌入式軟件測(cè)試需要使用數(shù)據(jù)與源代碼,仿真機(jī)測(cè)試與之相同。源代碼產(chǎn)生于軟件設(shè)計(jì)中,比較容易獲取。但是,數(shù)據(jù)獲取的難度較大——可以運(yùn)用物理通道取數(shù)、開(kāi)發(fā)工具虛擬I/O指數(shù)等方式進(jìn)行獲取。物理通道取數(shù)主要指目標(biāo)機(jī)與主機(jī)之間物理通信方式,其中包括USB、并口、串口等,根據(jù)物理通道取數(shù)形式,可以使數(shù)據(jù)通信軟件主機(jī)之間展開(kāi)直接通信,并且將此作為基礎(chǔ),上載測(cè)試數(shù)據(jù)。開(kāi)發(fā)工具虛擬指數(shù)是高級(jí)開(kāi)發(fā)工具,可以使開(kāi)發(fā)工作得以順利展開(kāi),其中包括TORNADO、TICCS等。在目標(biāo)系統(tǒng)未形成以上兩種獲取措施的情況下,可以運(yùn)用讀取內(nèi)存數(shù)據(jù)方式,加強(qiáng)對(duì)內(nèi)存取數(shù)的了解。
當(dāng)緩存充足時(shí),根據(jù)修改測(cè)試方面的工具庫(kù),可以將已經(jīng)輸出的數(shù)據(jù)寫(xiě)入緩存中。在進(jìn)行測(cè)試或者測(cè)試結(jié)束時(shí),可以將緩存記錄讀取出來(lái)。并且將此作為基礎(chǔ),利用主機(jī)基于文件形式進(jìn)行存儲(chǔ)。這種方式主要運(yùn)用于測(cè)試前,需確保緩存大小。合理運(yùn)用仿真測(cè)試技術(shù),可以充分保證數(shù)據(jù)信息的完整性,實(shí)現(xiàn)對(duì)數(shù)據(jù)信息的有效保存。然后通過(guò)測(cè)試工具進(jìn)行改造,為輸入數(shù)據(jù)信息創(chuàng)造良好條件,確保輸入信息的正確性。此外,在正式進(jìn)行測(cè)試前,仿真檢測(cè)技術(shù)需要具備充足的換粗容量。
4.2.2仿真測(cè)試
嵌入式計(jì)算機(jī)對(duì)應(yīng)的軟件仿真為數(shù)據(jù)處理系統(tǒng)。以降低局域網(wǎng)絡(luò)作為背景,在展開(kāi)仿真測(cè)試時(shí),需先集中數(shù)據(jù),然后展開(kāi)數(shù)據(jù)管理、數(shù)據(jù)處理等工作。當(dāng)前,可以將仿真測(cè)試技術(shù)劃分為仿真測(cè)評(píng)控制與仿真技術(shù)兩種。仿真測(cè)試技術(shù)的特點(diǎn)比較鮮明——針對(duì)數(shù)據(jù)進(jìn)行仿真模擬,需利用特定技術(shù)才能實(shí)現(xiàn)。運(yùn)用仿真測(cè)試技術(shù)時(shí),可以根據(jù)對(duì)象的差異性展開(kāi)數(shù)據(jù)仿真工作,而不同對(duì)象在性質(zhì)上會(huì)存在差異,因此數(shù)據(jù)仿真能夠被劃分成多種不同類型,這可以保證測(cè)試時(shí)獲得可靠、真實(shí)的結(jié)果。
4.3測(cè)試目標(biāo)機(jī)技術(shù)
4.3.1分析
內(nèi)存內(nèi)存配置發(fā)生錯(cuò)誤是軟件出現(xiàn)高頻故障的主要原因。內(nèi)存分配如果出現(xiàn)錯(cuò)誤,便會(huì)終止下一次分布,難以充分保證數(shù)據(jù)信息的實(shí)效性。要想有效解決上述問(wèn)題,就需重視內(nèi)存分配技術(shù)的運(yùn)用——通過(guò)內(nèi)存分配技術(shù)針對(duì)內(nèi)存分配進(jìn)行合理檢驗(yàn)。嵌入式計(jì)算機(jī)的內(nèi)存往往較小,這就為快速檢測(cè)時(shí)內(nèi)存分配是否存在不合理現(xiàn)象創(chuàng)造了良好條件。同時(shí),內(nèi)存分析技術(shù)可以針對(duì)性地降低軟件發(fā)生故障的頻率。一般來(lái)講,內(nèi)存分析分為硬件分析與軟件分析兩種。在進(jìn)行內(nèi)存檢測(cè)時(shí),硬件分析比較常見(jiàn),但是利用這種方式的成本較高,并且耗時(shí)長(zhǎng),在環(huán)境因素影響下,可能難以充分發(fā)揮作用,甚至可能會(huì)出現(xiàn)運(yùn)行受阻或者是代碼錯(cuò)誤等問(wèn)題。在展開(kāi)內(nèi)存分析時(shí),選擇合理的方法十分重要。
4.3.2分析性能
嵌入式計(jì)算機(jī)在進(jìn)行軟件測(cè)試時(shí),性能分析為其中的關(guān)鍵技術(shù)。性能的優(yōu)異性是保證計(jì)算機(jī)正常運(yùn)行的重要條件,軟件使用者可以直接感知到,進(jìn)而對(duì)好壞作出淺層判斷。想要對(duì)計(jì)算機(jī)軟件系統(tǒng)性能進(jìn)行深層次分析,需重視性能分析技術(shù)。通過(guò)運(yùn)用性能分析技術(shù),可以為軟件測(cè)試的有效實(shí)施創(chuàng)造良好條件,也能使后期維護(hù)獲得充分支持,這主要是因?yàn)樵摷夹g(shù)可具體分析軟件方面的時(shí)間消耗、資源消耗及時(shí)將問(wèn)題發(fā)現(xiàn),并及時(shí)解決相關(guān)問(wèn)題,借此提升系統(tǒng)性能。在測(cè)試程序時(shí),可以率先對(duì)軟件代碼進(jìn)行分析——了解應(yīng)用代碼,認(rèn)識(shí)到計(jì)算機(jī)接口的運(yùn)行效率。在分析結(jié)束以后,在執(zhí)行代碼中融入嵌入式軟件,進(jìn)而展開(kāi)綜合性測(cè)試。
4.3.3故障注入
嵌入式計(jì)算機(jī)進(jìn)行軟件測(cè)試建立在目標(biāo)機(jī)和宿主機(jī)基礎(chǔ)上,需二者共同發(fā)揮作用。在此過(guò)程中,宿主機(jī)會(huì)發(fā)出測(cè)試數(shù)據(jù)信息,而目標(biāo)機(jī)需接收數(shù)據(jù)信息。為保證測(cè)試的精準(zhǔn)性,需借助于人工設(shè)置方式,使軟件根據(jù)設(shè)置方式、設(shè)置時(shí)間運(yùn)行。故障注入技術(shù)能將嵌入式計(jì)算機(jī)中的軟件在運(yùn)行時(shí)產(chǎn)生的功能故障注入目標(biāo)機(jī),這對(duì)目標(biāo)機(jī)的性能以及部件質(zhì)量要求較高。運(yùn)用故障注入這一方式,能夠針對(duì)目標(biāo)機(jī)的某種性能進(jìn)行有效測(cè)試,也能對(duì)故障信息進(jìn)行分析,將計(jì)算機(jī)內(nèi)部實(shí)際運(yùn)行狀態(tài)展示出來(lái)。
5結(jié)束語(yǔ)
當(dāng)前,嵌入式計(jì)算機(jī)和人們生活之間的聯(lián)系越發(fā)緊密,廣泛運(yùn)用于各個(gè)行業(yè)。對(duì)于飛行控制器、電器來(lái)講,運(yùn)用嵌入式計(jì)算機(jī)可以使其在功能上變得更加完善。在社會(huì)迅速發(fā)展背景下,嵌入式技術(shù)變得更加復(fù)雜,且使用要求更高。因此,應(yīng)注重對(duì)嵌入式計(jì)算機(jī)軟件進(jìn)行測(cè)試,促進(jìn)其不斷進(jìn)步。
作者簡(jiǎn)介:
賀穎(1982—),本科,講師,研究方向:計(jì)算機(jī)應(yīng)用。
劉亭利(1980—),本科,副研究員,研究方向:計(jì)算機(jī)圖形圖像等。
計(jì)算機(jī)應(yīng)用文摘·觸控2022年2期