嵌入式模組化軟體測試方法

shbwf發表於2009-09-10

根據嵌入式系統的開發流程,為了最經濟地實現系統的功能,採用自頂向下、層層推進的軟體測試方法對嵌入式系統進行測試,提出了基於模組化設計的嵌入式軟體測試流程。在四級軟體測試流程中,本測試階段以前的測試完成後,當發現錯誤時,可排隊此軟體測試階段以前的錯誤,在本測試階段內查詢錯誤。這並不是一個絕對準確的方法,但最大限度地節了錯誤定位的時間。

一、系統平臺測試

這部分包括硬體電路測試、作業系統及底層驅動程式的測試等。硬體電路的測試需要用專門的測試工具進行測試。這裡不再多述。作業系統和底層驅動程式的測試主要包括測試作業系統的任務排程、實時效能、通訊埠的資料傳輸率。該階段測試完成後,系統應為一個完整的嵌入式系統平臺,使用者只需新增應用程式即可完成特定的任務。

二、模組測試

把大型的嵌入式軟體系統劃分為若干個相對較小的任務模組,由不同的程式設計師分別同時對其進行編碼。編碼完成後,把各個模組整合起來前,必須對單個模組進行測試。由於沒有其它資料模組進行資料傳遞的支援,該階段測試一段是在宿主機上進行的此階段主要是進行白盒測試,儘可能地測試。每一個函式、每一個條件分支、每一個程式語句,提高程式碼測試的覆蓋率。由於只有單個模組正確才有整體整合的必要性,因此,單個模組測試時測試一定要充分、完整。模組測試階段,測試用例的構造不但要測試系統正常的執行情況,還要進行邊界測試。邊界測試就是進行某一資料變數的最大值和最小值的測試,同時進行越界測試,即輸入不該輸入的資料變數測試系統的執行情況。理想的嵌入式系統是不應該由使用者的資訊互動導致當機的,這也是嵌入式設計的一個基本要求。因此,不論進行何種測試,系統當機都該被作為測試錯誤處理。在模組測試階段,由模組化程式設計的基本思想,根據模組內部的緊湊程式,也可以把大的模組劃分成小的模組。在程式內部,小模組之間資料傳遞的入口設計介面函式,用於快速地定位錯誤。用此模組巢狀的思想進行軟體測試,需要模組內部結構清晰,資料鏈路簡單。

三、整合測試

單個軟體模組測試正確之後,將所有模組整合起來進行測試。本階段主要是找出各模組之間資料傳遞和系統組成後的邏輯結構的錯誤。在宿主機上採用黑盒與白盒相結合的方法進行測試,要最大限度地模擬實際執行環境,可以遮蔽掉一些不影響系統執行的和資料傳遞的難以模擬的函式。整合測試是模組化設計軟體的測試優點充分體現的階段。整合測試前,應該由程式設計師根據模組之間的資料的輸入輸出編寫模組介面函式,這需要負責不同軟體模組的程式設計師共同協調完成,然後將模組介面函式整合到接收資料模組的入口處。由前面的分析可知,單鏈路資料傳遞的軟體模組整合測試時容易定位錯誤所在的軟體模組。一個軟體模組的資料不一定只有另外一個模組提供,即軟體模組的資料鏈路不一定只是單鏈路的,測試時可以把複雜鏈路結構的資料傳遞劃分為單鏈路結構資料傳送進行錯誤定位。修改輸出資料的軟體模組時,可能導致輸入資料的軟體模組引入新的錯誤,因此在這裡引入關聯矩陣確定修改某一模組後需要重要測試的模組。

本文轉載自51Testing軟體測試網(檢視全文):http://www.51testing.com/html/21/n-148421.html

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/11323760/viewspace-1026820/,如需轉載,請註明出處,否則將追究法律責任。

相關文章