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