嵌入式軟體的基本測試方法
摘要:嵌入式軟體的基本測試方法
隨著製造行業的再一次崛起,嵌入式軟體目前在軟體行業中越來越多,2023年軟體行業最火爆的三個專案是:嵌入式開發,軟體培訓以及軟體外包。由於嵌入式軟體與其他產品息息相關,這給嵌入式軟體的測試工作帶來了極大的困難,軟體的測試工作不能夠等程式燒到或者固化到晶元中才開始進行測試,這就太晚了,本文結合自己的一些經驗提出自己的看法,希望大家一起討論。
搞好開發前的原型設計
原型開發目前在開放流程中受到了更多的重視,同樣嵌入式軟體也是非常需要的。比如說乙個錄音機版面的設計,可以定義好版面上面的按鍵以及每個按鍵的功能。然後畫出狀態轉化圖,寫清楚每個按鍵何時可以觸發,觸發後由哪個狀態轉入別的其他狀態。原型設計好了,組織專家,工程師進行評審,盡可能多的找出原型中不合理需要改進的地方;改進以後,有必要可以進行再一次的評審工作。每一次評審工作需要記錄評審建議是否需要解決?如何解決以及實際解決情況。
進行設計和開發工作
設計和開發工作需要設立里程碑。每個里程碑結束前都需要進行評審工作。由於嵌入式軟體的執行環境不同,受到很大的限制,所以在進行開發之前需要進行程式設計規範工作,編碼的時候需要嚴格按照編碼要求進行工作,每乙個條款都需要認真執行和審查。現在業界提供許多關於嵌入式軟體開發的標準,大家可以通過**搜尋,最好能夠購買業界一些比較著名的標準。目前市場上也提供許多關於**檢驗的工具。為什麼一直提出**編碼規範?這是因為嵌入式軟體的質量與**規範是十分重要的。舉個例子,著名的阿里亞火箭失事,專家進行詳細的調查工作,最後發現問題出在**上。**是符合標準c語言的,但是在執行過程中由於程式設計師將乙個長整形變數賦給了乙個短整形變數,造成記憶體溢位,這是導致火箭失事的關鍵所在。
(int8 a;
int32 b;
…a=b;
)**測試
當程式開發完畢,需要進行測試工作,但是在程式燒入或固化晶元之前如何進行測試呢?這裡介紹一種方法:比如程式時使用c語言進行開發的,請將所有的操作都封入在函式中,函式的定義都在相應的標頭檔案中定義(.h),然後設計測試用例,書寫測試**,測試**包含相應標頭檔案,可以對函式進行檢測。測試案例往往分為兩類:一種是功能測試,主要測試函式的功能;另外一種是錯誤引數測試,主要檢查程式對進行錯誤引數進行檢驗。
功能測試
錯誤測試
主要測試函式在呼叫引數無效的時候,系統是否會按照規定返回正確的錯誤**。比如
function test(int tid)
測試的時候給出乙個錯誤的序列號(tid),看程式是否返回正確的錯誤**。
對於函式function test1(int t)需要進行特出的處理
t 定義為1-100
我們可以按照邊界值法和等價分類法進行測試
上邊界:-1,0,1
下邊界:99,100,101
中邊界:50
所以測試用例集合為(-1,0,1,50,99,100,101),其中-1,101為錯誤測試用例,其他為正確測試用例
功能組合測試
燒入固化測試
當以上測試都通過後可以將程式燒入晶元或者固化,進行最後在實際環境中進行測試工作。
嵌入式軟體的基本測試方法
嵌入式軟體的基本測試方法 摘要 嵌入式軟體的基本測試方法 隨著製造行業的再一次崛起,嵌入式軟體目前在軟體行業中越來越多,2004年軟體行業最火爆的三個專案是 嵌入式開發,軟體培訓以及軟體外包。由於嵌入式軟體與其他產品息息相關,這給嵌入式軟體的測試工作帶來了極大的困難,軟體的測試工作不能夠等程式燒到或...
嵌入式軟體測試
嵌入式軟體測試 嵌入式軟體測試 嵌入式測試或叫交叉測試 cross test 的日的與非嵌入式軟體是相同的。但是,在嵌入式系統設計中,軟體正越來越多地取代硬體,以降低系統的成本,獲得更大的靈活性,這就需要使用更好的測試方法和工具進行嵌入式和實時軟體的測試。通常嵌入式系統對可靠性的要求比較高。嵌入式系...
嵌入式軟體測試
如何在目標板上實時測試應用程式 為什麼嵌入式系統測試困難?在目標板上測試面臨的系列問題 2 如何累積可重複自動執行的測試 3 如何盡可能減少人工工作 4 如何減少記憶體不夠的問題 這些都是經常碰到但難以解決的問題。隨著專案 越來越大,開發人員數量和 數量都變多,完全懂得目標硬體和軟體工作原理的可能僅...