- 相關(guān)推薦
基于模塊化設(shè)計的嵌入式軟件測試方法
摘要:分析嵌入式軟件的特點,綜述傳統(tǒng)的軟件測試方法;針對嵌入式軟件的特點,提出嵌入式軟件的四級測試流程和集成測試的測試模型,并結(jié)合開發(fā)數(shù)控系統(tǒng)的實例進行分析。關(guān)鍵詞:模塊化設(shè)計 嵌入式軟件 軟件測試 測試方法 測試模型 數(shù)控系統(tǒng)
嵌入式設(shè)計已經(jīng)成為工業(yè)現(xiàn)代化、智能化的必經(jīng)之路,嵌入式產(chǎn)品已經(jīng)深入到各行各業(yè)。嵌入式系統(tǒng)的專用程度較高,系統(tǒng)的整體繼承性相對較小,為了保證系統(tǒng)的穩(wěn)定性,軟件的測試成為嵌入式開發(fā)的一個重要環(huán)節(jié)。由于嵌入式軟件自身的特點,傳統(tǒng)的軟件測試理論不能直接用于嵌入式軟件的測試,因此,研究嵌入式軟件的測試有重要意義。
1 基本概念簡述
1.1 模塊化設(shè)計
軟件的設(shè)計是以一定的方法為基礎(chǔ)的。面對越來越復(fù)雜的軟件開發(fā)任務(wù),人們提出了各種軟件設(shè)計的模型。從用戶需求和系統(tǒng)要實現(xiàn)的任務(wù)功能出發(fā),把大型的軟件劃分為相對較小的模塊。為了減少模塊與模塊之間的關(guān)聯(lián)性,模塊之間的邏輯結(jié)構(gòu)相對獨立,無函數(shù)的交叉調(diào)用,數(shù)據(jù)傳遞由全局變量完成,這就是模塊化設(shè)計的基本思想。模塊化設(shè)計的核心是模塊的獨立性,主要包括功能獨立性和結(jié)構(gòu)獨立性,這使得軟件開發(fā)的分工易于實現(xiàn)。軟件測試是軟件開發(fā)中的關(guān)鍵環(huán)節(jié),基于模塊化設(shè)計的軟件測試模型簡單,查錯和糾錯都易于實現(xiàn)。下面以單鏈路數(shù)據(jù)傳遞的軟件模型說明模塊化軟件設(shè)計的軟件測試的基本原則。
在圖1中,函數(shù)F(X-Y)定義為軟件模塊X到軟件模塊Y的接口函數(shù),用來通過終端顯示由模塊X進入模塊Y的數(shù)據(jù)。如果模塊C執(zhí)行后發(fā)生錯誤,則由模塊B和模塊C的數(shù)據(jù)接口函數(shù)F(B-C)判斷是否是模塊B出來的數(shù)據(jù)就是錯誤的。如果F(B-C)不錯,則證明模塊C存在錯誤;如果F(B-C)傳遞數(shù)據(jù)錯誤,再察看F(A-B)傳出的數(shù)據(jù)是否錯誤,如果不錯則證明模塊B存在錯誤。用此依次前推孤立錯誤的方法,即可以很容易地定位錯誤所在的模塊。這就是模塊化設(shè)計時軟件測試的基本原則。
1.2 嵌入式系統(tǒng)
嵌入式系統(tǒng)開發(fā)有其自身的特點。一般先進行硬件部分的開發(fā),主要包括形成裸機平臺,根據(jù)需要移植實時操作系統(tǒng),開發(fā)底層的硬件驅(qū)動程序等。硬件平臺測試通過后,應(yīng)該軟件的開發(fā)調(diào)試是基于該硬件平臺進行的,這同時也是對硬件平臺的一個測試。整個嵌入式系統(tǒng)開發(fā)流程如圖2所示。因此可以說,嵌入式系統(tǒng)的開發(fā)過程是一個軟硬件互相協(xié)調(diào),互相反饋和互相測試的過程。一般來說,在嵌入式系統(tǒng)軟件中,底層驅(qū)動程序、操作系統(tǒng)和應(yīng)用程序的界線是不清晰的,根據(jù)需要甚至混編在一起。這主要是由于嵌入式系統(tǒng)中軟件對硬件的依賴性造成的。嵌入式軟件對硬件的依賴性要求,軟件測試時必須最大限度地模擬被測軟件的實際運行環(huán)境,以保證測試的可靠性。底層程序和應(yīng)用程序界限的不清晰增加了測試時的難度,測試時只有確認嵌入式系統(tǒng)平臺及底層程序正確的情況下才能進行應(yīng)用程序的測試,而且在系統(tǒng)測試時,錯誤的定位較為困難。軟件的專用性也是嵌入式軟件的一個重要特點。由于嵌入式軟件設(shè)計是以一定的目標硬件平臺為基礎(chǔ)的、面向固定的任務(wù)進行的,因此,一旦被加載到目標系統(tǒng)上,功能必須完全確定。這個特點決定了嵌入式應(yīng)用軟件的繼承性較差,延長的系統(tǒng)的測試時間,增加了測試費用。嵌入式軟件的另外一個重要特點就是實時性。這是從軟件的執(zhí)行角度出發(fā)說明的,也就是說嵌入式軟件的執(zhí)行要滿足一定的時間約束。嵌入式系統(tǒng)中,應(yīng)用軟件自身算法的復(fù)雜度和操作系統(tǒng)任務(wù)調(diào)度,決定了系統(tǒng)資源的分配和消耗,因此,對系統(tǒng)實時
[1] [2] [3] [4]
【基于模塊化設(shè)計的嵌入式軟件測試方法】相關(guān)文章:
基于并行工程的航空嵌入式軟件測試過程研究04-28
基于SFTA和等價類的軟件測試用例設(shè)計方法研究與應(yīng)用04-30
基于宏定義動態(tài)鏈接的模塊化星載軟件升級方法研究05-02
軟件測試的控制論方法05-01
基于柔性測試技術(shù)的系統(tǒng)設(shè)計04-27
基于FPGA的DDS設(shè)計方法05-02
彈載軟件系統(tǒng)測試方法研究05-01