999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于路徑覆蓋的嵌入式軟件動態測試研究

2013-04-12 00:00:00朱麗李汪彪蘇偉達吳允平
現代電子技術 2013年6期

摘要: 針對嵌入式軟件動態測試時的覆蓋率分析問題,提出了一種嵌入式軟件動態測試系統框架。該框架基于嵌入式軟件測試的特點及路徑覆蓋的相關理論,包括被測試程序的靜態分析、插樁技術和數據處理分析等部分。以靜態分析指導插樁庫的建立,通過插樁技術在程序分支或重要位置點植入探針,執行已插樁程序,獲得動態測試跟蹤數據,最后對數據進行處理分析并制作初步測試報告。結合該框架,模擬測試實驗室現行項目208型海區終端的航標數據采集模塊,得出路徑覆蓋率,證明該系統框架的可行性。

關鍵詞: 嵌入式軟件; 軟件測試; 路徑覆蓋; 基本路徑測試; 覆蓋率分析

中圖分類號: TN919?34; TP311.5 文獻標識碼: A 文章編號: 1004?373X(2013)06?0063?03

0 引 言

目前,嵌入式軟件已廣泛的應用在各個領域:如工業控制、通信設備、信息家電以及航空航天等領域,應用越來越廣泛,復雜性也日益增加。但由于嵌入式軟件實時性強、I/O 通道少、內存資源受限、與硬件及硬件驅動緊密關聯、CPU 種類繁多等特點[1],決定了嵌入式軟件的開發和測試必須在交叉編譯環境下進行,即開發及測試工具運行在宿主機上,而被測程序運行在軟硬件資源緊張的目標機上。僅僅在開發環境下進行嵌入式軟件測試,難以保障其測試結果的有效性;而僅在目標機上進行測試,由于軟件運行的不可視性,又使得測試者難以知曉程序當前運行狀態,以及代碼的覆蓋情況[2]。因此對嵌入式軟件覆蓋測試技術的要求也更高。

軟件測試是一種有效地保證軟件質量的重要手段。常用的軟件測試方法有黑盒測試、白盒測試和灰盒測試。白盒測試中最成熟、最常用的方法是覆蓋測試,它是一種動態軟件測試方法[3]。覆蓋測試是驗證軟件功能結構正確性以及查找問題的一種重要方法和手段。為了獲取覆蓋率信息,必須在獲得被測程序結構 信息、靜態數據流信息、控制流信息等基礎上,加入一些探針,通過探針收集的信息來獲得程序的執行路徑、狀態等控制流[4]。

路徑覆蓋測試是覆蓋測試中的關鍵測試技術之一,目前已應用于程序覆蓋率分析、測試用例設計、程序調試、性能優化等多個方面,是覆蓋程度最高的測試。其基本原理是用最少的測試用例,覆蓋程序中的所有路徑,發現程序中最多的錯誤,安排測試計劃、分配測試資源,并對實際測試所達到的覆蓋率做出評估[5]。本文給出了路徑覆蓋相關理論,并在理論研究的基礎上設計出了一種嵌入式軟件動態測試系統框架,完成對被測程序的路徑覆蓋率分析,進而判斷測試的充分性及弱點,從而進一步改進測試過程。

1 路徑覆蓋相關理論

路徑覆蓋使程序中每一條可能的路徑至少執行一次。但在實際工作中,即使一個不太復雜的程序,路徑數量往往也是較多的。要在測試中覆蓋所有的路徑是不現實的,而基本路徑測試就是一種簡化路徑數的測試方法。

基本路徑測試是在控制流圖的基礎上,通過分析控制結構的環形復雜度,導出執行路徑的基本集,再從該基本集設計測試用例。為了清晰描述基本路徑測試方法,需要對本文中用到的幾個基本概念進行說明。

(2)Z路徑優化:是指限制循環的次數,無論循環的形式和循環體實際執行的次數,簡化后的循環測試只考慮執行循環體一次和零次(不執行)兩種情況。

(3)環形復雜度:提供程序基本路徑集的獨立路徑數量以及確保所有語句至少執行一次的測試數量的上界。可以通過下列兩種方法來計算:對流圖G,環形復雜度V(G)=E-N+2;或V(G)=P+1,其中P為包含在流圖G中的判定節點數[6]。

