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

嵌入式軟件覆蓋測試綜述

2017-04-13 01:34:44
軟件導刊 2017年3期
關鍵詞:程序環境系統

郭 旺

(西南大學 數學與統計學院,重慶 400715)

嵌入式軟件覆蓋測試綜述

郭 旺

(西南大學 數學與統計學院,重慶 400715)

嵌入式軟件規模日益增大,結構也越來越復雜,對嵌入式軟件系統必須進行嚴格的測試,如何提高嵌入式軟件測試的質量和效率已經成為當前研究的重點。介紹當前嵌入式軟件測試的3種主要環境,分析嵌入式軟件測試的特點,并闡述了覆蓋測試基本原理,最后對嵌入式軟件覆蓋測試關鍵技術進行了探討。

嵌入式軟件;軟件測試;覆蓋測試

0 引言

近年來,隨著計算機技術的飛速發展,嵌入式軟件得到了充分發展,其國防工業、工業控制、家用電器、醫療衛生、通訊產業等領域得到了廣泛運用。隨著嵌入式硬件的飛速發展,嵌入式系統軟件也隨之發展,軟件的規模日益龐大,結構也越來越復雜[1]。由于嵌入式軟件經常應用在一些關鍵性任務上,軟件產生的錯誤可能給人們的生產和生活帶來嚴重損失,甚至威脅人身安全。因此,軟件質量引起了各方的高度重視[2]。對嵌入式軟件系統及軟件必須進行嚴格測試、確認和驗證[3]。由于嵌入式系統具有實時性、資源有限、與硬件緊密相關、開發環境異于執行環境等特點[4],與嵌入式軟件相比較,一般應用軟件更為復雜,要求也更高。如何提高嵌入式軟件測試的質量和效率已經成為當前研究的重點。

1 嵌入式軟件測試環境

根據被測嵌入式軟件所提供的運行環境的不同,嵌入式軟件測試系統可分為3種類型:全實物仿真測試系統、半實物仿真測試系統、全數字仿真測試系統[5]。這3種嵌入式軟件仿真測試系統都是嵌入式軟件測試的重要手段和方法。

(1)全實物仿真測試。全實物仿真運行環境是最逼近真實環境的一種運行環境。在該運行環境下,整個嵌入式應用系統(包括硬件與軟件)進行運行,全實物仿真運行環境與真實環境有一致的映射關系,如同樣的設備接口、同樣的I/O傳輸格式、同樣的工作方式及狀態等。待測程序處于完全真實的運行環境中,直接在目標機與其外設連接后運行,形成閉環進行測試。全實物仿真測試不必用數學模型來代理控制系統,可以有效發現真實系統設計和部分模型存在的問題,也防止部分部件難以仿真建模的問題,同時對軟件接口測試和實時性測試比較真實。缺點是可控性弱,真實的外圍設備使得系統設置缺乏靈活性,測試用例中的很多輸入條件無法滿足,測試結果的記錄比較困難,測試有效性差。同時一旦被測系統的更換導致與它交聯的系統也發生變化,測試環境就需要重新搭建,通用性受到很大限制。

(2)全數字仿真測試。全數字仿真測試是通過開發目標機CPU、內存、外圍可編程芯片、外圍設備I/O接口以及外部信號事件激勵的數字模擬器,從而構成純數字化的嵌入式軟件目標機。在宿主機上實現對嵌入式軟件的測試。

全數字仿真測試把嵌入式軟件與真實目標機相剝離,擺脫了嵌入式軟件執行過程中對硬件的依賴,優點包括成本低、測試可重復、測試的可控性大大增加、軟件的執行比較透明,對測試用例支持較好,支持故障注入測試等。然而,隨著計算機系統和物理系統的耦合越來越緊密[6],仿真模擬目標平臺的軟硬件環境變得越來越困難。并且仿真環境下的某些測試結果(特別是對實時軟件)不能真實地反應軟件的運行情況,數據真實性較弱。同硬件測試環境相比,全數字仿真環境下的被測程序運行速度較慢,這是因為仿真運行使用了多幾倍、幾十倍的指令去模擬一條指令的執行,加上執行過程中為滿足測試的需要,仿真運行比實際運行要慢幾百倍。

(3)半實物仿真測試研究。半實物仿真測試系統介于全數字測試與全實物測試,集成了全實物運行環境的真實性和全數字模擬測試的靈活性、透明性等特點。在半實物仿真系統中,待測程序依然在所需的特定目標機運行,確保了待測程序運行環境的真實性;同時,系統能夠根據需要設置待測程序的輸入,記錄待測程序的運行結果。

2 嵌入式軟件測試特點

嵌入式系統具有系統資源有限、專用性強、實時性強等特點,因此嵌入式軟件測試與傳統軟件的測試策略有較大不同。嵌入式軟件測試的特點包括:

(1)嵌入式軟件與硬件密切相關,且嵌入式軟件與其所運行的計算機系統高度耦合,只能運行在特定的目標機上。嵌入式軟件的功能、性能與其所運行的硬件性能及結構緊密相關。因此,搭建嵌入式軟件運行所需的特定硬件環境是嵌入式軟件測試的重要過程之一。

