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

MC/DC準則基礎下的嵌入式軟件測試

2020-11-16 02:11:06閆曉艷
數碼世界 2020年10期

閆曉艷

摘要:MC/DC準則是現行軟件覆蓋率的驗證準則,具有高安全性、實用性及有效性強的特點,被廣泛應用于嵌入式軟件獨立測試當中,應用時可以結合該準則及嵌入式軟件測試要求構建測試技術方案,經測試可知嵌入式軟件在MC/DC準則中的覆蓋率,覆蓋率越高則代表軟件越優秀,否則反之。本文將對嵌入式軟件測試要求與MC/DC準則概念進行論述,并提出一種以MC/DC準則為基礎的嵌入式軟件測試技術方案,驗證該方案的有效性。

關鍵詞:MC/DC準則;嵌入式軟件;測試技術

引言

嵌入式軟件與嵌入主體本質上是兩個個體,嵌入式軟件與嵌入主體不匹配,可能造成巨大的負面影響,導致系統主體的穩定性大幅下降,因嵌入式軟件問題,使得系統主體出現可靠性、安全性上的問題,在嵌入式軟件嵌入系統主體之前,必須對軟件進行測試,確保軟件嵌入不會對系統造成負面影響。嵌入式軟件作為獨立開發軟件程序,其測試不能依照傳統方法來進行,必須在專門的準則及環境中開展,這時MC/DC準則(Modified Condition/Decision Coverage,修訂的條件/判定覆蓋)就提供了一種可用于嵌入式軟件測試的環境,對此進行研究可以利用該準則對不同嵌入式軟件進行測試,此舉具有一定現實意義。

1 嵌入式軟件測試要求與MC/DC準則概念

1.1嵌入式軟件測試要求

嵌入式軟件本身具有實時性、可移植性強,軟硬件可靈活調整,硬件平臺及操作系統多樣,缺陷不易修復,成本昂貴的特征,這些特征使得其在測試中對測試技術有較高的要求,一般不能采用單一技術進行測試,需要將整個測試流程分為不同階段,再針對各個階段設定測試技術,最終形成測試技術綜合方案來進行測試。根據嵌入式軟件本身特征及測試技術要求,通常可以將測試流程分為分析階段、設計階段、實現階段、驗證階段四個部分,以IV&V(Independent Verification and Validation,獨立驗證與確認)為測試導向,采用靜態代碼分析/動態覆蓋測試技術方案,針對各階段采用相關方法進行覆蓋測試,具體如下。表1為靜態代碼分析/動態覆蓋測試技術方案概況。

1.1.1靜態代碼分析

靜態代碼分析是嵌入式軟件最基本的測試策略,主要目的是檢查嵌入式軟件源代碼是否正確、質量如何,分析可以分為兩個步驟:①通過人工逐條觀察嵌入式軟件的源代碼,對照編碼規范進行檢查,確認源代碼中沒有錯誤代碼(如果代碼編制存在語法等方法的基本錯誤也需要指出);(2)在確認源代碼正確的情況下,需要對代碼進行語義、數據流進行分析,若源代碼在這兩個層面存在誤差(如語義描述不準確)則必須在需求、設計等階段盡快調整。

1.1.2動態覆蓋測試

與靜態代碼分析不同,動態覆蓋測試需要在嵌入式軟件運行的狀態下進行,主要涉及到兩種測試方法,分別為黑盒測試、白盒測試。黑盒測試主要用于嵌入式軟件的功能測試中,可知軟件功能的覆蓋率,若測試結果顯示軟件功能覆蓋率未達到100%就必須進行修補,若軟件功能覆蓋率達到100%則進行白盒測試。

1.2 MC/DC準則概念

根據靜態代碼分析/動態覆蓋測試技術方案可知,通過這種方案單獨對嵌入式軟件進行測試,可知嵌入式軟件在IV&V中的需求覆蓋、結構覆蓋表現,前者代表軟件內所有目標函數是否被正確執行,則代表軟件源代碼是否充分及可實現性如何,在測試當中存在相輔相成關系,通過完整測試可判斷嵌入式軟件是否嚴格、是否完整。可見兩個覆蓋測試步驟是分開的,說明靜態代碼分析/動態覆蓋測試技術方案在單獨應用中會忽略條件覆蓋與判定覆蓋相組合的情況,代表該測試方法有缺陷。這一條件下MC/DC準則就對此進行了優化,即MC/DC準則的核心在于條件/判定覆蓋,主要以條件覆蓋結果為基礎,以優化軟件結構為目的提出結構覆蓋準則,受該準則影響,測試中需要對嵌入式軟件代碼內的所有可能都進行至少一次的輸入/輸出取值,所有覆蓋條件都進行輸出,輸出結果應當覆蓋所有可能,若輸出結果中沒有某個可能的結果,則說明軟件覆蓋率不足100%,存在缺陷。

