趙秀梅
(長治學(xué)院,山西 長治 046000)
嵌入式軟件測試技術(shù)作為一項(xiàng)傳統(tǒng)的信息技術(shù),其在運(yùn)行早期采取手工操作方式,這種操作方式費(fèi)時(shí)費(fèi)力,且極易受到人為因素的影響而出現(xiàn)較大偏差。隨著科學(xué)技術(shù)的發(fā)展,自動(dòng)化技術(shù)的引入,在一定程度上優(yōu)化了嵌入式軟件測試效能,能夠降低人力成本,提高經(jīng)濟(jì)效益和檢測質(zhì)量。就目前情況來看,嵌入式軟件自動(dòng)化測試技術(shù)存在較大的發(fā)展空間,下面將對(duì)其測試應(yīng)用進(jìn)行相應(yīng)分析。
簡單來說,嵌入式技術(shù)是一種專用于計(jì)算機(jī)系統(tǒng)的監(jiān)控、監(jiān)視、輔助機(jī)器和設(shè)備的技術(shù)性裝置。通常情況下,可以把嵌入式系統(tǒng)當(dāng)作一種嵌入式處理器控制板,通過這個(gè)嵌入式處理器控制板可以在最大程度上實(shí)現(xiàn)程序內(nèi)存的微量化,將其存儲(chǔ)在ROM中。嵌入式計(jì)算機(jī)是指依托計(jì)算機(jī)技術(shù),以應(yīng)用為核心內(nèi)容,并適用于應(yīng)用系統(tǒng),對(duì)功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng),在一定程度上可以實(shí)現(xiàn)軟硬件剪裁的計(jì)算機(jī)處理系統(tǒng)。嵌入式計(jì)算機(jī)一般由4個(gè)部分組成:嵌入式微處理器、外圍硬件設(shè)備、嵌入式操作系統(tǒng)以及用戶的應(yīng)用程序。
軟件作為計(jì)算機(jī)的重要組成部分,其在計(jì)算機(jī)系統(tǒng)操作中發(fā)揮著極為重要的作用。與普通軟件相比,嵌入式計(jì)算機(jī)軟件最大的特點(diǎn)便是“正式化”、“復(fù)雜化”。在實(shí)現(xiàn)嵌入式計(jì)算機(jī)的過程中,為了更好地發(fā)揮嵌入式計(jì)算機(jī)的優(yōu)勢,不可避免地會(huì)用到相應(yīng)的大量軟件。這種促進(jìn)嵌入式計(jì)算機(jī)應(yīng)用的軟件就是嵌入式計(jì)算機(jī)軟件。嵌入式計(jì)算機(jī)軟件由多個(gè)部分構(gòu)成,其中使用較多、發(fā)揮作用較大的模塊有5個(gè),即:微觀傳感器、儲(chǔ)存器、處理器、定時(shí)器及控制器等,這5個(gè)模塊相互影響、相互作用,共同組成復(fù)雜的嵌入式計(jì)算機(jī)軟件,從而在最大程度上實(shí)現(xiàn)了以計(jì)算機(jī)為代表的電子設(shè)備的自動(dòng)化。嵌入式系統(tǒng)的系統(tǒng)測試和可靠性評(píng)估見表1。
表1 嵌入式系統(tǒng)的系統(tǒng)測試和可靠性評(píng)估表
基于嵌入式計(jì)算機(jī)軟件測試技術(shù)主要涉及對(duì)宿主機(jī)、仿真機(jī)、目標(biāo)機(jī)的測試。嵌入式計(jì)算機(jī)軟件測試流程如圖1所示。
圖1 嵌入式計(jì)算機(jī)軟件測試流程圖
對(duì)于宿主機(jī)的測試一般有3種類型,即:人工測試、靜態(tài)測試以及動(dòng)態(tài)測試。
1)人工測試。人工測試是指技術(shù)人員對(duì)宿主機(jī)的所有零部件進(jìn)行一一排查,但是,隨著科學(xué)技術(shù)的不斷進(jìn)步,計(jì)算機(jī)設(shè)備結(jié)構(gòu)朝著復(fù)雜化趨勢不斷發(fā)展,這種人工測試的方式由于耗時(shí)、耗力,且測試的精確度較低等缺陷,已經(jīng)被其他更為精準(zhǔn)便捷的測試方式取代。
2)靜態(tài)測試。靜態(tài)測試是通過對(duì)計(jì)算機(jī)軟件的構(gòu)成邏輯和功能進(jìn)行分析,在計(jì)算機(jī)軟件運(yùn)行過程中需要遵循一定的規(guī)律,當(dāng)計(jì)算機(jī)軟件的某一部分出現(xiàn)偏差時(shí)這種邏輯和功能便會(huì)出現(xiàn)相應(yīng)的偏差。從本質(zhì)上來說,這種靜態(tài)測試是依托軟件測試系統(tǒng)而進(jìn)行的,因而具有檢測速度較快、檢測內(nèi)容全面、檢測精準(zhǔn)度較高等優(yōu)點(diǎn)。
3)動(dòng)態(tài)測試。動(dòng)態(tài)測試是指通過對(duì)嵌入式計(jì)算機(jī)軟件的代碼進(jìn)行測試。代碼作為人類可讀的計(jì)算機(jī)語言指令,其是通過離散形式將字符、符號(hào)等排列的規(guī)則體系,具有極強(qiáng)的確定性、穩(wěn)定性、標(biāo)準(zhǔn)性,因而通過對(duì)計(jì)算機(jī)軟件代碼的分析檢測可以準(zhǔn)確有效地對(duì)計(jì)算機(jī)軟件進(jìn)行錯(cuò)誤排查,從而提高計(jì)算機(jī)運(yùn)行的準(zhǔn)確度。除此之外,這種動(dòng)態(tài)測試還具有其他檢測方式所不具有的檢測功能,也就是對(duì)系統(tǒng)內(nèi)存儲(chǔ)存情況進(jìn)行測試,因而,在嵌入式計(jì)算機(jī)軟件測試中,動(dòng)態(tài)測試是使用最多的一種檢測方式。
對(duì)仿真機(jī)進(jìn)行測試主要有兩方面的內(nèi)容:獲取仿真測試數(shù)據(jù)和仿真測試技術(shù)兩方面。
1)獲取測試數(shù)據(jù)。在對(duì)仿真進(jìn)行測試的過程中,相較于仿真測試技術(shù)而言,獲取測試數(shù)據(jù)的困難程度較高。這主要是由于大量且復(fù)雜的源代碼而導(dǎo)致,軟件作為計(jì)算機(jī)的重要組成部分,其由大量的代碼排列組合而成,因而從本質(zhì)上來說對(duì)于計(jì)算機(jī)軟件的測試就是對(duì)于軟件源代碼等大量數(shù)據(jù)的檢測,在這個(gè)過程中對(duì)于數(shù)據(jù)的準(zhǔn)確度提出了較高的要求,但是就目前的技術(shù)而言,這一要求很難實(shí)現(xiàn)。仿真監(jiān)測技術(shù)的出現(xiàn)在很大程度上突破了這一局限性,使得數(shù)量龐大、排列復(fù)雜的數(shù)據(jù)能夠相對(duì)完整的保留下來,并且能夠在保留的基礎(chǔ)上進(jìn)行相應(yīng)地修改。
2)仿真測試技術(shù)。簡單來說,仿真測試技術(shù)就是借助一定的科學(xué)技術(shù)對(duì)大數(shù)據(jù)進(jìn)行相應(yīng)地仿真和模擬,這種對(duì)數(shù)據(jù)的仿真和模擬在很大程度上實(shí)現(xiàn)了對(duì)龐大數(shù)據(jù)的管理集中化。與此同時(shí),這種仿真測試技術(shù)還在一定程度上使得原有的固化的靜態(tài)數(shù)據(jù)成為動(dòng)態(tài)的發(fā)展過程,從而使檢測者能夠清晰直觀地看到數(shù)據(jù)變化處理的過程,這對(duì)于計(jì)算機(jī)軟件的測試是極為有利的。
目標(biāo)機(jī)的測試作為嵌入式計(jì)算機(jī)軟件測試的最后一個(gè)環(huán)節(jié),其測試的核心內(nèi)容便是驗(yàn)證與分析,主要涉及故障注入、內(nèi)存分析、性能分析3個(gè)方面。
1)故障注入。故障注入從本質(zhì)上來說屬于“校驗(yàn)”環(huán)節(jié)。通常情況下,故障注入適用于計(jì)算機(jī)軟件中某一模塊的檢測,而不能應(yīng)用于計(jì)算機(jī)整體,對(duì)目標(biāo)機(jī)進(jìn)行故障注入能夠有效地檢測目標(biāo)機(jī)的運(yùn)行是否正常。簡單來說,故障注入就是在嵌入式計(jì)算機(jī)軟件測試過程中根據(jù)計(jì)算機(jī)原有所具備的功能,如時(shí)間、運(yùn)行方式、排列方式等多個(gè)方面的內(nèi)容進(jìn)行一定的“人為設(shè)定”,從而達(dá)到檢測目標(biāo)機(jī)、排除故障的效果。
2)內(nèi)存分析。內(nèi)存分析作為嵌入式計(jì)算機(jī)軟件測試的重要組成部分,其對(duì)于嵌入式計(jì)算機(jī)軟件的正常運(yùn)行具有極為重要的影響作用。在計(jì)算機(jī)軟件運(yùn)行過程中會(huì)產(chǎn)生大量的數(shù)據(jù),而這些龐大的數(shù)據(jù)會(huì)在一定程度上占用計(jì)算機(jī)內(nèi)部空間,過多的占用空間將會(huì)在很大程度上影響計(jì)算機(jī)的正常運(yùn)行,因而,對(duì)于計(jì)算機(jī)系統(tǒng)內(nèi)部數(shù)據(jù)分析并在分析的基礎(chǔ)上進(jìn)行相應(yīng)的管理和規(guī)劃,對(duì)于保障嵌入式計(jì)算機(jī)軟件的正常高速運(yùn)行是極為重要的。
3)性能分析。性能作為計(jì)算機(jī)的重要組成部分,其在當(dāng)代社會(huì)受到越來越多人的重視,在計(jì)算機(jī)運(yùn)行過程中提升計(jì)算機(jī)軟件程序運(yùn)行性能成為當(dāng)代社會(huì)亟待解決的問題。為了更好地提升計(jì)算機(jī)性能,在一定程度上需要應(yīng)用到各種技術(shù),其中使用最多、效果最為明顯的技術(shù)便是軟件性能分析技術(shù),通過對(duì)這一技術(shù)的使用,可以在一定程度上對(duì)計(jì)算機(jī)運(yùn)行過程中產(chǎn)生的大量數(shù)據(jù)進(jìn)行分析和決斷,從而優(yōu)化計(jì)算機(jī)軟件運(yùn)行排列,繼而在一定程度上節(jié)省計(jì)算機(jī)系統(tǒng)的運(yùn)行時(shí)間,提高計(jì)算機(jī)運(yùn)行速度。
嵌入式系統(tǒng)已經(jīng)廣泛應(yīng)用于社會(huì)生活的各個(gè)領(lǐng)域,并產(chǎn)生了極大的反響。與此同時(shí),隨著時(shí)代的進(jìn)步、社會(huì)的發(fā)展,計(jì)算機(jī)軟件規(guī)模也在不斷擴(kuò)大,其復(fù)雜性也在不斷提升,各個(gè)領(lǐng)域都對(duì)嵌入式計(jì)算機(jī)提出了更高的要求?;谝陨锨闆r,在嵌入式計(jì)算機(jī)領(lǐng)域需要軟件研究開發(fā)人員積極創(chuàng)新,不斷提升嵌入式計(jì)算機(jī)軟件測試關(guān)鍵技術(shù),為以后的軟件測試工作提供一定的借鑒價(jià)值。