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