2 以MC/DC準則為基礎的嵌入式軟件測試技術方案

2.1基本原理

關于MC/DC準則原理,首先要設定條件判定語句,通常使用布爾操作符構成布爾表達式,通過多個布爾表達式可構成條件判定語句,隨之將每個判定中的條件均視為不同條件(即使是相同條件多次出現于相同判定中,所有條件也被視為不同條件),由此進行判定。其次根據條件判定語句,對布爾表達式進行調整,比較常見的A and B就是邏輯布爾表達式,其中A、B均為布爾變量,可取值為{0,1},整體可輸出結果C,結果C代表A and B的完備測試用例集。表2為MC/DC準則條件判定語句A and B邏輯與測試集。

根據表2,組別1-2測試中可取條件A的所有取值,要求所有取值均出現一次,在條件B不變的情況下,條件A要具備獨立影響對應判定結果的能力;組別1-3測試中可取條件B的所有取值,要求所有取值均出現一次,且在條件A不變的情況下,條件B要具備獨立影響對應判定結果的能力,由此取得組別1-2-3交集生成邏輯、最小測試用例集。組別7-8測試中可取條件A的所有取值,要求所有取值均出現一次,在條件B不變的情況下,條件A要具備獨立影響對應判定結果的能力;組別6-8測試中可取條件B的所有取值,要求所有取值均出現一次,在條件A不變的情況下,條件B要具備獨立影響對應判定結果的能力,由此取得組別6-7-8交集生成邏輯、最小測試用例集。

2.2測試技術方案

根據MC/DC準則的基本原理,下文將提出MC/DC準則嵌入式軟件測試方案,并接受方案測試流程。

2.2.1 MC/DC準則嵌入式軟件測試方案

因為MC/DC準則的泛用性較強,且測試性能優異,所以經過長期研究出現了很多支持MC/DC準則測試的自動化測試工具,例如Cantata++、VectorCAST,兩者均可實現自動化MC/DC準則度量。這一條件下,本文出于便捷性考慮選擇了VectorCAST(因VectorCAST可應用于比較常見的Windows、Linux開發平臺,所以適用性更好,應用更加便捷),使用該工具即可進行嵌入式軟件MC/DC準則測試。

2.2.2 MC/DC準則嵌入式軟件方案測試流程

雖然利用VectorCAST即可進行測試,但測試之前必須做好流程規劃工作,對此在本文測試方案中測試流程可以分為四個步驟:①在VectorCAST基礎上創立工作環境,將待測試嵌入式軟件源代碼導入,實現條件判定語句及MC/DC插樁,并分離出具有獨立影響能力的布爾表達式;②確認每個獨立影響布爾表達式的真值,可得每個表達式的最小測試集,根據測試需求將所有最小測試集集成,可得最小測試用例集;③腳本編寫后執行最小測試用例集,對測試結果進行分析,可知軟件是否存在缺陷。

3 MC/DC準則嵌入式軟件測試技術方案驗證

3.1測試案例

選擇某塑料光譜分選打包控制系統作為測試案例(該系統為嵌入式軟件),使用MC/DC準則嵌入式軟件測試技術方案進行測試。該系統主控(包括光譜儲料倉A閥門、光譜儲料倉B閥門)及打包(大件打包C閥門、小件打包D閥門)系統控制配有狀態指示燈,根據指示燈顏色不同代表不同含義,藍色燈為閥門閉合狀態、綠色燈為閥門正常開啟狀態、紅色燈為物料阻塞狀態),系統需要根據閥門電路狀態對指示燈進行控制。依照系統設計,本文對其進行了剖析,獲取了電路狀態表達式,具體如下:

if(ValveA->SelectedⅡValveB->Selected)&&(ValveC->SelectedⅡValveD->Selected)then ValveSetStatus(Open);else;ValveSetStatus(Close)

3.2測試驗證

