劉琴 李艷艷
摘要:目前DSP嵌入式軟件已經得到了廣泛應用,但由于在應用過程中還會存在不穩定因素,所以加強軟件測試工作至關重要。本文將重點研究基于DSP的嵌入式軟件測試方法,從單元測試的靜態測試、動態測試角度,提高軟件測試的效率,以便進一步提升軟件開發的水平。
關鍵詞:DSP嵌入式軟件;軟件單元測試;測試方法
中圖分類號:TP311.53?? 文獻標識碼:A?? 文章編號:1672-9129(2020)04-0035-01
Abstract:At present, DSP embedded software has been widely used, but there will be unstable factors in the application process, so it is very important to strengthen the software testing. This paper will focus on the embedded software testing method based on DSP, and improve the efficiency of software testing from the perspective of static and dynamic testing of unit testing, so as to further improve the level of software development.
Key words:DSP embedded software;Software unit testing;The test method
引言:在計算機技術迅猛發展的今天,軟件系統變得越來越復雜,給確認軟件質量又帶來了一定的難度。就當前的情況來看,軟件測試必須尋求更高效的途徑,以便滿足計算機飛速發展的要求,進一步保證系統軟件的可靠性。因此加大軟件測試力度,不斷尋求新的測試方法,可以為系統開發提供有力支撐。
1 測試理論分析
首先嵌入式軟件的測試,使用傳統的編碼硬件是很難完成測試任務的,無法對軟硬件進行準確定位。通過編碼的方法無法完成對可知性和軟件強壯性的測試。由于軟件測試容易受到多種因素的影響,測試系統具有很強的復雜性,通過交叉測試平臺很難進行測試并且有效上傳和下載結果。從宏觀的角度出發,測試嵌入式軟件涉及到的工作內容很多,工作量巨大,對嵌入式軟件的相關測試需要投入大量的時間,測試成本較多。在實際的軟件測試工作中,需要結合軟件自身因素進一步分析,考量與軟件性能相關的因素,同時要嚴格遵循時間要求,選擇恰當的方法,提高軟件測試的效率和質量,保證測試工作的順利進行。
2 測試DSP嵌入式軟件的方法
本文主要從軟件單元測試角度來探討嵌入式軟件的測試方法。軟件單元測試,要求對測試程序實現全數據流和控制流的系統分析,最終得出變量類型、單元接口和輸入變量等信息[2]。通過直觀命令界面可以創建自動化的測試程序,自主完成黑白盒的測試任務,并且通過計算程序對覆蓋率進行精準的計算。利用變更代碼完成自動偵測,并且將自動偵測的數據進行有效的儲存,為后期的軟件測試和維護提供有力依據。針對嵌入式軟件的開發工作,必須要進行多次反復的測試,才可以保證軟件的性能可以滿足使用的要求,及時維護和升級軟件。在實際的軟件測試工作中,需要調用測試工作的子程序,對軟件單元進行有效測試。子程序TBrun可以充分利用代碼評審和評審結果,促使單元產生驅動,確保測試結果的準確性。將數據模塊和測試結果進行比對,可以進一步滿足軟件結構上的要求,提高軟件的性能,達到軟件測試的目的。在進行軟件單元測試之前,首先要進行環境配置,可以采用與動態軟件測試相同的方法實現環境配置。函數單元通常要進行隔離測試,但同時要注意保證單元測試的獨立性,完成系列的創建工作,數列創建要包含全部文件,以便保證測試數據的完整性。除此之外,還需要完成函數統計工作,在統計完相關函數后才可以展開下一步的測試工作。以下分別從軟件靜態測試和動態測試角度來介紹:
2.1軟件靜態測試。靜態測試主要是利用測試工具對軟件展開進一步的靜態分析,主要是對源代碼的分析。源代碼可以由全部文件或者是單個文件組成,在嵌入式系統中需要對多個文件進行分析,構建不同屬性的集合體系。在軟件測試階段,可以找到不同文件的共通性,把它們看成是一個整體,但實際上每個文件都是獨立的,最后得出準確的系統分析報告。在“ldra testbed”的測試模塊中,既包括了編碼規則驗證又囊括了質量評估和找出潛在錯誤等內容,利用編碼規則集進行源代碼的檢測工作,通過最終的檢測結果判斷,軟件是否符合國際標準。根據自身的實際需求,軟件的使用者也可以完成規則集的制定,針對質量評估,可以采用先進的測試工具對代碼的復雜度和扇出度以及循環深度等數據進行收集和整理,確保軟件達到測試的要求,符合相關的質量標準[1]。
2.2軟件動態測試。軟件的動態測試主要是依靠測試軟件來對運行情況進行詳細的記錄,并且自動生成測試覆蓋率的相關報告。在對軟件進行動態分析時,對語句覆蓋和判斷覆蓋率等覆蓋標準都要進行分析,通過軟件的動態檢測,確定執行語句的數量和可執行行數,并且完成確認已經執行的行數任務。基于“LCSAJ”的覆蓋測試,可以明確軟件可以執行的具體數量,針對覆蓋率的判斷,首先要明確導致判斷變化的原因和單條件數量。在進行軟件動態測試時,要借助TiCode編譯器,測試仿真模擬器,但在實際測試階段,采用的測試工具無法滿足動態測試的要求,所以要采用CCStudio的方式搭建運行環境,完成操作系統的測試。在實際的運行環境中,需要對開發板進行有效的選擇,通過仿真模擬器得到驅動程序,可以實現接近目標機的目的。想要修改編譯連接命令時,一定要結合實際的數據信息進行動態命令的修正,完成配置環境后,要充分考慮測試的具體需求進行用例設置,最后執行動態測試的任務。在軟件的動態測試階段,“ldra testbed”可以提供強有力的支撐,尤其是針對黑白盒的測試,進一步完成檢測代碼功能性的工作,最終確定代碼覆蓋率。
總而言之,隨著模擬產品數字化程度的加深,以DSP為主的嵌入式軟件已經被廣泛應用,為了滿足社會發展的需求,嵌入式軟件的應用性需要進一步的加強。在實際測試工作中,可以通過“ldra testbed”工具來完成輔助測試,通過不同的測試模塊,達到測試軟件的要求,保證軟件開發的質量。
結論:綜上可以看出,針對DSP嵌入式軟件的測試,需要依照軟件測試的具體要求選擇恰當的測試工具,選擇正確的測試軟件是完成測試的關鍵,也是保證靜態、動態和單元測試順利完成的前提條件。并且有效的測試還可以及時發現軟件系統中存在的問題,以便提高軟件開發的效率和質量,縮短開發周期,提高經濟效益。
參考文獻:
[1]張海軍.基于ADS2的嵌入式軟件測試仿真程序設計方法研究[J].科技風,2019(12):72.
[2]李騰飛,石磊.基于節點層網絡關鍵等級的嵌入式軟件集成測試序列生成方法[J].軟件導刊,2018,17(12):52-55+60.