引言 隨著嵌入式系統(tǒng)硬件體系結(jié)構(gòu)的變化,嵌入式系統(tǒng)的發(fā)展趨勢(shì)向嵌入式系統(tǒng)高端,即嵌入式軟件系統(tǒng)轉(zhuǎn)移,具體體現(xiàn)在嵌入式操作系統(tǒng)趨于多樣和應(yīng)用軟件日漸復(fù)雜。由于嵌入式系統(tǒng)軟硬件功能界限模糊,研究如何進(jìn)行系統(tǒng)測(cè)試和進(jìn)行質(zhì)量評(píng)估來(lái)保證嵌入式系統(tǒng)的產(chǎn)品質(zhì)量具有重要意義。 首先,這里明確嵌入式系統(tǒng)的系統(tǒng)測(cè)試定義,是將開發(fā)的軟件系統(tǒng)(包括嵌入式操作系統(tǒng)和嵌入式應(yīng)用軟件)、硬件系統(tǒng)和其它相關(guān)因素(如人員的操作、數(shù)據(jù)的獲取等)綜合起來(lái),對(duì)整個(gè)產(chǎn)品進(jìn)行的全面測(cè)試。嵌入式系統(tǒng)的系統(tǒng)測(cè)試比PC系統(tǒng)軟件測(cè)試要困難得多,主要體現(xiàn)如下: ①測(cè)試軟件功能依賴不需編碼的硬件功能,快速定位軟硬件錯(cuò)誤困難; ②強(qiáng)壯性測(cè)試、可知性測(cè)試很難編碼實(shí)現(xiàn); ③交叉測(cè)試平臺(tái)的測(cè)試用例、測(cè)試結(jié)果上載困難; ④基于消息系統(tǒng)測(cè)試的復(fù)雜性,包括線程、任務(wù)、子系統(tǒng)之間的交互,并發(fā)、容錯(cuò)和對(duì)時(shí)間的要求; ⑤性能測(cè)試、確定性能瓶頸困難; ⑥實(shí)施測(cè)試自動(dòng)化技術(shù)困難。 1 測(cè)試方法 根據(jù)Goodenough和Gerhart提出的軟件測(cè)試充分性準(zhǔn)則可知,軟件測(cè)試具有非復(fù)合性的特點(diǎn),也就是說(shuō),即使以軟件所有成分都進(jìn)行了充分的測(cè)試,也并不意味著整個(gè)軟件的測(cè)試已經(jīng)充分。所以,即使通過(guò)了需求測(cè)試、設(shè)計(jì)測(cè)試、編碼測(cè)試,并不意味著已經(jīng)完全了充分的測(cè)試,還要進(jìn)行軟硬件全面測(cè)試,即系統(tǒng)測(cè)試。正確的系統(tǒng)測(cè)試方法能設(shè)計(jì)出良好的測(cè)試事例,而良好的測(cè)試事例是測(cè)試成功的關(guān)鍵。測(cè)試事例質(zhì)量特性主要有以下幾點(diǎn)。 *檢驗(yàn)性:檢測(cè)軟件缺陷的有效性,是否能發(fā)現(xiàn)缺陷或至少可能發(fā)現(xiàn)缺陷。 *可仿效性:可以支持測(cè)試多項(xiàng)內(nèi)容,減少測(cè)試事例的數(shù)量。 *開銷:測(cè)試事例的執(zhí)行、分析和調(diào)試是否經(jīng)濟(jì)。 *修改性:每次軟件修改后對(duì)測(cè)試事例的維護(hù)成本。 測(cè)試方法不僅要保證測(cè)試事例具有發(fā)現(xiàn)缺陷的高可移植性,而且還要保證測(cè)試事例設(shè)計(jì)的經(jīng)濟(jì)有效。因此,在實(shí)際測(cè)試工作中,將嵌入式系統(tǒng)的測(cè)試方法分類如下:根據(jù)測(cè)試是否動(dòng)態(tài)運(yùn)行被測(cè)程序分為靜態(tài)測(cè)試方法和動(dòng)態(tài)測(cè)試方法;根據(jù)測(cè)試階段分為需求測(cè)試方法、設(shè)計(jì)測(cè)試方法、編碼測(cè)試(單元測(cè)試、集成測(cè)試)方法及系統(tǒng)測(cè)試方法;根據(jù)測(cè)試目的分為功能測(cè)試、性能測(cè)試、可靠性測(cè)試(容錯(cuò)性、可恢復(fù)性、成熟度測(cè)試*及信息安全保護(hù)等測(cè)試。參看表1嵌入式軟件測(cè)試方法對(duì)照。其中“√”代表相關(guān)性。所有這些方法的具體定義這里不一一介紹。由于不同的嵌入式系統(tǒng)面向的應(yīng)用不同,測(cè)試方法的側(cè)重也很不相同。本文后面將對(duì)一個(gè)具體的便攜式信息處理嵌入式系統(tǒng)(PDA、便攜式翰林電子書)的系統(tǒng)測(cè)試方法詳細(xì)說(shuō)明。 表1 嵌入式軟件測(cè)試方法及階段對(duì)照表
2 可靠性評(píng)估 可靠性是嵌入式系統(tǒng)最重要的質(zhì)量指標(biāo)。ISO9000國(guó)示質(zhì)量標(biāo)準(zhǔn)(ISO/IEC 9126-1991)規(guī)定,軟件產(chǎn)品的可靠性含義是:在規(guī)定的一段時(shí)間和條件下,軟件能維持其性能水平的能力有關(guān)的一組屬性,可用成熟性、容錯(cuò)性、易恢復(fù)性三個(gè)基本子特性來(lái)度量。根據(jù)我們?cè)谠u(píng)估嵌入式系統(tǒng)中的成功經(jīng)驗(yàn),一般采取以下簡(jiǎn)單有效的評(píng)估方法(可以采用百分制或十分制)。 (1)成熟性度量 ①錯(cuò)誤發(fā)現(xiàn)率DDP(Defect Detection Percentage)。在測(cè)試中查找出來(lái)的錯(cuò)誤越多,實(shí)際應(yīng)用中出錯(cuò)的機(jī)會(huì)就越小,軟件也就越成熟。 DDP=測(cè)試發(fā)現(xiàn)的錯(cuò)誤數(shù)量/已知的全部錯(cuò)誤數(shù)量 已知的全部錯(cuò)誤數(shù)量是測(cè)試已發(fā)現(xiàn)的錯(cuò)誤數(shù)量加上可能會(huì)發(fā)現(xiàn)的錯(cuò)誤數(shù)量之和。 ②測(cè)試覆蓋率度量。測(cè)試的覆蓋率,可以用測(cè)試項(xiàng)目的數(shù)量和內(nèi)容進(jìn)行度量。除此之外,如果測(cè)試軟件的數(shù)量較大,還要考慮數(shù)據(jù)量。測(cè)試的覆蓋率,可以根據(jù)表2所示在測(cè)試指標(biāo)進(jìn)行評(píng)價(jià)。通過(guò)檢查這些指標(biāo)達(dá)到的程度,就可以度量出測(cè)試內(nèi)容的覆蓋程度。 表2 測(cè)試覆蓋程度表
表3 可信度測(cè)試表
注意,對(duì)于最大值與最小值的差值超過(guò)5的情況,應(yīng)該重新測(cè)試響應(yīng)功能。 (2)容錯(cuò)性評(píng)估 容錯(cuò)性評(píng)估分為控制容錯(cuò)性評(píng)估、數(shù)據(jù)容錯(cuò)性評(píng)估、硬件故障恢復(fù)容錯(cuò)性評(píng)估: 容錯(cuò)性=以下各條款評(píng)分之和÷條款數(shù) 控制容錯(cuò)性度量 ①對(duì)并發(fā)處理的控制能力; ②錯(cuò)誤的可修正性和處理可繼續(xù)進(jìn)行能力。 數(shù)據(jù)容錯(cuò)性度量 ①非法輸入數(shù)據(jù)的容錯(cuò); ②對(duì)相互沖突的要求和非法組合容錯(cuò); ③輸出數(shù)據(jù)是否合理容錯(cuò)。 硬件故障中恢復(fù)容錯(cuò)性度量 故障后恢復(fù)能力容錯(cuò)。 (3)易恢復(fù)性度量 與易恢復(fù)性緊密相關(guān)的測(cè)試是強(qiáng)度測(cè)試和健壯測(cè)試。強(qiáng)度測(cè)試又稱為力度測(cè)或極限測(cè)試,主要測(cè)試系統(tǒng)對(duì)空間強(qiáng)度和時(shí)間強(qiáng)度的容忍極限;健壯測(cè)試又稱異常測(cè)試,是很重要的可靠性測(cè)試項(xiàng)目。通過(guò)易恢復(fù)性測(cè)試,一方面使系統(tǒng)具有異常情況的抵抗能力,另一方面使系統(tǒng)測(cè)試質(zhì)量可控制。 易恢復(fù)性=以下各條款評(píng)分之和÷條款數(shù) ①空間強(qiáng)度可恢復(fù); ②時(shí)間強(qiáng)度可恢復(fù); ③數(shù)據(jù)強(qiáng)度可恢復(fù); ④異常通信可恢復(fù); ⑤數(shù)據(jù)破壞可恢復(fù); ⑥電池極限可恢復(fù)。 (4)測(cè)試可信度評(píng)估 測(cè)試可信度是對(duì)測(cè)試質(zhì)量的有效評(píng)估,是保證質(zhì)量的必要步驟。目前雖然很難有量化的指標(biāo),但我們采取積分的方式顯示可信度。例如,請(qǐng)4個(gè)人員(甲、乙、丙、丁)對(duì)系統(tǒng)5個(gè)功能打一個(gè)從0(不信任)到10(完全信任)之間的分?jǐn)?shù),那么,可信度度量可以用表3進(jìn)行計(jì)算。 3 測(cè)試實(shí)例 (1)電流測(cè)試 電流測(cè)試是嵌入式系統(tǒng)的系統(tǒng)測(cè)試中首先要進(jìn)行的重要測(cè)試,也是最容易被忽視的測(cè)試。主要是測(cè)試系統(tǒng)的工作電流、待機(jī)電流。人們一般把它當(dāng)成與系統(tǒng)測(cè)試無(wú)關(guān)的硬件測(cè)試。但是對(duì)于嵌入式系統(tǒng),軟件與硬件不可能清晰地劃分,硬件的性能直接影響軟件的運(yùn)行。實(shí)例1說(shuō)明了電流測(cè)試對(duì)系統(tǒng)運(yùn)行的影響及不可替代的作用。 測(cè)試現(xiàn)象描述:進(jìn)行同一廠商PDA系統(tǒng)測(cè)試,有幾臺(tái)PDA在名片子系統(tǒng)、行程子程序的操作過(guò)程中隨機(jī)死機(jī)。 我們當(dāng)時(shí)的錯(cuò)誤分析定位是:①懷疑操作系統(tǒng)中斷處理錯(cuò)誤;②懷疑內(nèi)存泄漏,堆棧溢出;③懷疑應(yīng)用程序錯(cuò)誤。 在軟件開發(fā)人員為解決這個(gè)問(wèn)題檢查軟件時(shí),硬件開發(fā)人員提出應(yīng)首先測(cè)試一下這幾臺(tái)機(jī)器的工作電流。結(jié)果發(fā)現(xiàn),PDA的工作電流低于正常工作電流。加電容調(diào)整后隨機(jī)死機(jī)問(wèn)題消失。 由此例還可以看出,嵌入式系統(tǒng)測(cè)試的軟硬件測(cè)試不可分性。絕對(duì)的將硬件測(cè)試和軟件測(cè)試區(qū)分開來(lái)的測(cè)試思想是不正確的。我們?cè)谙到y(tǒng)測(cè)試時(shí)的電流測(cè)試設(shè)計(jì)如表4。 表4 電流測(cè)試
(2)兼容性測(cè)試 考慮到嵌放式系統(tǒng)軟硬件的開發(fā)成本高于通用PC系統(tǒng),因此,提高軟件對(duì)硬件的兼容及軟件升級(jí)版本的兼容性極為重要。表5是便攜林翰林電子書升級(jí)版本兼容性測(cè)試實(shí)例。 表5 兼容性測(cè)試
實(shí)例2:現(xiàn)在的嵌入式系統(tǒng)的層次結(jié)構(gòu)一般分為硬件層、BIOS層、操作系統(tǒng)層、應(yīng)用系統(tǒng)層。有的還需要通用PC應(yīng)用軟件支持。因此,嵌入式系統(tǒng)的兼容性測(cè)試要考慮硬件兼容性、BIOS兼容性、操作系統(tǒng)兼容性,還需考慮與相應(yīng)PC應(yīng)用軟件的兼容性。 結(jié)語(yǔ) 本文的測(cè)試方法和評(píng)估方法在具體的嵌入式系統(tǒng)測(cè)試中,獲得很好的效果。這是一項(xiàng)很有意義的工作,不僅要求嵌入式系統(tǒng)的測(cè)試人員具有很全面的軟硬件知識(shí),還需結(jié)合測(cè)試?yán)碚摗⒔y(tǒng)計(jì)方法,面對(duì)不同的系統(tǒng)進(jìn)行測(cè)試方法、工具、過(guò)程評(píng)價(jià)及質(zhì)量評(píng)估。隨著嵌入式系統(tǒng)的多樣性和復(fù)雜性發(fā)展,嵌入式系統(tǒng)的系統(tǒng)測(cè)試研究將繼續(xù)深入。 參考文獻(xiàn) 1. Pressman Roger S Software Engineering A Practitioner' s Approach 2001 2. 朱鴻.金凌紫 軟件質(zhì)量保障和測(cè)試 1997 3. Satzinger Jone W.Jackson Robert B.Burd Stephen D Systems Analysis and Design in a Changing word 2001 4. 萬(wàn)建成.盧雷 軟件體系結(jié)構(gòu)的原理、組成與應(yīng)用 2002 5. Wayne Wolf 嵌入式計(jì)算系統(tǒng)設(shè)計(jì)原理 2002 6. ISO9000國(guó)際質(zhì)量標(biāo)準(zhǔn).內(nèi)部資料 7. ISO9001:1994標(biāo)準(zhǔn).內(nèi)部資料 8. ISO9000-3:1993標(biāo)準(zhǔn).內(nèi)部資料 9. GB/T16260-1996.信息技術(shù) 軟件產(chǎn)品評(píng)價(jià) 質(zhì)量特性及其使用指南 1996 10. GB/T17544-1998.信息技術(shù) 軟件包 質(zhì)量要求和測(cè)試 1999 作 者:南開大學(xué) 李慶誠(chéng) 張建華 雷楊 來(lái) 源:單片機(jī)與嵌入式系統(tǒng)應(yīng)用 2003(8) |