該系統表達式本質上不屬于布爾表達式,因此無法直接應用于MC/DC準則檢測當中,必須先進行簡化,對此依照準則原理本文將其簡化為相關布爾表達式,即if(A or B)and(C or D)then Statement1;else;Statement2,式中A、B、C、D分別代表了一種電路狀態,與相關提示等顏色對應,隨后考慮到測試驗證的便捷性,需要對該表達式進行進一步簡化,再針對布爾表達式進一步簡化,可得Z=X and Y,式中X代表A or B、Y代表C or D。其次依照簡化后得布爾表達式,獲取系統中獨立影響結果的最小測試集(見表3)進行測試。

依照表3進行方案設置(詳見2.2測試技術方案-MC/DC準則嵌入式軟件測試方案),完成后進行1-5、1-3、2-4、2-3四個組別的測試,要求1-5組別中條件A具有獨立影響判定結果的能力;1-3組別中條件B具有獨立影響判定結果的能力;2-4組別中條件C具有獨立影響判定結果的能力;2-3組別中條件D具有獨立影響判定結果的能力,這一基礎上可得組別1-2-3-4-5測試用例。結果顯示四組測試均可生成最小測試集,代表該系統MC/DC準則下的覆蓋率達到100%,系統可靠性、穩定性良好。

4 結語

本文對基于MC/DC準則的嵌入式軟件測試技術進行了研究,闡述了嵌入式軟件測試要求與MC/DC準則概念,并以MC/DC準則設計了測試技術方案,同時對方案進行了驗證。通過文中設計方式可得MC/DC準則嵌入式軟件測試技術方案,該方案在驗證中具有完整性強、測試準確率高的特點,可起到對嵌入式軟件進行全面測試,獲取其覆蓋率的作用。

參考文獻

[1]葛德明.實時嵌入式軟件的測試技術[J].電子測試,2018,000(010):88-89.

[2]謝祥南,魏延棟.耦合條件的MC/DC測試用例集生成算法[J].計算機系統應用,2017(06):166-171.

主站蜘蛛池模板: 日本高清免费不卡视频| 国产精品页| 亚洲欧美精品在线| 91探花国产综合在线精品| 婷婷久久综合九色综合88| 天天干天天色综合网| 亚洲精品大秀视频| 免费毛片在线| 国产精品综合色区在线观看| 亚洲精品无码抽插日韩| 三区在线视频| 午夜影院a级片| 孕妇高潮太爽了在线观看免费| 国产欧美日韩免费| 亚洲黄色片免费看| 日韩国产亚洲一区二区在线观看| 国产成人夜色91| 国产欧美一区二区三区视频在线观看| 妇女自拍偷自拍亚洲精品| 99在线视频网站| 在线高清亚洲精品二区| 91免费观看视频| 国产精女同一区二区三区久| 成人免费黄色小视频| 国产特级毛片aaaaaa| 国产精品久久国产精麻豆99网站| 亚洲Aⅴ无码专区在线观看q| 色综合中文| 四虎国产在线观看| 免费中文字幕在在线不卡| 亚洲日本中文字幕天堂网| 青青草原国产免费av观看| 久久久久人妻一区精品色奶水 | 日韩中文精品亚洲第三区| 视频二区亚洲精品| 国产9191精品免费观看| 露脸一二三区国语对白| 尤物精品视频一区二区三区| 日韩乱码免费一区二区三区| 日本五区在线不卡精品| 毛片免费视频| 伊伊人成亚洲综合人网7777| 成人免费网站久久久| 免费毛片视频| 在线看AV天堂| 亚洲国产日韩欧美在线| 亚洲天堂啪啪| 日韩天堂在线观看| 自慰网址在线观看| 欧美成人国产| 日韩无码视频网站| 香蕉久久国产超碰青草| 国产色婷婷视频在线观看| 狠狠做深爱婷婷综合一区| 国产在线视频自拍| 欧美在线视频不卡| 亚洲人成电影在线播放| 色丁丁毛片在线观看| 韩日午夜在线资源一区二区| 午夜毛片免费观看视频 | 茄子视频毛片免费观看| 暴力调教一区二区三区| 99久久无色码中文字幕| 天天躁夜夜躁狠狠躁图片| 91外围女在线观看| 国产成人综合网| 国产精品亚洲综合久久小说| 国产乱人伦AV在线A| 综1合AV在线播放| 激情国产精品一区| 国产熟睡乱子伦视频网站| 久操中文在线| 午夜免费小视频| 亚洲视频免费播放| 中日韩一区二区三区中文免费视频| 漂亮人妻被中出中文字幕久久| 五月天丁香婷婷综合久久| 一级成人a毛片免费播放| 亚洲国产午夜精华无码福利| 97av视频在线观看| 国产精品免费久久久久影院无码| 九色国产在线|