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

MC/DC準則在嵌入式軟件測試中的應用

2019-07-12 11:07:14陸云峰
自動化儀表 2019年6期

安 媛,陸云峰

(1.國核自儀系統工程有限公司,上海 200241;2.上海申能崇明發電有限公司,上海 202155)

0 引言

隨著核電儀控系統數字化程度的提升,應用于核電儀控系統的嵌入式軟件向復雜化和集成化發展,并能實現硬件的功能。嵌入式軟件在設計、編碼后,要固化在存儲芯片,或者在硬件板卡等硬件環境中才能看見,必須配備專門的開發工具和開發環境。

而嵌入式軟件的安全性和可靠性要求比較高。為了保證系統的穩定性,避免由于其可能出現的失效而導致災難性的后果,要求對嵌入式軟件進行獨立的驗證和確認(independent verification and validation,IV&V)。

嵌入式軟件IV&V過程中,有著嚴格的體系標準和驗證流程。因此,在軟件的各個生命周期內因地制宜地調整測試方法和策略,可提高和改善嵌入式軟件的質量。

修正的條件/判定覆蓋(modified condition decision coverage,MC/DC)準則是一種實用的軟件結構覆蓋率測試準則,由波音公司提出,并被RTAC/DO-178B(機載系統和設備合格審定中的軟件)所采納。其目前被廣泛應用于嵌入式軟件IV&V過程中。

1 嵌入式軟件測試特點

嵌入式軟件的主要特點是實時性、可移植性以及軟硬件可裁剪;應用的硬件平臺及操作系統具有多樣性,開發工具昂貴,缺陷不容易修復等特點。

針對以上嵌入式軟件特點,在IV&V的需求分析階段、設計階段、實現階段以及驗證階段,需要采用不同的測試策略。本文主要采用的是靜態代碼分析和動態測試方法相結合的策略[1]。

靜態測試時不需要運行軟件,主要分為代碼審查和靜態代碼分析,通過人工審查和測試工具檢測相結合的方式,完成編碼規范檢查、語法和語義分析、數據流分析等。在需求、設計和實現階段盡早地檢查出錯誤,以減少整個項目的開發成本[2]。

動態測試時軟件需要運行在目標環境中,分為黑盒測試和白盒測試兩種測試類型。黑盒測試主要進行功能檢測,功能全覆蓋后利用白盒測試實現軟件代碼的覆蓋測試,從而進一步提高軟件的質量和可靠性。

覆蓋測試貫穿于單元測試、軟件集成測試、系統測試,通過構造測試實例,運行被測程序,檢查運行結果與預期結果的差異,從而達到測試程序內部邏輯結構的目的[3]。

軟件測試方法分類如圖1所示。

圖1 軟件測試方法分類圖

2 MC/DC的基本概念

在嵌入式軟件的IV&V過程中需要進行兩種覆蓋驗證,即需求覆蓋和結構覆蓋。通過需求覆蓋,驗證所有目標函數被正確地執行;通過結構覆蓋,驗證軟件代碼的可達性和充分性。

兩種覆蓋分析相輔相成,建成完備的IV&V體系,實現軟件測試的嚴格性和完全性。條件判定語句由高安全性的實時嵌入式軟件基本語句構成,用于實現各種邏輯控制與實時數據處理。條件判定語句占嵌入式軟件代碼的50%以上。實現條件判定覆蓋是保證結構覆蓋的基礎[4]。

條件判定覆蓋要求同時滿足條件覆蓋和判定覆蓋。條件覆蓋是指每個條件的任何可能取值至少執行一次。判定覆蓋是指每個判定結果也要至少執行一次。但是,條件判定覆蓋卻忽略了兩者組合的情況。

MC/DC修正的條件/判定覆蓋是在條件判定覆蓋的基礎上,實現的一種優化結構覆蓋準則。該準則要求代碼中所有可能輸入輸出取值一次,每個條件必須產生所有可能的輸出結果至少一次,并且每個判定中的每個條件必須能夠獨立影響一個判定的輸出,即在其他條件不變的前提下僅改變這個條件的值,從而使判定結果改變[5]。

