引言
隨著嵌入式係統硬件體係結構的變化,嵌入式係統的發展趨勢向嵌入式係統高端,即嵌入式 軟件 係統轉移,具體體現在嵌入式 操作係統 趨(qu)於(yu)多(duo)樣(yang)和(he)應(ying)用(yong)軟(ruan)件(jian)日(ri)漸(jian)複(fu)雜(za)。由(you)於(yu)嵌(qian)入(ru)式(shi)係(xi)統(tong)軟(ruan)硬(ying)件(jian)功(gong)能(neng)界(jie)限(xian)模(mo)糊(hu),研(yan)究(jiu)如(ru)何(he)進(jin)行(xing)係(xi)統(tong)測(ce)試(shi)和(he)進(jin)行(xing)質(zhi)量(liang)評(ping)估(gu)來(lai)保(bao)證(zheng)嵌(qian)入(ru)式(shi)係(xi)統(tong)的(de)產(chan)品(pin)質(zhi)量(liang)具(ju)有(you)重(zhong)要(yao)意(yi)義(yi)。
首先,這裏明確嵌入式係統的係統測試定義,是將開發的軟件係統(包括嵌入式操作係統和嵌入式應用軟件)、硬件係統和其它相關因素(如人員的操作、數據的獲取等)綜合起來,對整個產品進行的全麵測試。嵌入式係統的係統測試比PC係統軟件測試要困難得多,主要體現如下:
① 測試軟件功能依賴不需編碼的硬件功能,快速定位軟硬件錯誤困難;
② 強壯性測試、可知性測試很難編碼實現;
③ 交叉測試平台的測試用例、測試結果上載困難;
④ 基於消息係統測試的複雜性,包括線程、任務、子係統之間的交互,並發、容錯和對時間的要求;
⑤ 性能測試、確定性能瓶頸困難;
⑥ 實施測試自動化技術困難。
1、測試方法
根據Goodenough和Gerhart提出的軟件測試充分性準則可知,軟件測試具有非複合性的特點,也就是說,即使以軟件所有成分都進行了 充分的測試,也並不意味著整個軟件的測試已經充分。所以,即使通過了需求測試、設計測試、編碼測試,並不意味著已經完全了充分的測試,還要進行軟硬件全麵 ceshi,jixitongceshi。zhengquedexitongceshifangfanengshejichulianghaodeceshishili,erlianghaodeceshishilishiceshichenggongdeguanjian。ceshishilizhiliangtexingzhuyaoyouyixiajidian。
* 檢驗性:檢測軟件缺陷的有效性,是否能發現缺陷或至少可能發現缺陷。
* 可仿效性:可以支持測試多項內容,減少測試事例的數量。
* 開銷:測試事例的執行、分析和調試是否經濟。
* 修改性:每次軟件修改後對測試事例的維護成本。
測ce試shi方fang法fa不bu僅jin要yao保bao證zheng測ce試shi事shi例li具ju有you發fa現xian缺que陷xian的de高gao可ke移yi植zhi性xing,而er且qie還hai要yao保bao證zheng測ce試shi事shi例li設she計ji的de經jing濟ji有you效xiao。因yin此ci,在zai實shi際ji測ce試shi工gong作zuo中zhong,將jiang嵌qian入ru式shi係xi統tong的de測ce試shi方fang法fa 分類如下:根據測試是否動態運行被測程序分為靜態測試方法和動態測試方法;根據測試階段分為需求測試方法、設計測試方法、編碼測試(單元測試、集成測試) 方法及係統測試方法;根據測試目的分為功能測試、性能測試、可靠性測試(容錯性、可恢複性、成熟度測試*及信息安全 保護等測試。參看表1嵌入式軟件測試方 法對照。其中“√”daibiaoxiangguanxing。suoyouzhexiefangfadejutidingyizhelibuyiyijieshao。youyubutongdeqianrushixitongmianxiangdeyingyongbutong,ceshifangfadecezhongyehenbuxiangtong。benwenhoumianjiangduiyi 個具體的便攜式信息處理嵌入式係統(PDA、便攜式翰林 電子書 )的係統測試方法詳細說明。
表1 嵌入式軟件測試方法及階段對照表
2、可靠性評估
可靠性是嵌入式係統最重要的質量指標。ISO9000國示質量標準(ISO/IEC 9126-1991)規定,軟件產品的可靠性含義是:在規定的一段時間和條件下,軟件能維持其性能水平的能力有關的一組屬性,可用成熟性、容錯性、易恢複 性三個基本子特性來度量。根據我們在評估嵌入式係統中的成功經驗,一般采取以下簡單有效的評估方法(可以采用百分製或十分製)。
(1)成熟性度量
① 錯誤發現率DDP(Defect Detection Percentage)。在測試中查找出來的錯誤越多,實際應用中出錯的機會就越小,軟件也就越成熟。
DDP=測試發現的錯誤數量/已知的全部錯誤數量
已知的全部錯誤數量是測試已發現的錯誤數量加上可能會發現的錯誤數量之和。
② 測(ce)試(shi)覆(fu)蓋(gai)率(lv)度(du)量(liang)。測(ce)試(shi)的(de)覆(fu)蓋(gai)率(lv),可(ke)以(yi)用(yong)測(ce)試(shi)項(xiang)目(mu)的(de)數(shu)量(liang)和(he)內(nei)容(rong)進(jin)行(xing)度(du)量(liang)。除(chu)此(ci)之(zhi)外(wai),如(ru)果(guo)測(ce)試(shi)軟(ruan)件(jian)的(de)數(shu)量(liang)較(jiao)大(da),還(hai)要(yao)考(kao)慮(lv)數(shu)據(ju)量(liang)。測(ce)試(shi)的(de)覆(fu)蓋(gai)率(lv),可(ke)以(yi)根(gen)據(ju)表(biao)2所示在測試指標進行評價。通過檢查這些指標達到的程度,就可以度量出測試內容的覆蓋程度。
表2 測試覆蓋程度表
表3 可信度測試表
注意,對於最大值與最小值的差值超過5的情況,應該重新測試響應功能。
(2)容錯性評估
容錯性評估分為控製容錯性評估、數據容錯性評估、硬件故障恢複容錯性評估:
容錯性=以下各條款評分之和÷條款數
控製容錯性度量
① 對並發處理的控製能力;
② 錯誤的可修正性和處理可繼續進行能力。
數據容錯性度量
① 非法輸入數據的容錯;
② 對相互衝突的要求和非法組合容錯;
③ 輸出數據是否合理容錯。
硬件故障中恢複容錯性度量
故障後恢複能力容錯。
(3)易恢複性度量
與yu易yi恢hui複fu性xing緊jin密mi相xiang關guan的de測ce試shi是shi強qiang度du測ce試shi和he健jian壯zhuang測ce試shi。強qiang度du測ce試shi又you稱cheng為wei力li度du測ce或huo極ji限xian測ce試shi,主zhu要yao測ce試shi係xi統tong對dui空kong間jian強qiang度du和he時shi間jian強qiang度du的de容rong忍ren極ji限xian;健(jian)壯(zhuang)測(ce)試(shi)又(you)稱(cheng)異(yi)常(chang)測(ce)試(shi),是(shi)很(hen)重(zhong)要(yao)的(de)可(ke)靠(kao)性(xing)測(ce)試(shi)項(xiang)目(mu)。通(tong)過(guo)易(yi)恢(hui)複(fu)性(xing)測(ce)試(shi),一(yi)方(fang)麵(mian)使(shi)係(xi)統(tong)具(ju)有(you)異(yi)常(chang)情(qing)況(kuang)的(de)抵(di)抗(kang)能(neng)力(li),另(ling)一(yi)方(fang)麵(mian)使(shi)係(xi)統(tong)測(ce)試(shi)質(zhi)量(liang)可(ke)控(kong)製(zhi)。
易恢複性=以下各條款評分之和÷條款數
① 空間強度可恢複;
② 時間強度可恢複;
③ 數據強度可恢複;
④ 異常 通信 可恢複;
⑤ 數據破壞可恢複;
⑥ 電池極限可恢複。
(4)測試可信度評估
測ce試shi可ke信xin度du是shi對dui測ce試shi質zhi量liang的de有you效xiao評ping估gu,是shi保bao證zheng質zhi量liang的de必bi要yao步bu驟zhou。目mu前qian雖sui然ran很hen難nan有you量liang化hua的de指zhi標biao,但dan我wo們men采cai取qu積ji分fen的de方fang式shi顯xian示shi可ke信xin度du。例li如ru,請qing4個人員(甲、乙、丙、丁)對係統5個功能打一個從0(不信任)到10(完全信任)之間的分數,那麼,可信度度量可以用表3進行計算。
3、測試實例
(1)電流測試
電流測試是嵌入式係統的係統測試中首先要進行的重要測試,也是最容易被忽視的測試。主要是測試係統的工作電流、待機電流。人們一般把它當成與係 統測試無關的硬件測試。但是對於嵌入式係統, 軟件 與硬件不可能清晰地劃分,硬件的性能直接影響軟件的運行。實例1說明了電流測試對係統運行的影響及不可替 代的作用。
測試現象描述:進行同一廠商PDA係統測試,有幾台PDA在名片子係統、行程子程序的操作過程中隨機死機。
我們當時的錯誤分析定位是:①懷疑 操作係統 中斷處理錯誤;②懷疑 內存 泄漏,堆棧溢出;③懷疑應用程序錯誤。
在軟件開發人員為解決這個問題檢查軟件時,硬件開發人員提出應首先測試一下這幾台機器的工作電流。結果發現,PDA的工作電流低於正常工作電流。加電容調整後隨機死機問題消失。
由you此ci例li還hai可ke以yi看kan出chu,嵌qian入ru式shi係xi統tong測ce試shi的de軟ruan硬ying件jian測ce試shi不bu可ke分fen性xing。絕jue對dui的de將jiang硬ying件jian測ce試shi和he軟ruan件jian測ce試shi區qu分fen開kai來lai的de測ce試shi思si想xiang是shi不bu正zheng確que的de。我wo們men在zai係xi統tong測ce試shi時shi的de電dian流liu測ce試shi設she計ji如ru表biao4。
表4 電流測試
(2)兼容性測試
考慮到嵌放式係統軟硬件的開發成本高於通用PC係統,因此,提高軟件對硬件的兼容及軟件升級版本的兼容性極為重要。表5是便攜林翰林 電子書 升級版本兼容性測試實例。
表5 兼容性測試
實例2:現在的嵌入式係統的層次結構一般分為硬件層、BIOS層、操作係統層、應用係統層。有的還需要通用PC應用軟件支持。因此,嵌入式係統的兼容性測試要考慮硬件兼容性、BIOS兼容性、操作係統兼容性,還需考慮與相應PC應用軟件的兼容性。
結語
本文的測試方法和評估方法在具體的嵌入式係統測試中,獲得很好的效果。這是一項很有意義的工作,不僅要求嵌入式係統 的測試人員具有很全麵的軟硬件知識,還需結合測試理論、統計方法,麵對不同的係統進行測試方法、工具、過程評價及質量評估。隨著嵌入式係統的多樣性和複雜 性發展,嵌入式係統的係統測試研究將繼續深入。