(4)基本路徑集BP:指軟件可達路徑的最小集合,等于環形復雜度V(G)。

(5)路徑覆蓋率計算:由基本路徑集BP設計測試用例集T,使T理論上按BP執行。然后分析動態跟蹤數據,構造實測路徑集Pn。計算測試覆蓋率PCP=×100%其中Pn=P(T1)P(T2)…P(Tn)。

2 嵌入式軟件動態測試框架

嵌入式軟件動態測試框架如圖1所示。它包含宿主機程序插樁及數據處理分析和目標機數據處理兩部分。

在嵌入式軟件測試中,靜態測試是基礎,對被測軟件進行代碼規則檢查、靜態結構分析和代碼質量評估;動態測試是必要補充,在目標機真實環境下或仿真環境下運行被測程序,采集動態跟蹤數據,分析其動態行為[7]。

嵌入式軟件路徑覆蓋測試的特點就是必須在交叉編譯環境下, 通過物理通道傳輸完整的動態測試跟蹤數據[8],分析數據后得到路徑覆蓋率。動態執行前先要檢查目標機與宿主機的連接狀況,確保測試正常進行。

2.1 被測試程序靜態分析

靜態分析并不真正執行被測程序,也不需要對代碼進行編譯鏈接,生成可執行文件。首先,對源碼進行詞法語法分析和變量分析, 找出不符合編碼規范的地方,根據某種質量模型評價代碼的質量,生成模塊調用關系圖、模塊的程序流程圖等。其次,從程序中提取必要的數據并保存,提供給后續的動態分析和測試報告使用。最后,根據模塊的程序流程圖繪制程序控制流圖G,得到程序控制流圖的邊數E和節點數N,指導插樁庫的建立,并根據Z路徑優化法構造程序的基本路徑集BP,構建動態路徑覆蓋測試的比較基礎。

2.2 插樁技術

一般來說,對程序進行動態測試的時候,基本上要使用程序插樁來進行覆蓋測試。程序插樁技術是保持被測軟件邏輯完整性的基礎上,在源代碼中插入探針函數,它是一個子過程調用,調用的子過程能在運行到插樁點時記錄下有關的運行情況,采集執行程序在真實環境中運行的控制流、數據流等測試數據[9]。插樁時需確保探針函數對源程序執行影響最小。

基本路徑測試依賴探針插樁技術完成分支位置點標志位的采集。插樁位置最好選擇在應用程序層,重點采集輸入輸出模塊中的上層函數運行信息,底層模塊加強單元測試,而在嵌入式軟件模塊集成時,默認這些模塊是正確無誤的。根據程序按塊劃分的原則,可以在子函數出入點、程序塊控制流圖G的分支節點、功能測試的重點變量處植入探針。

基本路徑測試的插樁過程是靜態的,數據收集過程是動態的,結束時需恢復現場。動態測試前,被測程序與插樁庫連接,完成插樁操作,獲取執行程序。執行程序交叉編譯后運行于目標實際環境或者仿真環境下,通過探針函數返回動態測試跟蹤數據[10]。

2.3 數據處理及分析

目標機在真實環境中運行可執行程序, 測試用例集T為運行輸入參量, 探針采集數據為運行的輸出參量。探針函數采集動態跟蹤測試數據,傳輸給宿主機測試平臺。宿主機測試平臺對接收到的動態跟蹤數據進行處理,計算出路徑測試覆蓋率,并結合數據處理過程中的測試日志分析出最后的測試報告。

3 測試實例分析

該航標數據采集模塊由C語言開發, 根據插樁策略可以計算出插樁探針的位置、個數, 構造基本路徑和實際程序執行路徑, 計算路徑測試覆蓋率。部分測試結果分析如表1所示。

基本路徑測試覆蓋率大小涉及到測試的各個階段,受到各方面因素的影響。比如,在該測試模塊中,Rx_Data_Svr()和AddataConvert()程序中出現了多個判斷語句和多個循環語句,可能的路徑數目增長,以致影響路徑覆蓋率。

4 結 語