(2)嵌入式系統實時性要求較高,要求嵌入式軟件在規定的時間內完成任務處理,當面臨并發任務時,要求系統嚴格按照一定的時序進行處理。為了保障嵌入式軟件的高可靠性,要求其在運行時不能發生內存泄露。因此,對嵌入式軟件進行的測試包括功能測試、性能測試、接口測試、覆蓋率分析測試、內存泄漏測試等。

(3)嵌入式軟件開發采用交叉開發方式,其開發環境不同于其運行環境,在宿主機上測試再充分也不能保證在目標機器上正常運行。而且在目標機器上軟硬件資源有限,難以滿足測試需求,因而測試過程中產生的測試數據必須發回至宿主機分析。

(4)嵌入式系統通常面臨復雜的工作環境(如工業強磁場、高溫工作區、海洋等),因而需要在不同環境下進行測試,以確保在真實環境下嵌入式軟件的可靠性。

3 嵌入式軟件覆蓋測試原理

嵌入式軟件的開發與傳統軟件很大的不同點在于采用交叉開發方式。開發工具運行在軟件和硬件資源較為豐富的宿主機上,而嵌入式應用程序運行在資源相對稀少的目標機上。因而當對軟件測試時面臨著類似情況:測試工具在宿主機上運行,而被測程序在目標機上運行并產生測試數據,最后通過某種物理/邏輯連接方式傳輸到宿主機上的測試工具那里。

嵌入式軟件覆蓋測試的基本原理如圖1所示。

圖1 嵌入式軟件覆蓋測試原理

4 嵌入式軟件覆蓋測試關鍵技術

4.1 源代碼分析技術

程序分析是軟件測試的重要方法之一[7]。首先對待測程序源代碼進行靜態分析,從而提取出函數名稱、參數類型、返回類型等結構信息,最后將收集到的程序結構信息以某種易于分析和檢索的格式存儲,即可得到抽象語法樹(Abstract Syntax Tree,縮寫為AST)。

抽象語法樹是源程序經過詞法分析[8]、語法分析和語義分析后逐步產生的。語法樹的構造過程如圖2所示。

圖2 抽象語法樹的構造過程

抽象語法樹由不同類型的節點組成,每種節點代表了一種不同的語法結構。節點類型包括名字節點、表達式節點、語句節點、聲明節點、復合語句、類型節點、函數聲明節點、函數體節點等等。抽象語法樹反應了程序結構,由它可以生成程序的控制流圖,它也包含了很多程序關鍵信息,這些信息可供后續環節進一步使用。

4.2 插樁技術

插樁技術能夠根據用戶需求,記錄待測程序在運行過程中的運行狀態,是軟件測試的有效方法。主要內容是:在保證待測程序邏輯完整性的基礎上,在其源代碼中植入探針函數。探針函數是一個子過程調用,調用的子過程能在運行到插樁點時記錄有關信息,采集被測軟件運行時程序的運行特征數據。基于對這些特征數據的分析,可以揭示程序的內部行為和特征[10]。插樁技術既要保證收集足夠的測試過程信息,又要盡可能減少代碼膨脹率以減小插樁對被測程序執行效率的影響。

插樁技術包括以下4個階段:①插樁植入。依據源代碼分析獲得的程序結構信息和覆蓋原則確認插樁位置,插入對應的探針函數;②編譯鏈接。對插樁后的源程序代碼進行編譯鏈接,生成可執行文件;③程序執行。執行被測程序,在執行過程中之前插入的探針函數會將產生的程序控制流和數據流信息等測試數據記錄下來;④數據分析。將之前探針函數記錄的測試數據與源程序進行匹配,根據相應的方法獲得相應的覆蓋率。

根據測試要求可以采用不同的插樁策略,每次在不同的位置插入相應的探針。每次只是插入有限的探針,提高插樁效率,同時降低程序執行的開銷。插樁位置的選擇必須建立在確保插樁后的程序可以正確運行的基礎上。主要的插樁策略包括:

(1)語句覆蓋插樁策略。對程序進行基于塊的劃分,塊是一段順序執行的程序語句序列,只要塊中的任意一條語句被執行,則整個塊都會被執行,因此在每個塊的入口處,插入探針函數,在程序執行過程中跟蹤該塊是否有執行。

(2)分支覆蓋插樁策略。對于源程序中的每個分支,在其不同的跳轉語句處植入相應的探針,在程序執行過程中跟蹤該分支是否有執行。

(3)條件覆蓋插樁策略。在if、switch、while、do-while、for幾種條件語句的布爾表達式處插入探針,在程序執行過程中跟蹤該條件是否執行。

5 結語

隨著計算機硬件技術和軟件技術的發展,嵌入式軟件結構日益復雜,因此對嵌入式軟件的測試尤為必要,對嵌入式軟件測試質量和效率的提升值得研究。本文總結了當前嵌入式軟件測試的3種主要環境,分析了嵌入式軟件測試特點,闡述了覆蓋測試基本原理,最后介紹了嵌入式軟件覆蓋測試所涉及的主要技術:源代碼分析技術和插樁技術,能夠對嵌入式軟件測試相關研究提供一些參考。

