• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      MC/DC準(zhǔn)則基礎(chǔ)下的嵌入式軟件測試

      2020-11-16 02:11:06閆曉艷
      數(shù)碼世界 2020年10期
      關(guān)鍵詞:測試技術(shù)嵌入式軟件

      閆曉艷

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

      關(guān)鍵詞:MC/DC準(zhǔn)則;嵌入式軟件;測試技術(shù)

      引言

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

      1 嵌入式軟件測試要求與MC/DC準(zhǔn)則概念

      1.1嵌入式軟件測試要求

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

      1.1.1靜態(tài)代碼分析

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

      1.1.2動態(tài)覆蓋測試

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

      1.2 MC/DC準(zhǔn)則概念

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

      2 以MC/DC準(zhǔn)則為基礎(chǔ)的嵌入式軟件測試技術(shù)方案

      2.1基本原理

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

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

      2.2測試技術(shù)方案

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

      2.2.1 MC/DC準(zhǔn)則嵌入式軟件測試方案

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

      2.2.2 MC/DC準(zhǔn)則嵌入式軟件方案測試流程

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

      3 MC/DC準(zhǔn)則嵌入式軟件測試技術(shù)方案驗證

      3.1測試案例

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

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

      3.2測試驗證

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

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

      4 結(jié)語

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

      參考文獻

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

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

      猜你喜歡
      測試技術(shù)嵌入式軟件
      基于人工智能的模塊化嵌入式軟件開發(fā)研究
      實時嵌入式軟件的測試技術(shù)
      電子測試(2018年10期)2018-06-26 05:54:08
      全景相機遙控器嵌入式軟件V1.0 相關(guān)操作分析
      電子制作(2017年17期)2017-12-18 06:40:56
      大數(shù)據(jù)測試技術(shù)的特點及前景研究
      現(xiàn)代測試技術(shù)在機械類本科測試技術(shù)教學(xué)中的滲透
      科技視界(2016年23期)2016-11-04 23:19:30
      常用電化學(xué)研究方法及技術(shù)
      科技視界(2016年23期)2016-11-04 10:07:18
      測試技術(shù)課程內(nèi)容的教學(xué)改革
      機械工程測試技術(shù)教學(xué)改革方法初探
      基于Eclipse的航天嵌入式軟件集成開發(fā)環(huán)境設(shè)計與實現(xiàn)
      航天嵌入式軟件浮點運算誤差分析與控制
      壶关县| 福海县| 延庆县| 肇庆市| 五指山市| 板桥市| 宾阳县| 行唐县| 平度市| 时尚| 都昌县| 比如县| 绵竹市| 甘南县| 河北区| 江口县| 鄢陵县| 将乐县| 乌审旗| 嫩江县| 浙江省| 集安市| 商洛市| 延安市| 汪清县| 古浪县| 济源市| 望江县| 皮山县| 巨野县| 双鸭山市| 镇康县| 扎赉特旗| 理塘县| 西城区| 烟台市| 治县。| 兴隆县| 闽清县| 肇庆市| 莱西市|