本文通過研究嵌入式軟件測試的特點和路徑覆蓋測試的相關理論,給出了嵌入式軟件動態測試框架方案。并結合實驗室目前的項目,分析基本路徑測試的各個步驟,得出路徑測試覆蓋率,進而達到測試目的。但是路徑覆蓋測試受多方面因素的影響,尤其是當程序中出現多個復合條件時,會大大的增加可能的路徑數目,所以接下來的工作是進一步探討插樁策略、測試用例生成等影響路徑覆蓋率的相關問題。

參考文獻

[1] 范海霞.嵌入式軟件覆蓋測試的插樁技術研究[D].南京:南京航空航天大學,2010.

[2] 楊俊,張倩,林依剛.一種嵌入式軟件覆蓋測試方法[J].指揮信息系統與技術,2010,12(6):24?26.

[3] 李志偉.程序插裝在軟件測試中的應用研究[J].測控技術,2011,30(10):88?91.

[4] 張榮,王曙燕.基于插樁技術的動態測試研究與實現[J].現代電子技術,2011,34(4):50?52.

[5] 張志華,牟永敏.基于函數調用的路徑覆蓋生成技術研究[J].電子學報,2010,38(8):1808?1811.

[6] PRESSMAN R S.軟件工程[M].北京:機械工業出版社,2007.

[7] 于全喜,張毅坤,胡燕京,等.嵌入式軟件路徑覆蓋測試數據采集[J].計算機工程,2009,35(21):54?59.

[8] 施冬梅.嵌入式軟件路徑覆蓋測試的研究[J].計算機測量與控制,2010,18(10):2236?2240.

[9] 唐銥笛,張義德,劉利枚.嵌入式軟件測試系統的設計與實現[J].福建電腦,2009(7):133?134.

[10] 施冬梅.基本路徑覆蓋測試探針插樁技術的研究[J].計算機工程與設計,2010,31(13):3025?3028.

主站蜘蛛池模板: 九九热精品视频在线| 欧美精品v| 天天色天天操综合网| 国产人成网线在线播放va| 欧美亚洲日韩中文| 中文字幕无码制服中字| 亚洲综合婷婷激情| 91精品情国产情侣高潮对白蜜| 国产大片喷水在线在线视频| 无遮挡国产高潮视频免费观看| 日韩高清在线观看不卡一区二区 | 全裸无码专区| www.91在线播放| h视频在线观看网站| 亚洲精品成人福利在线电影| 亚洲成综合人影院在院播放| 福利视频一区| 色综合天天娱乐综合网| 精品久久久久久中文字幕女| 精品国产网| 亚洲精品中文字幕无乱码| 久久久亚洲色| 欧美在线国产| 亚洲AⅤ永久无码精品毛片| 男女猛烈无遮挡午夜视频| 91在线中文| 精品国产免费观看一区| 欧美日韩国产综合视频在线观看| 久久国产亚洲欧美日韩精品| 天天色天天综合网| 手机在线免费毛片| 99久久精品国产自免费| 国产视频大全| 久久99热这里只有精品免费看| 午夜视频www| 免费观看欧美性一级| 国产麻豆永久视频| 波多野结衣无码AV在线| 呦女亚洲一区精品| 国产精品综合久久久| 欧美色伊人| 国产在线第二页| 五月天丁香婷婷综合久久| 国产精品人人做人人爽人人添| 日本亚洲国产一区二区三区| 高清无码一本到东京热 | 国产小视频网站| 黄色免费在线网址| 精品视频一区二区观看| www亚洲天堂| 亚洲VA中文字幕| 亚洲一级毛片| 亚洲精品无码成人片在线观看| 国产综合精品一区二区| 日韩在线欧美在线| 国产污视频在线观看| 国产美女丝袜高潮| 国产美女在线观看| 亚洲成人高清无码| 中文字幕在线观看日本| 爆乳熟妇一区二区三区| 国产白浆视频| 爆乳熟妇一区二区三区| 97在线视频免费观看| 国产综合亚洲欧洲区精品无码| 亚洲91精品视频| 国内精品九九久久久精品| 亚洲欧美日韩久久精品| 欧美 国产 人人视频| 免费jizz在线播放| 狼友视频国产精品首页| 欧美精品三级在线| 综合网天天| 波多野结衣在线se| 久久99国产综合精品1| 国产一级视频久久| 国产精品久久久久久搜索| 亚洲色图在线观看| 日本精品中文字幕在线不卡| 欧美一级在线| 97在线碰| 午夜精品福利影院|