袁韜 荀慶來
摘要:隨著我國嵌入式技術不斷發(fā)展進步。嵌入式自動化研究的機械工具設計也已經(jīng)成為當代計算機行業(yè)的重點。本文針對自動化技術和嵌入式軟件測試的交互使用,分析其運行環(huán)境和技術特點,以期為相關企業(yè)提供借鑒參考。
關鍵詞:嵌入式;自動化測試技術;分析
中圖分類號:TP31 文獻識別碼:A 文章編號:1001-828X(2019)012-0372-02
作為一項傳統(tǒng)的信息技術,嵌入式軟件測試在運行早期是采取手工操作方式的,其運行費時費力,測試結果也會受到人為因素影響。自動化技術的引入,優(yōu)化了嵌入式軟件測試效能,能夠降低人力成本,提高經(jīng)濟效益和檢測質(zhì)量。因此嵌入式軟件自動化測試技術有著較好的發(fā)展空間,本文針對其測試應用進行以下分析。
一、嵌入式軟件測試含義
1.軟件測試
軟件測試是一種借助人力來提升軟件的質(zhì)量和準確性的測試方式。目前,該項技術面臨著第三方測試應用環(huán)境不兼容、測試工具落后、測試系統(tǒng)通用性差等特點。
2.嵌入式軟件測試
就嵌入式軟件測試而言,由于“嵌入式”軟件的內(nèi)部內(nèi)存小、建設成本高、具有實時性、低兼容性等特點。因此該軟件檢測的方式和傳統(tǒng)方式存在較大差異。和傳統(tǒng)軟件對比,嵌入式軟件專業(yè)性強。由于其內(nèi)部軟件特征,導致無法在傳統(tǒng)的目標機上完成所有測試。在測試的時候需要耗費大量的人力物力,且測試反復性較強,也會縮短設備使用壽命。其次,嵌入式軟件在運行中若發(fā)生問題,會威脅整個程序系統(tǒng),嚴重時會威脅到人身安全。
3.自動化測試
為了降低軟件測試耗費的人力、物力、時間資源。為軟件開發(fā)提供更多測試機會。自動化測試能夠彌補嵌入式軟件測試需要的高質(zhì)量測試環(huán)境、無遺漏測試效能,有著極高的軟件開發(fā)意義。推行嵌入式自動化測試,能夠改進軟件系統(tǒng)優(yōu)化測試和創(chuàng)新,以讓其符合各項測試需求,能夠降低產(chǎn)品運行風險,提高軟件企業(yè)的經(jīng)濟效益和質(zhì)量。
二、嵌入式自動化測試運行環(huán)境
隨著自動化技術不斷發(fā)展,原有的嵌入式技術在測試環(huán)境和方式上都有著較大改革。就其測試質(zhì)量而言,能夠減緩長周期和人工投入影響,在軟件測試方面發(fā)揮著不可替代的作用。同時,為了保證運行質(zhì)量,其在自動化處理時候也需要依賴穩(wěn)定運行環(huán)境。
就自動化工具運行環(huán)境而言,測試工具能夠優(yōu)化產(chǎn)品能效性。為了發(fā)揮工具作用,就需要測試人員了解其軟件工具的特殊之處。對比傳統(tǒng)軟件測試,嵌入式軟件運行環(huán)境需要特殊硬件設備配置。以傳統(tǒng)的嵌入式單元測試為例,該環(huán)節(jié)在運行測試中會對所有覆蓋區(qū)域的信息進行綜合統(tǒng)計。要想保證運行測試有效性,就需要在機械設備中安裝監(jiān)控程序。通過采取這種方式,能夠優(yōu)化程序有效性分析,實現(xiàn)對目標文件的全面整合。事實上,當完成整個文件分析過程后,就可以實現(xiàn)覆蓋信息全方位統(tǒng)計。而這個環(huán)境下,嵌入式軟件實現(xiàn)了監(jiān)控和運用兩個過程。就其運行發(fā)展而言,這種運行模式通常出現(xiàn)在硬件平臺和宿主機的不同部位,且其在運行環(huán)境之中也會存在很多差異性。也就是這個特點,實現(xiàn)了嵌入式軟件的良I生測試。
三、嵌入式軟件的自動化測試過程研究
要實現(xiàn)嵌入式軟件自動化測試,主要分析以下幾點因素特征。
1.測試驅(qū)動分析
為了提升測試結果的真實性,需要測試人員在測試前進行區(qū)域規(guī)劃,盡量的拓展測試區(qū)域。由于在嵌入式軟件測試過程中,測試人員會采取不同的數(shù)據(jù)和運行方式在實現(xiàn)交互式程序運作。當完成腳本錄制后,所有腳本錄制數(shù)據(jù)都包含了測試全過程數(shù)據(jù)。如果后期會出現(xiàn)程序變化,以上測試數(shù)據(jù)都會影響變化后程序的正常使用。這種分離處理方式實現(xiàn)了測試自動化驅(qū)動。也簡化了原有測試邏輯語言。
2.對于生成數(shù)據(jù)的測試
就嵌入式軟件測試特點而言,運行環(huán)境較為特殊,需要軟件在一個海量數(shù)據(jù)庫中進行測試,而由于傳統(tǒng)的人工測試效率低,質(zhì)量差。因此需要借助自動化測試驅(qū)動。在進行自動化處理后,這些數(shù)據(jù)能夠?qū)崿F(xiàn)多種類型能夠和方式的輸入,生成有效的測試數(shù)據(jù)。且該方式能夠促進和保證嵌入式軟件測試運行質(zhì)量。
四、嵌入式自動化測試
1.自動化測試運行環(huán)境
為了提升嵌入式自動化測試技術,建議從自動化工具運行環(huán)境進行優(yōu)化。首先,讓嵌入式軟件運行解除特殊硬件設備的綁定。分析嵌入式軟件的運行環(huán)境,完善所有程序覆蓋率信息統(tǒng)計,實現(xiàn)對被測目標文件的有效性分析。此時,若分析結束,就可以直接利用覆蓋率信息數(shù)據(jù),實現(xiàn)了嵌入式軟件自動化、監(jiān)控管理運行。
2.自動化測試流程
嵌入式自動化測試能降低測試成本,提高產(chǎn)品運行質(zhì)量,因此該技術具有較好的發(fā)展前景。由于測試階段不同,傳統(tǒng)的嵌入式軟件自動化測試可分為“需求測試”、“設計測試”、“單元測試”、“集成測試”、“確認測試”、“系統(tǒng)測試”幾個方面。
針對單元測試而言,其代表著軟件基本組成單元的運行測試,能夠測試各個單元組成是否符合性能需求和可行性需求,因此單元測試也被稱之為模塊測試。該階段測試的目的是最大限度地檢測程序錯誤。
集成測試也被稱為聯(lián)合測試,其測試的對象是由若干個單元組成融合的子系統(tǒng)。在實現(xiàn)單元測試后,其能夠保證系統(tǒng)的正常運行。而測試中常見問題有接口數(shù)據(jù)丟失、系統(tǒng)數(shù)據(jù)出錯等。
確認測試的目的是檢驗軟件可運行性。因此也常被稱之為“可行性測試”。該階段是檢測軟件性能是否符合客戶需求的重要階段。
系統(tǒng)測試是在基于集成測試和確認測試后,對軟件各個系統(tǒng)接口進行的統(tǒng)一測試,其目的是檢測系統(tǒng)和其他設備之間的兼容性和系統(tǒng)建設目標一致性。
3.嵌入式自動化測試技術
嵌入式軟件測試技術體現(xiàn)在以下三個方面,一是對目標環(huán)境測試。測試人員利用手工測試方式,對真實的終端進行測試,但是此方式并不自動化,且耗時耗力。二是非侵入式自動化測試,其通過交叉測試方式,實現(xiàn)對所有內(nèi)存文件和程序?qū)嵤y試,能夠克服環(huán)境和程序內(nèi)存影響。三是宿主環(huán)境測試,這種方式通過建立模擬數(shù)字化環(huán)境,對軟件進行運行測試,不過這項方式在運行時候會受到外界環(huán)境干擾,且其測試結果并不能真實反應后期運行效果,因此該項測試也僅僅是作為數(shù)據(jù)參考和模擬分析,適合軟件開發(fā)人員使用。
五、對于嵌入式自動化測試運行策略
與傳統(tǒng)的測試方式不同,嵌入式軟件的專業(yè)性較強,且在運行過程中都需要進行大量測試。而最為常見且實用的自動化測試策略如下:
1.使用靜態(tài)測試
靜態(tài)測試即為不通過程序各個接口處理和結構對接方式來檢驗軟件可行性。通過靜態(tài)測試,一般能夠發(fā)現(xiàn)軟件程序參數(shù)匹配、嵌套等問題。借助靜態(tài)測試結果,能夠為測試人員進一步分析案例和明確測試提供依據(jù)。常見的靜態(tài)測試的流程類型主要有代碼檢查、靜態(tài)分析等。通過控制流程圖等方式,能夠為測試人員提供更為直觀的測試信息。
2.數(shù)字仿真測試分析
數(shù)值仿真測試分析是一種實時自動化的測試方式,通過模擬軟件信號傳輸?shù)姆绞絹韺崿F(xiàn)測試,不需要借助其他硬件系統(tǒng)。就其運行效果而言,仿真測試環(huán)境下的嵌入式軟件測試實現(xiàn)了通用性測試推進。在嵌入式測試初期,激勵信號的注入和運行監(jiān)控存在較大問題,而仿真測試能夠虛擬CPU運行環(huán)境,對系統(tǒng)中可運行程序進行代碼檢查和模擬運行、生產(chǎn)報告等功能,有效解決了傳統(tǒng)嵌入式測試運行難題。
3.Host-tnrcjet測試策略
實際上,數(shù)值仿真環(huán)境中也會出現(xiàn)很多問題,例如測試軟件會引起時間問題。傳統(tǒng)的解決方式是建立更多的目標平臺,和以往主機平臺對比,存在著運行目標不緊密等問題。通過host-target測試策略,能夠提升測試效率,提升程序精確度。主要處理流程如下:首先,借助輔助插件實現(xiàn)靜態(tài)測試,并為動態(tài)測試編寫程序代碼;其次,借助程序代碼的運行狀況,在主機平臺上進行功能測試,糾正錯誤代碼;次而,在插件影響下進行覆蓋測試,并加強覆蓋率。最后,重復性測試,以保證軟件運行合理性。
六、結語
綜上所述,對于與傳統(tǒng)嵌入式軟件測試,自動化手段能夠縮短測試時間,降低測試人員操作使用壓力,且能降低測試成本,提高產(chǎn)品運行質(zhì)量,因此該技術具有較好的發(fā)展前景。不過,由于我國專業(yè)研究技術還存在缺陷,嵌入式自動化測試技術運行研究依舊存在很多問題。筆者根據(jù)其運行特點和技術進行了研究分析,并對優(yōu)化軟件測試提出了靜態(tài)測試、host-target測試策略、數(shù)值仿真測試等技術,希望各夠為相關企業(yè)提供參考借鑒。