嵌入式軟件軟硬件集成測試過程研究
引言
本文引用地址:http://butianyuan.cn/article/151267.htm軟件質(zhì)量即業(yè)務(wù)生命。軟件測試項目已經(jīng)變得比以往任何時候都復雜和困難。1979年,Glenford Myers在《The Art of Software Testing》一書中提出“測試的目的是證偽”這一概念,推翻了過去“為表明軟件正確而進行測試”的錯誤認識,為軟件測試的發(fā)展指出了方向,軟件測試的理論、方法在之后得到了長足的發(fā)展。但是,目前中國許多軟件企業(yè)仍存在著“重開發(fā)、輕測試”的傾向,從而造成軟件產(chǎn)品的質(zhì)量問題日漸突出。因此,如何制定有效的軟件測試過程、保障軟件業(yè)的健康化發(fā)展,已成為當務(wù)之急。
嵌入式軟件作為軟件家族中重要的分支,在當今人民生活和國防事業(yè)中得到越來越廣泛的應(yīng)用,由于嵌入式軟件自身軟硬件結(jié)合的復雜性、其質(zhì)量的重要性,也造就了其軟件測試的特殊性,那就是在執(zhí)行正常軟件測試的單元測試、集成測試、配置項測試、系統(tǒng)測試的過程中,還要考慮到軟件與硬件的兼容問題,即需要進行軟、硬件集成測試。本文將重點研究嵌入式軟件與硬件集成時的測試過程。
根據(jù)筆者在嵌入式軟件測試工作過程中的經(jīng)驗,歸納提出了軟硬件集成測試過程,同時結(jié)合當前軟件測試理論前沿知識,把該測試過程進行重組和改進,并給出了測試模型,以期嵌入式軟件與硬件集成測試過程能夠在實際中廣泛應(yīng)用。
1 、嵌入式軟件測試基本概念
1.1 嵌入式軟件
和普通計算機系統(tǒng)一樣,嵌入式系統(tǒng)除了需要硬件結(jié)構(gòu)和配置外,還需要相應(yīng)軟件的支持才能完整地實現(xiàn)系統(tǒng)的功能。目前,嵌入式系統(tǒng)的軟件體系結(jié)構(gòu)通常都采用以實時內(nèi)核為基礎(chǔ)的分層體系結(jié)構(gòu)。組成嵌入式系統(tǒng)的軟件大致可分為如下幾層:
驅(qū)動層(硬件抽象層):驅(qū)動層是最靠近硬件的一層,它屬于最底層的軟件,直接和硬件打交道,它為操作系統(tǒng)內(nèi)核和應(yīng)用提供使用硬件的接口即驅(qū)動的支持。
操作系統(tǒng)層(實時內(nèi)核層):該層的主要功能是協(xié)助最頂層的應(yīng)用層更好地進行任務(wù)的調(diào)度、消息管理和異常處理等工作,由于該層的支持,特別是實時內(nèi)核的作用,大大地減輕了嵌入式軟件開發(fā)人員開發(fā)嵌入式軟件的難度,同時也縮短了嵌入式軟件的開發(fā)周期。
應(yīng)用軟件實現(xiàn)支持層:嵌入式應(yīng)用軟件的實現(xiàn)需要編程語言的支持。目前,應(yīng)用于嵌入式軟件編程語言主要有面向過程的語言C和面向?qū)ο蟮木幊陶Z言C++、ADA等,應(yīng)用這些語言開發(fā)的應(yīng)用程序在嵌入式系統(tǒng)中運行時都需要相應(yīng)的編譯器或解釋器的支持,轉(zhuǎn)換成相應(yīng)的機器碼,才能在嵌入式系統(tǒng)中實現(xiàn)應(yīng)用程序?qū)?yīng)的功能。
應(yīng)用層:應(yīng)用層軟件主要由多個相對獨立的應(yīng)用任務(wù)組成,每個應(yīng)用任務(wù)完成特定的工作,如計算任務(wù)和通信任務(wù)等,各個任務(wù)的運行由操作系統(tǒng)進行調(diào)度。
1.2 測試用語
嵌入式軟件(Embedded Software):嵌入式計算機系統(tǒng)中的軟件,其與硬件聯(lián)系緊密,并且通常要求強實時性。
測試環(huán)境(TeST EnvirONment):執(zhí)行測試程序所需要的硬件平臺和軟件資源構(gòu)成的環(huán)境。
測試用例(Test Case):為測試項規(guī)定輸入、預期結(jié)果和一組執(zhí)行條件的文檔。
測試程序(Test Procedure):執(zhí)行測試用例的程序形式,其執(zhí)行需要相應(yīng)測試環(huán)境的支持。
問題描述報告(Problem DescripTIon Report):對軟件測試過程中發(fā)現(xiàn)問題的簡要描述。
更改的判定條件覆蓋(Modified Condition/Decision Coverage, MC/DC):對設(shè)計足夠多的測試用例,使得判定中每個條件的所有可能結(jié)果至少出現(xiàn)一次,每個判定本身的所有可能結(jié)果也至少出現(xiàn)一次,每個入口點和出口點至少要喚醒一次,并且每個條件都顯示能單獨影響判定結(jié)果。
圖1 嵌入式軟件軟硬件集成測試過程
2 、 軟硬件集成測試過程
軟硬件集成測試應(yīng)該在嵌入式軟件集成測試完成的基礎(chǔ)上進行。此時軟件已按照功能模塊組裝成子系統(tǒng),為了有效驗證該子系統(tǒng)軟件與硬件功能的協(xié)調(diào)性,保證軟件在特定的硬件平臺上能夠按照設(shè)計的要求進行工作,完成其要求的功能、性能指標,就必須進行嵌入式軟件的軟硬件集成測試。
2.1 嵌入式軟件測試過程
軟件開發(fā)人員在開發(fā)過程中,一般遵循如下步驟:
?、?系統(tǒng)軟硬件功能劃分,形成軟、硬件研制任務(wù)書。
?、?系統(tǒng)軟件需求分析。
?、?系統(tǒng)軟件概要設(shè)計。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論