測試猿課堂十年嘔心教學經驗教你學會嵌入式軟件開發(fā)過程及測試
嵌入式設備已經在工業(yè)市場、消費電子市場以及國防建設等多個領域得到了廣泛的應用,隨著數(shù)字化產品時代的到來,大量硬件結構日趨復雜、功能日益強大的嵌入式系統(tǒng)不斷進入人們的日常生活。在嵌入式系統(tǒng)中軟件占有舉足輕重的地位,影響著整個系統(tǒng)的正常運行,測試猿課堂對嵌入式軟件的開發(fā)過程及開發(fā)過程中所進行的測試進行簡要的描述。
嵌入式軟件開發(fā)主要分為需求分析、設計、編碼、測試、驗收五個階段,每個階段主要完成如下工作及測試:
1. 測試猿課堂–需求分析
需求分析階段主要確定設計任務、設計目標以及設計系統(tǒng)的體系結構。主要對處理器、操作系統(tǒng),開發(fā)平臺以及其他外部設備進行選擇,并確定需求規(guī)格說明書。需求分析階段可以聘請相關領域的專家、用戶、開發(fā)人員、測試人員通過需求評審的方法發(fā)現(xiàn)需求中不符合用戶要求的方面。
2. 測試猿課堂–設計
設計階段主要完成系統(tǒng)的概要和詳細設計,描述系統(tǒng)如何實現(xiàn)所確定的功能和非功能性需求。與應用軟件設計不同,嵌入式軟件設計階段在對軟件架構進行設計的同時還需要考慮硬件架構,考慮使用的處理器并配置存儲器、I/O設備、通信模塊等必要的外圍設備。對于設計階段的測試采用與需求分析相同的方法,通過設計評審來找出設計中的缺點和不足。
3. 測試猿課堂–編碼
編碼階段主要完成程序編寫,程序編寫一般在主機平臺完成,并可下載的目標機進行測試。程序分為底層驅動程序、上層應用程序,測試猿課堂主要針對上層應用程序進行描述。
1)各開發(fā)人員負責功能模塊完成階段—單元測試
單元測試一般由開發(fā)人員通過編寫測試腳本或通過自行開發(fā)的輔助測試工具進行,關鍵業(yè)務單元測試可由測試部門或第三方測試機構進行。測試通過設計好的測試用例對模塊進行功能驗證、邊界值驗證,檢查每個軟件單元是否與設計說明中功能相一致、是否滿足其他設計要求。
2)模塊組裝階段—集成測試
集成測試一般由公司開發(fā)人員、測試人員完成,在單元測試基礎上按照模塊要求將程序組裝為子系統(tǒng)并對子系統(tǒng)功能進行驗證,檢查各個模塊間接口數(shù)據(jù)傳遞是否正確、子系統(tǒng)功能是否達到預先要求、模塊間是否存在相互影響等問題。
3)程序編碼完成階段—代碼審查、代碼質量度量
代碼審查、代碼質量度量一般由質量保證人員利用專業(yè)的代碼測試工具進行。
代碼審查主要依據(jù)企業(yè)編碼規(guī)范或通用C/C 編程規(guī)范進行,對代碼進行變量命名、程序邏輯結構、程序語法等方面的審查,找出程序中不符合企業(yè)編碼規(guī)范的代碼,確保代碼和設計相一致,確保代碼邏輯表達的正確,確保代碼結構的合理性,提高編碼的規(guī)范性、易讀性。
代碼質量度量依據(jù)ISO/IEC 9126質量度量模型對系統(tǒng)維護性進行度量,找出代碼中存在的嵌套層數(shù)過多、遞歸調用、復雜度過高等問題,檢查系統(tǒng)是否與設計相一致,是否存在遞歸調用關系。
4. 測試猿課堂–測試
測試階段主要進行系統(tǒng)測試,測試采用黑盒測試的方法進行。與應用軟件測試不同,嵌入式軟件測試需要將被測程序下載到目標機進行功能、性能等方面的測試。測試一般由測試人員或第三方評測機構利用專業(yè)的測試工具進行。測試在最終產品進行,驗證系統(tǒng)軟件在真實工作環(huán)境下功能、性能能否滿足需求要求,系統(tǒng)是否可靠。
5. 測試猿課堂–驗收
驗收階段主要進行產品驗收測試。驗收測試一般由用戶委托在開發(fā)方參與下由第三方測試機構進行。第三方測試機構依據(jù)委托方和開發(fā)方所簽訂的技術合同等文件中規(guī)定的驗收標準和方法驗證開發(fā)方所提供的軟件產品或技術服務是否滿足合同規(guī)定要求。
測試猿課堂總結:通過以上五個階段的測試,可從代碼規(guī)范、代碼質量、系統(tǒng)功能、性能等多個方面對軟件進行測試,找出嵌入式軟件中存在的代碼編寫、接口、未正確實現(xiàn)的功能等錯誤,從而全面提高嵌入式軟件的質量,為企業(yè)的產品質量提供有利的保障。