• 
    

    
    

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

      基于灰盒技術的嵌入式軟件測試用例設計方法

      2021-12-17 11:19:06王楊段寧璐張耀鋒
      電子測試 2021年22期
      關鍵詞:白盒黑盒嵌入式軟件

      王楊,段寧璐,張耀鋒

      (陜西汽車集團有限責任公司技術中心,陜西西安,710200)

      1 研究背景及意義

      近些年來,嵌入式軟件的規(guī)模及復雜程度急劇增大,尤其在國防、軌道交通、汽車、民航以及工業(yè)控制等領域的用戶對嵌入式軟件質(zhì)量要求更加嚴格,使用過程中對嵌入式軟件缺陷的容忍度越來越低[1]。因此,如何有效提高嵌入式軟件的質(zhì)量成為目前迫切需要解決的問題。

      眾所周知,軟件測試是保證高質(zhì)量、高可靠性軟件的重要手段,對嵌入式軟件來說更是如此。嵌入式軟件測試常使用的測試技術包括:黑盒測試技術與白盒測試技術。黑盒測試又稱為功能測試,這類測試方法根據(jù)軟件的用途和外部特征查找軟件缺陷;黑盒測試最大的優(yōu)勢在于不需要了解程序內(nèi)部結(jié)構(gòu),只需要根據(jù)需求設計相應的測試用例;但是黑盒測試獲得的測試覆蓋率較低,從而無法有力保證被測軟件具有良好的可靠性與安全性。白盒測試又稱結(jié)構(gòu)測試,驗證程序內(nèi)部邏輯結(jié)構(gòu)實現(xiàn)是否正確,測試人員必須了解軟件的內(nèi)部結(jié)構(gòu)和處理流程,根據(jù)程序的內(nèi)部結(jié)構(gòu)查找軟件的缺陷;白盒測試與軟件的覆蓋率有密切關系,能夠?qū)Τ绦騼?nèi)部特定部位進行覆蓋測試,獲得較高的測試覆蓋率;但是單純使用白盒測試會出現(xiàn)對功能需求遺漏測試的現(xiàn)象并且測試效率低。

      有鑒于此,本文提供基于灰盒測試技術的嵌入式軟件測試方法,以將黑白盒測試要素有機結(jié)合起來,應用于面向?qū)ο笤O計的嵌入式軟件單元測試設計與實現(xiàn)。它綜合了白盒測試和黑盒測試的優(yōu)點,克服了部分白盒測試和黑盒測試的缺點,能夠較好地節(jié)約測試成本,提高測試效率[2]。

      2 灰盒技術設計測試用例

      2.1 測試用例設計流程

      本文所闡述的基于灰盒測試技術的嵌入式軟件測試用例設計方法的基本流程(如圖1所示),具體實施過程的解釋說明如下:

      圖1 基于灰盒測試技術的嵌入式軟件測試流程圖

      (1)文擋測試與程序?qū)彶椋菏紫妊凶x擋位切換模塊的軟件需求與詳細設計文擋,熟悉被測對象需要實現(xiàn)的功能與內(nèi)部結(jié)構(gòu),然后對軟件需求與設計文擋進行測試,并且進行包括:整數(shù)溢出、死邏輯、數(shù)組訪問越界、被零除等內(nèi)容的單元模塊靜態(tài)審查。

      (2)軟件單元測試需求分析與提?。旱谝徊酱_定本次測試進行功能測試與結(jié)構(gòu)測試;其次采用灰盒測試思維同時分析和提取基于程序內(nèi)部邏輯的結(jié)構(gòu)測試需求和基于輸入輸出的功能測試需求,并編寫單元測試需求,最后制定測試覆蓋指標。具體設計編寫過程分為以下階段(A、B階段不分先后,可同時進行):

      A.使用基于思維導圖的黑盒設計方法提取功能測試需求:首先根據(jù)設計文擋,確定“明確功能需求”;然后細化測試顆粒度較大的功能,提取“繼承的功能需求”;最后根據(jù)測試人員的測試經(jīng)驗和行業(yè)標準分析出“隱含功能需求”。

      B.使用基于邏輯結(jié)構(gòu)狀態(tài)跳轉(zhuǎn)圖的白盒設計方法提取結(jié)構(gòu)測試需求:通過研讀設計文擋、分析被測模塊的業(yè)務流程跳轉(zhuǎn)過程,了解被測試對象內(nèi)部的基本結(jié)構(gòu),繪制出相應的狀態(tài)結(jié)構(gòu)跳轉(zhuǎn)圖;然后根據(jù)邏輯狀態(tài)跳轉(zhuǎn)圖分析出結(jié)構(gòu)測試路徑(測試場景),從而獲得基于邏輯的結(jié)構(gòu)測試需求。

      (3)軟件測試需求評審:分析與提取完成測試需求后,還要進行測試需求評審,也就是測試人員向設計人員反串講軟件的相關需求和詳細設計,保證測試分析與功能設計之間的一致性,保證編寫的測試需求符合被測對象的業(yè)務邏輯。

      (4)軟件單元測試用例設計:使用灰盒測試思想設計單元測試用例;首先使用黑盒測試用例設計方法-等價類分析法劃分擋位切換模塊的輸入條件,將其分為有效子域和無效子域并選取有代表性的數(shù)值作為測試數(shù)據(jù);接下來使用黑盒測試用例設計方法-因果圖分析法梳理有效等價類或無效等價類之間相互依賴與制約關系(分析輸入條件之間的“與”、“或”、“非”關系),進而得到基于某條測試路徑的因果關系圖;然后將因果圖轉(zhuǎn)換成包括輸入條件和測試結(jié)果的判定表格并根據(jù)生成的判定表設計對應的測試用例;最后,使用基于MC/DC的白盒測試方法(該準則要求代碼中所有可能輸入輸出取值一次,每個條件必須產(chǎn)生所有可能的輸出結(jié)果至少一次,并且每個判定中 的每個條件必須能夠獨立影響一個判定的輸出,即在其他條件不變的前提下僅改變這個條件的值,從而使判定結(jié)果改變[3]。)補充和篩選測試用例,進一步得到擋位切換模塊單元測試用例最優(yōu)解(測試用例數(shù)量少且測試覆蓋率高)。

      2.2 測試用例設計結(jié)果

      選取換擋保護模塊中空擋(N擋)掛入前進擋(D擋)這一測試點(根據(jù)功能規(guī)范文擋分析得到空擋(N擋)換前進擋(D擋)的輸入判定表達式為:踩剎車且車速小于2km/h且擋位由N擋變?yōu)镈擋);使用上述步驟所闡述的測試用例設計與優(yōu)化方法,設計得出如表1和表2所示的N擋切換D擋測試用例判定表和N擋切換D擋測試用例最優(yōu)解。表中A=踩剎車、B=車速小于2km/h、C=擋位由N擋變?yōu)镈擋,其中a表示制動開關信號,b表示制動踏板開度,“0”表示條件不成立,“1”表示條件成立。

      表1 N擋切換D擋測試用例判定表

      表2 N擋切換D擋測試用例最優(yōu)解

      表1為只使用黑盒測試技術設計出的N擋切換D擋測試用例,表2為使用黑白測試技術相結(jié)合的灰盒技術設計出的N擋切換D擋測試用例,通過對比表1與表2測試用例的數(shù)量,就可以看出使用灰盒技術設計出的測試用例數(shù)量明顯下降,并且在后續(xù)測試執(zhí)行中證明依照上述方法設計的測試用例,不僅數(shù)量少并且測試覆蓋率還能達到100%。故按照這一方法,可以逐步得到整個換擋保護模塊的測試用例最優(yōu)解(測試用例數(shù)量少且測試覆蓋率高)。

      3 結(jié)束語

      本文所闡述的基于灰盒測試技術的嵌入式軟件測試用例設計方法有以下創(chuàng)新優(yōu)勢:(1)提取單元測試需求時,使用灰盒測試方法同時分析和提取功能測試需求和結(jié)構(gòu)測試需求,并使二者形成相互映射關系;從而將白盒測試與黑盒測試技術真正的有機融合在一起,而非簡單的組合疊加,保證了需求分析階段在整個嵌入式軟件測試生命周期內(nèi)的一致性和統(tǒng)一性,減少了在測試需求分析階段的損耗,提高了測試的整體效率并擁有更高的置信度。(2)使用灰盒測試思想設計單元測試用例,將黑盒測試用例設計方法和白盒測試用例設計方法有機融合起來,保證最終設計出既能夠滿足設計功能又擁有較高測試覆蓋率的測試用例和測試數(shù)據(jù),從而使所測試的產(chǎn)品具有更高的功能安全等級。

      猜你喜歡
      白盒黑盒嵌入式軟件
      一種基于局部平均有限差分的黑盒對抗攻擊方法
      面向未來網(wǎng)絡的白盒交換機體系綜述
      DWB-AES:基于AES 的動態(tài)白盒實現(xiàn)方法
      通信學報(2021年2期)2021-03-09 08:55:32
      網(wǎng)絡“黑”“白”之爭
      通信世界(2018年29期)2018-11-21 06:34:44
      實時嵌入式軟件的測試技術
      電子測試(2018年10期)2018-06-26 05:54:08
      全景相機遙控器嵌入式軟件V1.0 相關操作分析
      電子制作(2017年17期)2017-12-18 06:40:56
      基于Eclipse的航天嵌入式軟件集成開發(fā)環(huán)境設計與實現(xiàn)
      航天嵌入式軟件浮點運算誤差分析與控制
      基于EEPROM數(shù)據(jù)讀寫的智能電能表白盒測試方法
      電測與儀表(2014年3期)2014-04-04 09:08:08
      永新县| 通海县| 新邵县| 石屏县| 鲁甸县| 宁国市| 白城市| 三都| 米泉市| 将乐县| 土默特左旗| 东平县| 云梦县| 镇安县| 凤城市| 龙岩市| 新源县| 三明市| 驻马店市| 施秉县| 清新县| 福建省| 丰都县| 台东县| 板桥市| 岐山县| 广宗县| 随州市| 威远县| 涿鹿县| 武鸣县| 屯门区| 丰台区| 应用必备| 岳西县| 军事| 高阳县| 江阴市| 凤翔县| 秦皇岛市| 明水县|