條件判定語句由多個布爾表達式通過布爾操作符(如and,or,not等)組成。布爾表達式由關系操作符(如“>”,“<”,“=”等)構成。相同的條件在一個判定中出現多次,則每次出現均視為不同的條件。布爾表達式中最基本就是邏輯與操作符與邏輯或操作符,任何復雜的布爾表達式均可視為“and”和“or”最簡布爾表達式的邏輯組合。

邏輯與布爾表達“A and B”中,A和B均為布爾變量,取值為{0,1},C = A and B的完備測試用例集。邏輯與測試集如表1所示。

表1 邏輯與測試集

{1,2}組測試用例中條件A的所有取值均出現一次,條件A在條件B不變的情況下獨立地影響判定的結果。

{1,3}組測試用例中條件B的所有取值均出現一次,條件B在條件A不變的情況下獨立地影響判定的結果。

因此,取交集{1,2,3}生成邏輯與的最小測試用例集。

邏輯或布爾表達 “A or B”中,A和B均為布爾變量,取值為{0,1},C = A or B的完備測試用例集。邏輯或測試集如表2所示。

{7,8}組測試用例中條件A的所有取值均出現一次,條件A在條件B不變的情況下獨立地影響判定的結果。

{6,8}組測試用例中條件B的所有取值均出現一次,條件B在條件A不變的情況下獨立地影響判定的結果。

因此,取交集{6,7,8}生成邏輯或的最小測試用例集。

表2 邏輯或測試集

最小測試集是實現MC/DC結構覆蓋的基礎,根據最小測試集建立最小測試集用例,從而完成MC/DC覆蓋測試。

3 基于工具的MC/DC測試應用

隨著嵌入式實時系統的廣泛應用,MC/DC覆蓋率指標被越來越多的監管機構與認證機構認可。很多軟件自動化測試工具中都支持MC/DC覆蓋率度量方法,如Cantata++,VectorCAST等。

VectorCAST是主要用于C/C++/Ada程序的自動化測試軟件,可以應用于Windows和Linux等多種開發平臺。最大程度的自動化和更適用于嵌入式環境,是該平臺最大的特點和優勢。使用VectorCAST輔助進行MC/DC覆蓋測試用例設計和執行分析的流程步驟如下。

①在VectorCAST中創建工程環境,導入測試源碼,完成語句和MC/DC插樁,分離出獨立影響的布爾表達式。

②通過獨立影響條件的真值表獲取每個表達式的最小測試集,并結合需求完成測試用例設計。

③編寫腳本,執行測試用例,分析測試結果,完成缺陷追蹤。

④VectorCAST自動生成覆蓋率報告。

以某核電儀控系統的RCS頂蓋排氣閥控制子系統為例,基于VectorCAST完成MC/DC覆蓋測試,閥門分為電動閥、爆破閥、電磁閥以及調節閥。每類閥門的狀態分為使能、掛牌、打開、關閉,并用黃、紅、粉、綠四種顏色表示。

程序中關于閥門狀態的表達式如下:

If (ValveA->Selected II ValveB->Selected)&& (ValveC->Selected II ValveC->Selected) then

ValveSetStatus(Open);

else

ValveSetStatus(Close);

簡化為if (A or B) and (C or D) then

Statement1;

else

Statement2;

該表達式可以進一步簡化為 Z = X and Y。其中:X=A or B,Y=C or D。

某核電儀控系統RCS頂蓋排氣閥控制子系統的邏輯結構如圖2所示。

圖2 頂蓋排氣閥控制子系統邏輯結構圖

根據以上基本邏輯與或的分析,可獲取獨立影響結果的最小子集,即可得到MC/DC的最小測試用例集。

頂蓋排氣閥控制子系統最小測試集如表3所示。

表3 頂蓋排氣閥控制子系統最小測試集