[1] EBERT C,JONES C.Embedded software:facts,figures and future[J].IEEE Computer,2009,42(4):42-52.

[2] YIN Y,LIU B.A method of test case automatic generation for embedded software[C].International Conference on Information Engineering and Computer Science,2009:1-5.

[3] 郭群.嵌入式軟件測試設計技術[J].微處理機,2008,29(4):104-106.

[4] BROEKMAN B,NOTENBOOM E.Testing embedded software[M].Pearson Education,2003.

[5] 蔡建平,沈琦,謝會東.嵌入式軟件測試實用技術[M].北京:清華大學出版社,2010.

[6] KIM J E,MOSSE D.Generic framework for design,modeling and simulation of cyber physical systems[J].ACM SIGBED Review,2008,5(1):1-5.

[7] 蔡虹,沈雷,李永紅.基于覆蓋測試的嵌入式軟件自動裁剪[J].計算機工程,2010(1):73-75.

[8] 陳火旺,劉春林,譚慶平,等.程序設計語言編譯原理[M].北京:國防工業出版社,2010.

[9] HUANG J C.Program instrumentation and software testing[J].Computer,1978(4):25-32.

(責任編輯:孫 娟)

Review of the Embedded Software Coverage Testing

With the software application domain continue to expand, the embedded system has been fully developed and widely used. As an important part of embedded system, the embedded software quality has attracted great attention of all parties. Three main testing environment for embedded software are elaborated. The characteristics of embedded software testing are analyzed. Also the fundamental principle of embedded software testing is emphasized. Finally the key technologies of embedded software coverage testing are introduced, including source code analysis and instrumentation technology.

Embedded Software; Software Testing; Coverage Testing

郭旺(1990-),男,陜西韓城人,碩士,西南大學數學與統計學院助理實驗師,研究方向為軟件工程、軟件測試。

10.11907/rjdk.162658

TP301

A

1672-7800(2017)003-0179-03

猜你喜歡
程序環境系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
長期鍛煉創造體內抑癌環境
一種用于自主學習的虛擬仿真環境
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
孕期遠離容易致畸的環境
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
環境
“程序猿”的生活什么樣
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
主站蜘蛛池模板: 欧美视频在线第一页| 欧美中文字幕一区二区三区| 国产成人精品一区二区三区| AV无码一区二区三区四区| 99久久精品免费看国产免费软件| 亚洲浓毛av| 99精品视频九九精品| 一级黄色网站在线免费看| 91久久国产综合精品女同我| 她的性爱视频| 国产精品国产三级国产专业不| 国产熟女一级毛片| 999精品色在线观看| 91亚洲精选| 人妻21p大胆| 欧美成人手机在线观看网址| 手机精品福利在线观看| 精品久久久无码专区中文字幕| 在线观看国产黄色| 中字无码精油按摩中出视频| 亚洲美女高潮久久久久久久| 9999在线视频| 国产va视频| 国内精自视频品线一二区| 国产精品极品美女自在线网站| 国产性精品| 久久精品免费国产大片| 亚洲第一色视频| 国产成人1024精品下载| 国产午夜精品一区二区三| 国外欧美一区另类中文字幕| 精品福利网| 久久超级碰| 狠狠躁天天躁夜夜躁婷婷| 狠狠色狠狠色综合久久第一次 | 亚洲日韩精品无码专区97| 三级国产在线观看| 国产日韩AV高潮在线| 成人免费网站在线观看| 在线精品亚洲一区二区古装| 欧美成人二区| 亚洲成人在线网| 91久久精品国产| 国产va在线| 欧洲精品视频在线观看| 国产成人一二三| 国产成人精品高清在线| 国产精品久久久久久久久kt| 国产成人精品高清在线| 久久香蕉国产线看观| 亚洲精品视频网| 亚洲天堂精品视频| 欧美成在线视频| 国产无码网站在线观看| 四虎精品黑人视频| 国产拍揄自揄精品视频网站| 在线观看亚洲精品福利片| 亚洲最大综合网| 激情无码字幕综合| 福利国产在线| 亚洲成网777777国产精品| 一区二区日韩国产精久久| 亚洲欧美日韩久久精品| 欧美午夜精品| 麻豆国产精品一二三在线观看| 日本欧美一二三区色视频| 国产一线在线| 国产交换配偶在线视频| 伊人激情久久综合中文字幕| 天天色综合4| 伊人色在线视频| 网久久综合| 久久久久免费精品国产| 欧美一区二区丝袜高跟鞋| 亚洲精品777| 国产玖玖视频| 一区二区三区在线不卡免费| 大陆精大陆国产国语精品1024| 欧美一区二区三区不卡免费| 亚洲综合精品第一页| 无码aⅴ精品一区二区三区| 国产精品无码制服丝袜|