{1,5}為條件A獨立影響判定結果,{1,3}為條件B獨立影響判定結果,{2,4}為條件C獨立影響判定結果,{2,3}為條件D獨立影響判定結果。即{1,2,3,4,5}5個測試用例生成的最小測試集就可以達到MC/DC的100%覆蓋率。相比于16個測試用例完成的全代碼覆蓋,其數量減少了約70%,有效地提高了驗證效率,節約了驗證成本。

在VectorCAST建立測試工程,選擇statement和MC/DC覆蓋準則插樁源碼,基于最小測試集方法創建相應的測試用例集,編譯運行后可以得到MC/DC的覆蓋率報告。

表4為頂蓋排氣閥系統相關測試模塊的覆蓋率信息,其中最后一列為MC/DC覆蓋率情況。由此可見,最小測試集方法可以實現MC/DC的100%覆蓋測試。

表4 MC/DC 覆蓋率信息

4 結束語

MC/DC覆蓋作為軟件結構覆蓋測試準則之一。在高安全性和高可靠性的嵌入式軟件Level A認證過程中,DO-178B、IEC61508是強制要求遵守的標準。語句覆蓋和MC/DC覆蓋相結合,可以有效地檢出軟件錯誤,從而提高軟件的安全等級。隨著越來越多的國際認證機構對MC/DC覆蓋的認可,MC/DC得到了廣泛應用。

主站蜘蛛池模板: 91国内在线观看| 毛片网站在线看| 激情无码字幕综合| 91九色视频网| 精品国产自| 1024国产在线| 亚洲国产清纯| 欧美 亚洲 日韩 国产| 一本综合久久| aa级毛片毛片免费观看久| 亚洲精品黄| 国产人免费人成免费视频| 91亚瑟视频| 制服丝袜国产精品| 国产欧美日韩va另类在线播放| 亚洲人成网址| 伊人激情久久综合中文字幕| 99精品热视频这里只有精品7| 国产在线精品人成导航| 天天爽免费视频| 日韩福利视频导航| 亚洲天堂网站在线| 国产精品视频999| 正在播放久久| 国产自在线拍| 色有码无码视频| 亚洲VA中文字幕| 亚洲一区二区三区香蕉| 日本a级免费| 3344在线观看无码| 亚洲一区二区日韩欧美gif| 亚洲电影天堂在线国语对白| 日本伊人色综合网| 国产精品爽爽va在线无码观看| 欧美日韩北条麻妃一区二区| 久久人人妻人人爽人人卡片av| 国产精品露脸视频| 久久99热这里只有精品免费看| 日本不卡在线播放| 国产原创演绎剧情有字幕的| aⅴ免费在线观看| 97视频免费看| 免费黄色国产视频| 欧美日韩精品一区二区在线线| 成人福利一区二区视频在线| 亚洲天堂网2014| 亚洲天堂福利视频| 国产高清精品在线91| 久久综合色天堂av| 日本亚洲成高清一区二区三区| 久久青草免费91线频观看不卡| 99国产精品国产高清一区二区| 激情成人综合网| 国产成人艳妇AA视频在线| 无码中文字幕精品推荐| 中文一级毛片| a色毛片免费视频| 最新国产成人剧情在线播放| 2021精品国产自在现线看| 国产超碰在线观看| 97免费在线观看视频| 丝袜亚洲综合| 亚洲午夜福利在线| 日本尹人综合香蕉在线观看| a级毛片视频免费观看| 成人av专区精品无码国产| 丁香婷婷综合激情| 992tv国产人成在线观看| 乱系列中文字幕在线视频| 男女男精品视频| 久综合日韩| 欧美在线伊人| 久久久无码人妻精品无码| 欧美亚洲日韩中文| 72种姿势欧美久久久久大黄蕉| igao国产精品| 香蕉eeww99国产在线观看| 久久久久青草线综合超碰| 91欧美亚洲国产五月天| 亚洲av无码牛牛影视在线二区| 亚洲自偷自拍另类小说| 毛片视频网址|